@sanity/ui 2.0.0-alpha.9 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.mjs +38 -13
- package/dist/index.d.ts +500 -600
- package/dist/index.esm.js +1243 -6208
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1525 -6286
- package/dist/index.js.map +1 -1
- package/dist/theme.cjs.mjs +54 -0
- package/dist/theme.d.ts +1528 -0
- package/dist/theme.esm.js +4345 -0
- package/dist/theme.esm.js.map +1 -0
- package/dist/theme.js +4400 -0
- package/dist/theme.js.map +1 -0
- package/exports/index.ts +1 -0
- package/exports/theme.ts +1 -0
- package/package.json +89 -68
- package/src/{__workshop__ → core/__workshop__}/constants.ts +4 -5
- package/src/core/__workshop__/fontsPlugin.tsx +36 -0
- package/src/core/_compat.ts +115 -0
- package/src/{components → core/components}/autocomplete/__workshop__/async.tsx +4 -5
- package/src/{components → core/components}/autocomplete/__workshop__/constrainedHeight.tsx +27 -22
- package/src/{components → core/components}/autocomplete/__workshop__/custom.tsx +36 -31
- package/src/{components → core/components}/autocomplete/__workshop__/example.tsx +2 -2
- package/src/{components → core/components}/autocomplete/__workshop__/focusAndBlur.tsx +5 -3
- package/src/{components → core/components}/autocomplete/autocomplete.tsx +7 -1
- package/src/{components → core/components}/dialog/__workshop__/activate.tsx +0 -1
- package/src/{components → core/components}/dialog/__workshop__/layering.tsx +5 -1
- package/src/{components → core/components}/dialog/__workshop__/panes.tsx +2 -7
- package/src/{components → core/components}/dialog/dialog.tsx +34 -96
- package/src/core/components/dialog/styles.ts +76 -0
- package/src/{components → core/components}/hotkeys/hotkeys.tsx +6 -2
- package/src/{components → core/components}/menu/__workshop__/asComponent.tsx +4 -4
- package/src/core/components/menu/__workshop__/avatarMenu.tsx +50 -0
- package/src/{components → core/components}/menu/__workshop__/closableMenuButton.tsx +2 -2
- package/src/{components → core/components}/menu/__workshop__/customMenuItem.tsx +9 -3
- package/src/{components → core/components}/menu/__workshop__/disableFocusOnClose.tsx +2 -2
- package/src/{components → core/components}/menu/__workshop__/index.ts +5 -0
- package/src/{components → core/components}/menu/__workshop__/menuButton.tsx +1 -1
- package/src/{components → core/components}/menu/menu.test.tsx +1 -1
- package/src/{components → core/components}/menu/menu.tsx +2 -0
- package/src/{components → core/components}/menu/menuButton.tsx +3 -1
- package/src/{components → core/components}/menu/menuDivider.ts +1 -2
- package/src/{components → core/components}/menu/menuGroup.tsx +2 -2
- package/src/{components → core/components}/menu/menuItem.tsx +11 -5
- package/src/{components → core/components}/skeleton/styles.ts +7 -8
- package/src/{components → core/components}/skeleton/textSkeleton.tsx +12 -14
- package/src/{components → core/components}/tab/tab.tsx +4 -2
- package/src/{components → core/components}/toast/toast.test.tsx +1 -1
- package/src/{components → core/components}/toast/toast.tsx +13 -4
- package/src/{components → core/components}/tree/__workshop__/tabFromElement.tsx +1 -1
- package/src/{components → core/components}/tree/style.ts +23 -25
- package/src/{components → core/components}/tree/treeItem.tsx +3 -3
- package/src/{constants.ts → core/constants.ts} +1 -0
- package/src/{hooks → core/hooks}/useElementRect/__workshop__/example.tsx +3 -1
- package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/test.tsx +1 -1
- package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.test.tsx +4 -3
- package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.ts +2 -3
- package/src/{index.ts → core/index.ts} +2 -0
- package/src/{lib → core/lib}/isRecord.ts +1 -1
- package/src/{primitives → core/primitives}/_selectable/style.ts +24 -26
- package/src/{primitives → core/primitives}/avatar/__workshop__/asButton.tsx +1 -1
- package/src/{primitives → core/primitives}/avatar/__workshop__/stack.tsx +1 -1
- package/src/{primitives → core/primitives}/avatar/avatar.tsx +49 -30
- package/src/{primitives → core/primitives}/avatar/avatarCounter.tsx +25 -15
- package/src/{primitives → core/primitives}/avatar/avatarStack.tsx +4 -4
- package/src/{primitives → core/primitives}/avatar/styles.ts +21 -12
- package/src/{primitives → core/primitives}/avatar/types.ts +2 -15
- package/src/{primitives → core/primitives}/badge/__workshop__/props.tsx +1 -1
- package/src/{primitives → core/primitives}/badge/__workshop__/tones.tsx +1 -1
- package/src/{primitives → core/primitives}/badge/badge.test.tsx +1 -1
- package/src/{primitives → core/primitives}/badge/badge.tsx +6 -3
- package/src/core/primitives/badge/styles.ts +19 -0
- package/src/{primitives → core/primitives}/badge/types.ts +1 -2
- package/src/{primitives → core/primitives}/box/__workshop__/responsive.tsx +2 -2
- package/src/{primitives → core/primitives}/box/box.tsx +3 -0
- package/src/{primitives → core/primitives}/button/__workshop__/sanityUploadButton.tsx +2 -1
- package/src/{primitives → core/primitives}/button/__workshop__/stacked.tsx +1 -1
- package/src/{primitives → core/primitives}/button/button.test.tsx +1 -1
- package/src/{primitives → core/primitives}/button/button.tsx +12 -9
- package/src/core/primitives/button/styles.ts +116 -0
- package/src/{primitives → core/primitives}/card/__workshop__/asButton.tsx +6 -6
- package/src/{primitives → core/primitives}/card/__workshop__/asComponent.tsx +1 -1
- package/src/{primitives → core/primitives}/card/__workshop__/selected.tsx +18 -27
- package/src/{primitives → core/primitives}/card/card.tsx +12 -43
- package/src/{primitives → core/primitives}/card/styles.ts +31 -45
- package/src/{primitives → core/primitives}/card/types.ts +1 -3
- package/src/{primitives → core/primitives}/checkbox/__workshop__/example.tsx +1 -1
- package/src/{primitives → core/primitives}/checkbox/__workshop__/props.tsx +1 -1
- package/src/{primitives → core/primitives}/checkbox/__workshop__/readOnly.tsx +1 -1
- package/src/{primitives → core/primitives}/checkbox/checkbox.tsx +2 -0
- package/src/{primitives → core/primitives}/checkbox/styles.ts +23 -23
- package/src/{primitives → core/primitives}/code/code.tsx +4 -15
- package/src/core/primitives/code/styles.ts +77 -0
- package/src/{primitives → core/primitives}/container/container.tsx +2 -0
- package/src/{primitives → core/primitives}/container/styles.ts +2 -3
- package/src/{primitives → core/primitives}/flex/flex.tsx +2 -1
- package/src/{primitives → core/primitives}/grid/grid.tsx +2 -0
- package/src/{primitives → core/primitives}/heading/heading.tsx +3 -1
- package/src/{primitives → core/primitives}/heading/styles.ts +9 -8
- package/src/{primitives → core/primitives}/inline/inline.tsx +3 -0
- package/src/{primitives → core/primitives}/inline/styles.ts +6 -6
- package/src/{primitives → core/primitives}/kbd/kbd.tsx +10 -4
- package/src/{primitives → core/primitives}/label/label.tsx +3 -1
- package/src/{primitives → core/primitives}/label/styles.ts +6 -6
- package/src/{primitives → core/primitives}/popover/__workshop__/RecursiveStory.tsx +2 -9
- package/src/{primitives → core/primitives}/popover/__workshop__/TestStory.tsx +6 -3
- package/src/{primitives → core/primitives}/popover/constants.ts +3 -2
- package/src/{primitives → core/primitives}/popover/helpers.ts +3 -4
- package/src/{primitives → core/primitives}/popover/popover.tsx +19 -11
- package/src/{primitives → core/primitives}/popover/popoverCard.tsx +24 -22
- package/src/{primitives → core/primitives}/popover/types.ts +1 -1
- package/src/{primitives → core/primitives}/radio/radio.tsx +2 -0
- package/src/{primitives → core/primitives}/radio/styles.ts +17 -19
- package/src/{primitives → core/primitives}/select/select.tsx +4 -2
- package/src/{primitives → core/primitives}/select/styles.ts +32 -33
- package/src/{primitives → core/primitives}/spinner/spinner.tsx +2 -0
- package/src/{primitives → core/primitives}/stack/stack.tsx +2 -0
- package/src/{primitives → core/primitives}/stack/styles.ts +2 -3
- package/src/{primitives → core/primitives}/switch/__workshop__/example.tsx +1 -1
- package/src/core/primitives/switch/__workshop__/props.tsx +21 -0
- package/src/{primitives → core/primitives}/switch/styles.ts +18 -21
- package/src/{primitives → core/primitives}/switch/switch.tsx +4 -0
- package/src/core/primitives/text/__workshop__/colored.tsx +29 -0
- package/src/{primitives → core/primitives}/text/styles.ts +18 -14
- package/src/{primitives → core/primitives}/text/text.tsx +4 -1
- package/src/{primitives → core/primitives}/textArea/__workshop__/plain.tsx +1 -1
- package/src/{primitives → core/primitives}/textArea/textArea.tsx +15 -7
- package/src/{primitives → core/primitives}/textInput/__workshop__/plain.tsx +1 -1
- package/src/{primitives → core/primitives}/textInput/__workshop__/states.tsx +3 -3
- package/src/{primitives → core/primitives}/textInput/textInput.tsx +22 -12
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +99 -0
- package/src/core/primitives/tooltip/__workshop__/index.ts +29 -0
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +73 -0
- package/src/{primitives → core/primitives}/tooltip/__workshop__/props.tsx +3 -20
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +85 -0
- package/src/core/primitives/tooltip/conditionalWrapper.tsx +15 -0
- package/src/core/primitives/tooltip/constants.ts +23 -0
- package/src/{primitives → core/primitives}/tooltip/tooltip.test.tsx +192 -20
- package/src/{primitives → core/primitives}/tooltip/tooltip.tsx +202 -79
- package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +4 -10
- package/src/{primitives → core/primitives}/types.ts +4 -0
- package/src/core/styles/border/borderStyle.ts +55 -0
- package/src/{styles → core/styles}/box/boxStyle.ts +5 -9
- package/src/core/styles/card/_cardColorStyle.ts +99 -0
- package/src/core/styles/card/index.ts +1 -0
- package/src/{styles → core/styles}/flex/flexItemStyle.ts +2 -3
- package/src/{styles → core/styles}/flex/flexStyle.ts +6 -11
- package/src/{styles → core/styles}/focusRing/index.ts +5 -7
- package/src/{styles → core/styles}/font/codeFontStyle.ts +1 -1
- package/src/{styles → core/styles}/font/headingFontStyle.ts +1 -1
- package/src/{styles → core/styles}/font/labelFontStyle.ts +1 -1
- package/src/{styles → core/styles}/font/responsiveFont.ts +5 -5
- package/src/{styles → core/styles}/font/textAlignStyle.ts +3 -3
- package/src/{styles → core/styles}/font/textFontStyle.ts +1 -1
- package/src/{styles → core/styles}/font/types.ts +1 -1
- package/src/{styles → core/styles}/grid/gridItemStyle.ts +7 -13
- package/src/{styles → core/styles}/grid/gridStyle.ts +9 -17
- package/src/{styles → core/styles}/helpers.ts +6 -4
- package/src/{styles → core/styles}/input/responsiveInputPaddingStyle.ts +6 -6
- package/src/core/styles/input/textInputStyle.ts +232 -0
- package/src/{styles → core/styles}/margin/marginStyle.ts +1 -1
- package/src/{styles → core/styles}/margin/marginsStyle.test.ts +2 -2
- package/src/{styles → core/styles}/padding/paddingStyle.test.ts +2 -2
- package/src/{styles → core/styles}/padding/paddingStyle.ts +1 -1
- package/src/{styles → core/styles}/radius/radiusStyle.ts +2 -3
- package/src/core/styles/shadow/shadowStyle.ts +29 -0
- package/src/{styles → core/styles}/types.ts +1 -1
- package/src/core/theme/__workshop__/build/Root.tsx +350 -0
- package/src/core/theme/__workshop__/build/helpers.ts +46 -0
- package/src/core/theme/__workshop__/build/story.tsx +453 -0
- package/src/core/theme/__workshop__/canvas.tsx +350 -0
- package/src/{theme → core/theme}/__workshop__/color.tsx +5 -8
- package/src/{theme → core/theme}/__workshop__/index.ts +10 -0
- package/src/core/theme/index.ts +5 -0
- package/src/{theme → core/theme}/theme.test.tsx +3 -36
- package/src/{theme → core/theme}/themeColorProvider.tsx +2 -4
- package/src/{theme → core/theme}/themeContext.ts +2 -2
- package/src/core/theme/themeProvider.tsx +61 -0
- package/src/core/theme/types.ts +12 -0
- package/src/core/theme/useRootTheme.ts +16 -0
- package/src/core/theme/useTheme.ts +16 -0
- package/src/{types → core/types}/avatar.ts +1 -1
- package/src/core/types/badge.ts +12 -0
- package/src/core/types/button.ts +22 -0
- package/src/core/types/card.ts +6 -0
- package/src/{types → core/types}/index.ts +0 -1
- package/src/core/types/selectable.ts +6 -0
- package/src/core/utils/arrow/arrow.tsx +121 -0
- package/src/core/utils/arrow/cmds.ts +91 -0
- package/src/core/utils/arrow/index.ts +1 -0
- package/src/{utils → core/utils}/boundaryElement/__workshop__/plain.tsx +2 -6
- package/src/{utils → core/utils}/boundaryElement/boundaryElement.test.tsx +1 -1
- package/src/{utils → core/utils}/elementQuery/__workshop__/customMedia.tsx +3 -4
- package/src/{utils → core/utils}/elementQuery/elementQuery.tsx +3 -3
- package/src/{utils → core/utils}/index.ts +1 -0
- package/src/{utils → core/utils}/layer/__workshop__/_debug.tsx +1 -1
- package/src/{utils → core/utils}/layer/layer.test.tsx +1 -1
- package/src/{utils → core/utils}/portal/__workshop__/named.tsx +3 -3
- package/src/{utils → core/utils}/portal/portal.test.tsx +1 -1
- package/src/{utils → core/utils}/virtualList/virtualList.tsx +2 -2
- package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +76 -0
- package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +54 -0
- package/src/theme/build/_deprecated/color/button/createButtonModes.ts +22 -0
- package/src/theme/build/_deprecated/color/button/createButtonTones.ts +55 -0
- package/src/theme/build/_deprecated/color/card/createCardStates.ts +60 -0
- package/src/theme/build/_deprecated/color/color.test.ts +63 -0
- package/src/theme/build/_deprecated/color/defaults.ts +390 -0
- package/src/theme/build/_deprecated/color/factory.ts +142 -0
- package/src/theme/build/_deprecated/color/index.ts +1 -0
- package/src/theme/build/_deprecated/color/input/createInputModes.ts +81 -0
- package/src/theme/build/_deprecated/color/muted/createMuted.ts +54 -0
- package/src/theme/build/_deprecated/color/spot/createSpot.ts +20 -0
- package/src/theme/build/buildColorTheme.test.ts +183 -0
- package/src/theme/build/buildColorTheme.ts +484 -0
- package/src/theme/build/buildTheme.test.ts +87 -0
- package/src/theme/build/buildTheme.ts +36 -0
- package/src/theme/build/colorToken.ts +39 -0
- package/src/theme/build/index.ts +3 -0
- package/src/theme/{lib → build/lib}/color-fns/blend/index.ts +1 -0
- package/src/theme/build/lib/color-fns/blend/mix.ts +21 -0
- package/src/theme/{lib → build/lib}/color-fns/blend/multiply.ts +3 -7
- package/src/theme/{lib → build/lib}/color-fns/blend/screen.ts +3 -7
- package/src/theme/{lib → build/lib}/color-fns/color-fns.test.ts +10 -7
- package/src/theme/build/lib/color-fns/contrastRatio.ts +31 -0
- package/src/theme/{lib → build/lib}/color-fns/convert.ts +10 -1
- package/src/theme/{lib → build/lib}/color-fns/index.ts +2 -1
- package/src/theme/{lib/color-fns/helpers → build/lib/color-fns}/rgba.ts +1 -1
- package/src/theme/build/lib/isRecord.ts +3 -0
- package/src/theme/build/lib/utils.ts +19 -0
- package/src/theme/build/merge.ts +28 -0
- package/src/theme/build/mixThemeColor.test.ts +21 -0
- package/src/theme/build/mixThemeColor.ts +53 -0
- package/src/theme/build/renderColorTheme.ts +536 -0
- package/src/theme/build/renderColorValue.ts +77 -0
- package/src/theme/build/resolveColorTokens.ts +331 -0
- package/src/theme/build/theme.test.ts +27 -0
- package/src/theme/config/helpers.ts +55 -0
- package/src/theme/config/index.ts +4 -0
- package/src/theme/config/system.ts +112 -0
- package/src/theme/config/tokens/color/index.ts +1 -0
- package/src/theme/config/tokens/color/types.ts +135 -0
- package/src/theme/config/tokens/index.ts +4 -0
- package/src/theme/config/tokens/parseTokenKey.test.ts +64 -0
- package/src/theme/config/tokens/parseTokenKey.ts +66 -0
- package/src/theme/config/tokens/parseTokenValue.test.ts +45 -0
- package/src/theme/config/tokens/parseTokenValue.ts +102 -0
- package/src/theme/config/tokens/types.ts +51 -0
- package/src/theme/config/types.ts +45 -0
- package/src/theme/defaults/colorPalette.ts +5 -0
- package/src/theme/defaults/colorTokens.ts +552 -0
- package/src/theme/{studioTheme/theme.ts → defaults/config.ts} +38 -42
- package/src/theme/{studioTheme → defaults}/fonts.ts +67 -59
- package/src/theme/getScopedTheme.ts +81 -0
- package/src/theme/index.ts +12 -8
- package/src/theme/system/avatar.ts +14 -0
- package/src/theme/system/color/_constants.ts +38 -0
- package/src/theme/system/color/_helpers.ts +23 -0
- package/src/theme/system/color/_system.ts +39 -0
- package/src/theme/system/color/avatar.ts +25 -0
- package/src/theme/system/color/badge.ts +20 -0
- package/src/theme/system/color/button.ts +33 -0
- package/src/theme/system/color/color.ts +34 -0
- package/src/theme/system/color/index.ts +13 -0
- package/src/theme/system/color/input.ts +33 -0
- package/src/theme/system/color/kbd.ts +8 -0
- package/src/theme/system/color/selectable.ts +23 -0
- package/src/theme/system/color/shadow.ts +7 -0
- package/src/theme/system/color/state.ts +37 -0
- package/src/theme/system/color/syntax.ts +41 -0
- package/src/theme/system/css.ts +9 -0
- package/src/theme/system/focusRing.ts +7 -0
- package/src/theme/{lib/theme → system}/index.ts +6 -1
- package/src/theme/system/input.ts +33 -0
- package/src/theme/{lib/theme → system}/layer.ts +1 -2
- package/src/theme/system/shadow.ts +25 -0
- package/src/theme/system/styles.ts +19 -0
- package/src/theme/system/theme.ts +128 -0
- package/src/theme/{lib/theme → system/v0}/avatar.ts +1 -3
- package/src/theme/system/v0/color/_generic.ts +35 -0
- package/src/theme/system/v0/color/_system.ts +13 -0
- package/src/theme/system/v0/color/base.ts +21 -0
- package/src/theme/system/v0/color/button.ts +42 -0
- package/src/theme/system/v0/color/card.ts +19 -0
- package/src/theme/system/v0/color/color.ts +40 -0
- package/src/theme/system/v0/color/index.ts +11 -0
- package/src/theme/system/v0/color/input.ts +34 -0
- package/src/theme/system/v0/color/muted.ts +26 -0
- package/src/theme/system/v0/color/selectable.ts +31 -0
- package/src/theme/system/v0/color/solid.ts +26 -0
- package/src/theme/system/v0/color/spot.ts +13 -0
- package/src/theme/system/v0/index.ts +3 -0
- package/src/theme/{lib/theme → system/v0}/input.ts +1 -11
- package/src/theme/versioning/getTheme_v2.ts +56 -0
- package/src/theme/versioning/index.ts +5 -0
- package/src/theme/versioning/is_v0.ts +6 -0
- package/src/theme/versioning/is_v2.ts +6 -0
- package/src/theme/versioning/themeColor_v0_v2.ts +217 -0
- package/src/theme/versioning/v0_v2.ts +90 -0
- package/src/theme/versioning/v2_v0.ts +126 -0
- package/src/components/dialog/constants.ts +0 -4
- package/src/components/dialog/styles.ts +0 -37
- package/src/primitives/avatar/spotColors.ts +0 -53
- package/src/primitives/badge/styles.ts +0 -19
- package/src/primitives/button/styles.ts +0 -166
- package/src/primitives/code/styles.ts +0 -83
- package/src/primitives/popover/popoverArrow.tsx +0 -77
- package/src/primitives/switch/__workshop__/props.tsx +0 -41
- package/src/primitives/text/__workshop__/colored.tsx +0 -27
- package/src/primitives/tooltip/__workshop__/index.ts +0 -14
- package/src/primitives/tooltip/constants.ts +0 -16
- package/src/primitives/tooltip/tooltipArrow.tsx +0 -90
- package/src/styles/border/borderStyle.ts +0 -58
- package/src/styles/colorVars/colorVarsStyle.ts +0 -84
- package/src/styles/colorVars/index.ts +0 -1
- package/src/styles/input/textInputStyle.ts +0 -214
- package/src/styles/shadow/shadowStyle.ts +0 -28
- package/src/theme/defaults.ts +0 -7
- package/src/theme/lib/color-fns/helpers/index.ts +0 -1
- package/src/theme/lib/theme/color/_legacy/createColorTheme.ts +0 -7
- package/src/theme/lib/theme/color/_legacy/index.ts +0 -1
- package/src/theme/lib/theme/color/_legacy/legacyColor.ts +0 -3997
- package/src/theme/lib/theme/color/cssVariables/cardVariables.ts +0 -88
- package/src/theme/lib/theme/color/cssVariables/createCssVars.ts +0 -31
- package/src/theme/lib/theme/color/cssVariables/cssVars.test.ts +0 -262
- package/src/theme/lib/theme/color/cssVariables/index.ts +0 -1
- package/src/theme/lib/theme/color/cssVariables/tints.ts +0 -312
- package/src/theme/lib/theme/color/cssVariables/tones.ts +0 -67
- package/src/theme/lib/theme/color/cssVariables/utils.test.ts +0 -15
- package/src/theme/lib/theme/color/cssVariables/utils.ts +0 -9
- package/src/theme/lib/theme/color/index.ts +0 -5
- package/src/theme/lib/theme/color/types.ts +0 -41
- package/src/theme/lib/theme/shadow.ts +0 -20
- package/src/theme/lib/theme/theme.ts +0 -43
- package/src/theme/studioTheme/color.ts +0 -11
- package/src/theme/studioTheme/helpers.ts +0 -31
- package/src/theme/studioTheme/index.ts +0 -1
- package/src/theme/themeProvider.tsx +0 -81
- package/src/theme/toneContext/toneContext.ts +0 -12
- package/src/theme/toneContext/toneProvider.tsx +0 -31
- package/src/theme/toneContext/types.ts +0 -10
- package/src/theme/toneContext/useToneContext.tsx +0 -26
- package/src/theme/types.ts +0 -45
- package/src/theme/useRootTheme.ts +0 -25
- package/src/theme/useTheme.ts +0 -10
- package/src/types/badge.ts +0 -9
- package/src/types/button.ts +0 -14
- package/src/types/card.ts +0 -6
- package/src/types/selectable.ts +0 -4
- package/src/types/styled.ts +0 -9
- /package/src/{components → core/components}/autocomplete/__fixtures__/countries.ts +0 -0
- /package/src/{components → core/components}/autocomplete/__mocks__/apiStore.ts +0 -0
- /package/src/{components → core/components}/autocomplete/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/autocomplete/__workshop__/fullscreen.tsx +0 -0
- /package/src/{components → core/components}/autocomplete/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/autocomplete/__workshop__/types.ts +0 -0
- /package/src/{components → core/components}/autocomplete/autocomplete.styles.tsx +0 -0
- /package/src/{components → core/components}/autocomplete/autocompleteOption.tsx +0 -0
- /package/src/{components → core/components}/autocomplete/autocompleteReducer.ts +0 -0
- /package/src/{components → core/components}/autocomplete/constants.ts +0 -0
- /package/src/{components → core/components}/autocomplete/index.ts +0 -0
- /package/src/{components → core/components}/autocomplete/types.ts +0 -0
- /package/src/{components → core/components}/breadcrumbs/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/breadcrumbs/__workshop__/example.tsx +0 -0
- /package/src/{components → core/components}/breadcrumbs/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/breadcrumbs/breadcrumbs.styles.ts +0 -0
- /package/src/{components → core/components}/breadcrumbs/breadcrumbs.tsx +0 -0
- /package/src/{components → core/components}/breadcrumbs/index.ts +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/autoFocus.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/nested.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/onScroll.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/position.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/props.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/provider.tsx +0 -0
- /package/src/{components → core/components}/dialog/__workshop__/wrapped.tsx +0 -0
- /package/src/{components → core/components}/dialog/dialogContext.ts +0 -0
- /package/src/{components → core/components}/dialog/dialogProvider.tsx +0 -0
- /package/src/{components → core/components}/dialog/index.ts +0 -0
- /package/src/{components → core/components}/dialog/useDialog.ts +0 -0
- /package/src/{components → core/components}/hotkeys/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/hotkeys/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/hotkeys/__workshop__/plain.tsx +0 -0
- /package/src/{components → core/components}/hotkeys/index.ts +0 -0
- /package/src/{components → core/components}/index.ts +0 -0
- /package/src/{components → core/components}/menu/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/menu/__workshop__/constrainedInBoundary.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/groups.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/menuGroupRight.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/nestedMenu.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/onCloseMenuButton.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/selectedItem.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/shouldFocus.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/tones.tsx +0 -0
- /package/src/{components → core/components}/menu/__workshop__/withoutArrow.tsx +0 -0
- /package/src/{components → core/components}/menu/helpers.ts +0 -0
- /package/src/{components → core/components}/menu/index.ts +0 -0
- /package/src/{components → core/components}/menu/menuContext.ts +0 -0
- /package/src/{components → core/components}/menu/useMenu.ts +0 -0
- /package/src/{components → core/components}/menu/useMenuController.ts +0 -0
- /package/src/{components → core/components}/skeleton/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/skeleton/__workshop__/delay.tsx +0 -0
- /package/src/{components → core/components}/skeleton/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/skeleton/__workshop__/skeleton.tsx +0 -0
- /package/src/{components → core/components}/skeleton/index.ts +0 -0
- /package/src/{components → core/components}/skeleton/skeleton.tsx +0 -0
- /package/src/{components → core/components}/tab/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/tab/__workshop__/example.tsx +0 -0
- /package/src/{components → core/components}/tab/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/tab/index.ts +0 -0
- /package/src/{components → core/components}/tab/tabList.tsx +0 -0
- /package/src/{components → core/components}/tab/tabPanel.tsx +0 -0
- /package/src/{components → core/components}/toast/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/toast/__workshop__/hook.tsx +0 -0
- /package/src/{components → core/components}/toast/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/toast/__workshop__/toast.tsx +0 -0
- /package/src/{components → core/components}/toast/index.ts +0 -0
- /package/src/{components → core/components}/toast/toastContext.ts +0 -0
- /package/src/{components → core/components}/toast/toastProvider.tsx +0 -0
- /package/src/{components → core/components}/toast/types.ts +0 -0
- /package/src/{components → core/components}/toast/useToast.ts +0 -0
- /package/src/{components → core/components}/tree/__workshop__/.eslintrc +0 -0
- /package/src/{components → core/components}/tree/__workshop__/basic.perf.ts +0 -0
- /package/src/{components → core/components}/tree/__workshop__/basic.tsx +0 -0
- /package/src/{components → core/components}/tree/__workshop__/index.ts +0 -0
- /package/src/{components → core/components}/tree/helpers.ts +0 -0
- /package/src/{components → core/components}/tree/index.ts +0 -0
- /package/src/{components → core/components}/tree/tree.tsx +0 -0
- /package/src/{components → core/components}/tree/treeContext.ts +0 -0
- /package/src/{components → core/components}/tree/treeGroup.tsx +0 -0
- /package/src/{components → core/components}/tree/types.ts +0 -0
- /package/src/{components → core/components}/tree/useTree.ts +0 -0
- /package/src/{global.ts → core/global.ts} +0 -0
- /package/src/{helpers → core/helpers}/animation.ts +0 -0
- /package/src/{helpers → core/helpers}/element.ts +0 -0
- /package/src/{helpers → core/helpers}/focus.ts +0 -0
- /package/src/{helpers → core/helpers}/index.ts +0 -0
- /package/src/{helpers → core/helpers}/scroll.ts +0 -0
- /package/src/{hooks → core/hooks}/_internal/index.ts +0 -0
- /package/src/{hooks → core/hooks}/_internal/useUnique.ts +0 -0
- /package/src/{hooks → core/hooks}/index.ts +0 -0
- /package/src/{hooks → core/hooks}/useArrayProp.ts +0 -0
- /package/src/{hooks → core/hooks}/useClickOutside.ts +0 -0
- /package/src/{hooks → core/hooks}/useCustomValidity.ts +0 -0
- /package/src/{hooks → core/hooks}/useDelayed.test.ts +0 -0
- /package/src/{hooks → core/hooks}/useDelayedState.ts +0 -0
- /package/src/{hooks → core/hooks}/useElementRect/__workshop__/.eslintrc +0 -0
- /package/src/{hooks → core/hooks}/useElementRect/__workshop__/index.ts +0 -0
- /package/src/{hooks → core/hooks}/useElementRect/index.ts +0 -0
- /package/src/{hooks → core/hooks}/useElementRect/useElementRect.ts +0 -0
- /package/src/{hooks → core/hooks}/useElementSize.ts +0 -0
- /package/src/{hooks → core/hooks}/useForwardedRef.ts +0 -0
- /package/src/{hooks → core/hooks}/useGlobalKeyDown.ts +0 -0
- /package/src/{hooks → core/hooks}/useIsomorphicEffect.ts +0 -0
- /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/.eslintrc +0 -0
- /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/index.ts +0 -0
- /package/src/{hooks → core/hooks}/useMediaIndex/index.ts +0 -0
- /package/src/{hooks → core/hooks}/useMounted.ts +0 -0
- /package/src/{hooks → core/hooks}/usePrefersDark.hydration.test.tsx +0 -0
- /package/src/{hooks → core/hooks}/usePrefersDark.test.tsx +0 -0
- /package/src/{hooks → core/hooks}/usePrefersDark.ts +0 -0
- /package/src/{hooks → core/hooks}/usePrefersReducedMotion.hydration.test.tsx +0 -0
- /package/src/{hooks → core/hooks}/usePrefersReducedMotion.test.tsx +0 -0
- /package/src/{hooks → core/hooks}/usePrefersReducedMotion.ts +0 -0
- /package/src/{lib → core/lib}/globalScope.ts +0 -0
- /package/src/{observers → core/observers}/elementSizeObserver.ts +0 -0
- /package/src/{observers → core/observers}/index.ts +0 -0
- /package/src/{observers → core/observers}/resizeObserver.ts +0 -0
- /package/src/{primitives → core/primitives}/_selectable/index.ts +0 -0
- /package/src/{primitives → core/primitives}/_selectable/selectable.tsx +0 -0
- /package/src/{primitives → core/primitives}/avatar/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/avatar/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/avatar/index.ts +0 -0
- /package/src/{primitives → core/primitives}/badge/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/badge/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/badge/index.ts +0 -0
- /package/src/{primitives → core/primitives}/box/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/box/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/box/__workshop__/props.tsx +0 -0
- /package/src/{primitives → core/primitives}/box/index.ts +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/custom.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/customIcons.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/mixedChildren.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/props.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/styled1.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/styled2.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/__workshop__/uploadButton.tsx +0 -0
- /package/src/{primitives → core/primitives}/button/index.ts +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/allTones.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/checkered.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/interactive.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/listNavigation.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/props.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/__workshop__/styled.tsx +0 -0
- /package/src/{primitives → core/primitives}/card/index.ts +0 -0
- /package/src/{primitives → core/primitives}/checkbox/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/checkbox/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/checkbox/__workshop__/tones.tsx +0 -0
- /package/src/{primitives → core/primitives}/checkbox/index.ts +0 -0
- /package/src/{primitives → core/primitives}/code/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/code/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/code/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{primitives → core/primitives}/code/__workshop__/props.tsx +0 -0
- /package/src/{primitives → core/primitives}/code/index.ts +0 -0
- /package/src/{primitives → core/primitives}/container/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/container/__workshop__/example.tsx +0 -0
- /package/src/{primitives → core/primitives}/container/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/container/index.ts +0 -0
- /package/src/{primitives → core/primitives}/container/types.ts +0 -0
- /package/src/{primitives → core/primitives}/flex/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/flex/__workshop__/example.tsx +0 -0
- /package/src/{primitives → core/primitives}/flex/__workshop__/gap.tsx +0 -0
- /package/src/{primitives → core/primitives}/flex/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/flex/index.ts +0 -0
- /package/src/{primitives → core/primitives}/grid/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/grid/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/grid/__workshop__/responsive.tsx +0 -0
- /package/src/{primitives → core/primitives}/grid/index.ts +0 -0
- /package/src/{primitives → core/primitives}/heading/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/heading/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/heading/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{primitives → core/primitives}/heading/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/heading/index.ts +0 -0
- /package/src/{primitives → core/primitives}/heading/types.ts +0 -0
- /package/src/{primitives → core/primitives}/helpers.ts +0 -0
- /package/src/{primitives → core/primitives}/index.ts +0 -0
- /package/src/{primitives → core/primitives}/inline/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/inline/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/inline/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/inline/index.ts +0 -0
- /package/src/{primitives → core/primitives}/inline/types.ts +0 -0
- /package/src/{primitives → core/primitives}/kbd/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/kbd/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/kbd/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/kbd/index.tsx +0 -0
- /package/src/{primitives → core/primitives}/label/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/label/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/label/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{primitives → core/primitives}/label/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/label/index.ts +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/AlignedStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/MarginsStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/OpenOnMountStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/PlainStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/SidePanelStory.tsx +0 -0
- /package/src/{primitives → core/primitives}/popover/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/popover/floating-ui/size.ts +0 -0
- /package/src/{primitives → core/primitives}/popover/index.ts +0 -0
- /package/src/{primitives → core/primitives}/radio/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/radio/__workshop__/example.tsx +0 -0
- /package/src/{primitives → core/primitives}/radio/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/radio/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/radio/index.ts +0 -0
- /package/src/{primitives → core/primitives}/select/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/select/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/select/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/select/__workshop__/readOnly.tsx +0 -0
- /package/src/{primitives → core/primitives}/select/index.ts +0 -0
- /package/src/{primitives → core/primitives}/spinner/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/spinner/__workshop__/Props.tsx +0 -0
- /package/src/{primitives → core/primitives}/spinner/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/spinner/index.ts +0 -0
- /package/src/{primitives → core/primitives}/stack/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/stack/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/stack/__workshop__/plain.tsx +0 -0
- /package/src/{primitives → core/primitives}/stack/index.ts +0 -0
- /package/src/{primitives → core/primitives}/switch/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/switch/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/switch/index.ts +0 -0
- /package/src/{primitives → core/primitives}/text/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/text/__workshop__/example.tsx +0 -0
- /package/src/{primitives → core/primitives}/text/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/text/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{primitives → core/primitives}/text/index.ts +0 -0
- /package/src/{primitives → core/primitives}/textArea/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/textArea/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/textArea/index.ts +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/clearButton.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/customValidity.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/index.ts +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/multipleTones.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/readOnly.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/tones.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/__workshop__/typed.tsx +0 -0
- /package/src/{primitives → core/primitives}/textInput/index.ts +0 -0
- /package/src/{primitives → core/primitives}/tooltip/__workshop__/.eslintrc +0 -0
- /package/src/{primitives → core/primitives}/tooltip/index.ts +0 -0
- /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/index.ts +0 -0
- /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -0
- /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/types.ts +0 -0
- /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -0
- /package/src/{styles → core/styles}/border/index.ts +0 -0
- /package/src/{styles → core/styles}/border/types.ts +0 -0
- /package/src/{styles → core/styles}/box/index.ts +0 -0
- /package/src/{styles → core/styles}/box/types.ts +0 -0
- /package/src/{styles → core/styles}/flex/index.ts +0 -0
- /package/src/{styles → core/styles}/flex/types.ts +0 -0
- /package/src/{styles → core/styles}/font/index.ts +0 -0
- /package/src/{styles → core/styles}/grid/index.ts +0 -0
- /package/src/{styles → core/styles}/grid/types.ts +0 -0
- /package/src/{styles → core/styles}/index.ts +0 -0
- /package/src/{styles → core/styles}/input/index.ts +0 -0
- /package/src/{styles → core/styles}/internal.ts +0 -0
- /package/src/{styles → core/styles}/margin/index.ts +0 -0
- /package/src/{styles → core/styles}/margin/types.ts +0 -0
- /package/src/{styles → core/styles}/padding/index.ts +0 -0
- /package/src/{styles → core/styles}/padding/types.ts +0 -0
- /package/src/{styles → core/styles}/radius/index.ts +0 -0
- /package/src/{styles → core/styles}/radius/types.ts +0 -0
- /package/src/{styles → core/styles}/shadow/index.ts +0 -0
- /package/src/{styles → core/styles}/shadow/types.ts +0 -0
- /package/src/{theme → core/theme}/__workshop__/.eslintrc +0 -0
- /package/src/{theme → core/theme}/__workshop__/layer.tsx +0 -0
- /package/src/{theme → core/theme}/__workshop__/nestedProvider.tsx +0 -0
- /package/src/{types → core/types}/box.ts +0 -0
- /package/src/{types → core/types}/dialog.ts +0 -0
- /package/src/{types → core/types}/flex.ts +0 -0
- /package/src/{types → core/types}/grid.ts +0 -0
- /package/src/{types → core/types}/gridItem.ts +0 -0
- /package/src/{types → core/types}/placement.ts +0 -0
- /package/src/{types → core/types}/popover.ts +0 -0
- /package/src/{types → core/types}/radius.ts +0 -0
- /package/src/{types → core/types}/text.ts +0 -0
- /package/src/{utils → core/utils}/boundaryElement/__workshop__/.eslintrc +0 -0
- /package/src/{utils → core/utils}/boundaryElement/__workshop__/index.ts +0 -0
- /package/src/{utils → core/utils}/boundaryElement/boundaryElementContext.ts +0 -0
- /package/src/{utils → core/utils}/boundaryElement/boundaryElementProvider.tsx +0 -0
- /package/src/{utils → core/utils}/boundaryElement/index.ts +0 -0
- /package/src/{utils → core/utils}/boundaryElement/types.ts +0 -0
- /package/src/{utils → core/utils}/boundaryElement/useBoundaryElement.ts +0 -0
- /package/src/{utils → core/utils}/elementQuery/__workshop__/.eslintrc +0 -0
- /package/src/{utils → core/utils}/elementQuery/__workshop__/index.ts +0 -0
- /package/src/{utils → core/utils}/elementQuery/helpers.ts +0 -0
- /package/src/{utils → core/utils}/elementQuery/index.ts +0 -0
- /package/src/{utils → core/utils}/errorBoundary.tsx +0 -0
- /package/src/{utils → core/utils}/layer/__workshop__/.eslintrc +0 -0
- /package/src/{utils → core/utils}/layer/__workshop__/index.ts +0 -0
- /package/src/{utils → core/utils}/layer/__workshop__/multipleRoots.tsx +0 -0
- /package/src/{utils → core/utils}/layer/__workshop__/nested.tsx +0 -0
- /package/src/{utils → core/utils}/layer/__workshop__/responsiveZOffset.tsx +0 -0
- /package/src/{utils → core/utils}/layer/getLayerContext.test.ts +0 -0
- /package/src/{utils → core/utils}/layer/getLayerContext.ts +0 -0
- /package/src/{utils → core/utils}/layer/index.ts +0 -0
- /package/src/{utils → core/utils}/layer/layer.tsx +0 -0
- /package/src/{utils → core/utils}/layer/layerContext.ts +0 -0
- /package/src/{utils → core/utils}/layer/layerProvider.tsx +0 -0
- /package/src/{utils → core/utils}/layer/types.ts +0 -0
- /package/src/{utils → core/utils}/layer/useLayer.ts +0 -0
- /package/src/{utils → core/utils}/portal/__workshop__/.eslintrc +0 -0
- /package/src/{utils → core/utils}/portal/__workshop__/index.ts +0 -0
- /package/src/{utils → core/utils}/portal/index.ts +0 -0
- /package/src/{utils → core/utils}/portal/portal.ts +0 -0
- /package/src/{utils → core/utils}/portal/portalContext.ts +0 -0
- /package/src/{utils → core/utils}/portal/portalProvider.tsx +0 -0
- /package/src/{utils → core/utils}/portal/types.ts +0 -0
- /package/src/{utils → core/utils}/portal/usePortal.ts +0 -0
- /package/src/{utils → core/utils}/srOnly/index.ts +0 -0
- /package/src/{utils → core/utils}/srOnly/srOnly.tsx +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/.eslintrc +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/changingProps.tsx +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/elementScroll.tsx +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/index.ts +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/infiniteList.tsx +0 -0
- /package/src/{utils → core/utils}/virtualList/__workshop__/windowScrolll.tsx +0 -0
- /package/src/{utils → core/utils}/virtualList/index.ts +0 -0
- /package/src/theme/{lib → build/lib}/color-fns/parse.ts +0 -0
- /package/src/theme/{lib → build/lib}/color-fns/types.ts +0 -0
- /package/src/theme/{lib/theme/fonts.ts → system/font.ts} +0 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/constants.ts","../src/styles/helpers.ts","../src/styles/font/responsiveFont.ts","../src/styles/font/codeFontStyle.ts","../src/styles/font/headingFontStyle.ts","../src/styles/font/labelFontStyle.ts","../src/styles/font/textAlignStyle.ts","../src/styles/font/textFontStyle.ts","../src/hooks/useArrayProp.ts","../src/hooks/useClickOutside.ts","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/studioTheme/helpers.ts","../src/theme/lib/theme/color/cssVariables/tints.ts","../src/theme/lib/theme/color/cssVariables/tones.ts","../src/theme/lib/theme/color/cssVariables/cardVariables.ts","../src/theme/lib/theme/color/cssVariables/createCssVars.ts","../src/theme/lib/theme/color/_legacy/createColorTheme.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/theme/lib/theme/color/_legacy/legacyColor.ts","../src/theme/lib/theme/color/cssVariables/utils.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/toneContext/toneContext.ts","../src/theme/toneContext/toneProvider.tsx","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/usePrefersReducedMotion.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/theme/toneContext/useToneContext.tsx","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/spotColors.ts","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/getLayerContext.ts","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/constants.ts","../src/primitives/popover/floating-ui/size.ts","../src/primitives/popover/helpers.ts","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/hooks/useDelayedState.ts","../src/primitives/tooltip/constants.ts","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/constants.ts","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/hooks/useMounted.ts","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\n/**\n * @internal\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","import {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\nimport {CSSObject} from '../types/styled'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(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/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex])),\n )\n}\n","import {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('code', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[],\n): T[] {\n // JSON.stringify is fast, but it's not faster than useMemo's referencial equality check\n const __perf_hash__ = useMemo(() => JSON.stringify(val ?? defaultVal), [defaultVal, val])\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__],\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>,\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null,\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\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'\nimport {ElementSize, _elementSizeObserver} 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 {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB, RGBA} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB, RGBA} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB, RGBA} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbaToRGBA(rgba: string): RGBA {\n const values = rgba.replace(/rgba\\(|\\)/g, '').split(',')\n\n return {\n r: parseInt(values[0]),\n g: parseInt(values[1]),\n b: parseInt(values[2]),\n a: parseFloat(values[3]),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'\nimport {HSL, RGB, RGBA} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB | RGBA {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n if (color.startsWith('rgba(')) {\n return rgbaToRGBA(color)\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {\n parseColor,\n rgbToHex,\n screen as _screen,\n multiply as _multiply,\n rgba,\n} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n","/**\n * This file creates a translation between the tints and the studio colors\n * Providing readable names, and allowing to mix colors and tints in the same ThemeColor.\n * e.g. for positive theme: `{\"bg_base\": \"white\", \"\"bg-base-hover\"\": \"gray/50\", \"\"bg-base-active\"\": \"cyan/50\"}\n * This is not possible in the previous configuration, as each ThemeColor uses only one tint.\n */\nimport {ColorTintKey, ColorTints, ColorTint, black, hues, white} from '@sanity/color'\nimport {rgba} from '../../../color-fns'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\n\nexport const colorKeys = [\n 'text-primary',\n 'text-secondary',\n 'text-inactive',\n // TODO: Can this be replaced by other of the text colors? It's used by the code html element if it's inside a text\n 'text-code',\n 'text-muted',\n 'text-link',\n 'text-accent',\n 'bg-base',\n 'bg-base-hover',\n 'bg-base-active',\n 'bg-accent',\n 'bg-accent-hover',\n 'bg-accent-active',\n 'bg-tint',\n // TODO: Can we replace this with bg_tint? It's used by the code html element if it's inside a text\n 'bg-tint-code',\n\n 'icon-default',\n 'icon-inverted',\n 'border-base',\n 'border-base-hover',\n 'border-accent',\n 'border-accent-inverted',\n\n // Colors starting with -base won't be affected by the mix function\n 'base-bg-card', // This is used by the card when a tone is defined, it will also override the bg-base in the rest of the components.\n 'base-bg-raw', // This is the same color as bg-base, but it won't be overridden by the card bg color, used in selectable items.\n\n 'base-shadow-outline-color',\n 'base-shadow-umbra-color',\n 'base-shadow-penumbra-color',\n 'base-shadow-ambient-color',\n 'base-text-color', // Color used by the buttons for default mode text\n\n 'skeleton-from',\n 'skeleton-to',\n] as const\n\nexport type ColorKey = (typeof colorKeys)[number]\n\ntype ColorWithOpacity = {\n type: 'colorWithOpacity'\n tint: ColorTintKey\n /**\n * Number between 0 and 1\n */\n opacity: number\n}\n\ntype DefaultColor = {\n type: 'colorTint'\n value: ColorTint\n}\n\ntype ColorTintsDictionary = Record<ColorKey, ColorTintKey | DefaultColor | ColorWithOpacity>\nconst defaultTints: Record<ThemeColorSchemeKey, ColorTintsDictionary> = {\n light: {\n 'text-primary': '900',\n 'text-secondary': '600',\n 'text-inactive': '500',\n 'text-code': '600',\n 'text-muted': '600',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['600'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['500'],\n },\n 'bg-base': {\n type: 'colorTint',\n value: white,\n },\n 'bg-base-hover': '50',\n 'bg-base-active': '100',\n 'bg-accent': '500',\n 'bg-accent-hover': '600',\n 'bg-accent-active': '700',\n 'bg-tint': '50',\n 'bg-tint-code': '50',\n 'icon-default': '500',\n 'icon-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'border-base': '100',\n 'border-base-hover': '200',\n 'border-accent': '500',\n 'border-accent-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'base-bg-card': '50',\n 'base-bg-raw': {\n type: 'colorTint',\n value: white,\n },\n 'base-text-color': {type: 'colorTint', value: white},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.2,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.1,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.07,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.06,\n },\n 'skeleton-from': '100',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n dark: {\n 'text-primary': '50',\n 'text-secondary': '300',\n 'text-inactive': '400',\n 'text-code': '400',\n 'text-muted': '400',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['400'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['400'],\n },\n 'bg-base': {type: 'colorTint', value: black},\n 'bg-base-hover': '900',\n 'bg-base-active': '800',\n 'bg-accent': '500',\n 'bg-accent-hover': '400',\n 'bg-accent-active': '300',\n 'bg-tint': '900',\n 'bg-tint-code': '950',\n 'icon-default': '300',\n 'icon-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'border-base': '800',\n 'border-base-hover': '700',\n 'border-accent': '300',\n 'border-accent-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'base-bg-card': '950',\n 'base-text-color': {type: 'colorTint', value: black},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.4,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.24,\n },\n 'base-bg-raw': {\n type: 'colorTint',\n value: black,\n },\n 'skeleton-from': '900',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n}\n\nexport const colorTints: Record<\n ThemeColorSchemeKey,\n Record<ThemeColorName, ColorTintsDictionary>\n> = {\n light: {\n default: {\n ...defaultTints.light,\n 'base-bg-card': {type: 'colorTint', value: white},\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n primary: {\n ...defaultTints.light,\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n positive: {\n ...defaultTints.light,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[50]},\n 'bg-base-active': '50',\n 'bg-accent': '400',\n 'bg-accent-hover': '500',\n 'bg-accent-active': '600',\n 'border-accent': '400',\n },\n transparent: defaultTints.light,\n caution: defaultTints.light,\n critical: {...defaultTints.light, 'text-inactive': '300'},\n },\n dark: {\n default: {\n ...defaultTints.dark,\n 'base-bg-card': {type: 'colorTint', value: black},\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.24,\n },\n },\n primary: {\n ...defaultTints.dark,\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n },\n positive: {\n ...defaultTints.dark,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[900]},\n 'bg-base-active': '900',\n 'bg-accent': '400',\n 'bg-accent-hover': '300',\n 'bg-accent-active': '200',\n 'border-accent': '400',\n },\n transparent: defaultTints.dark,\n caution: defaultTints.dark,\n critical: {...defaultTints.dark, 'text-inactive': '700'},\n },\n}\n\nexport const getColorValue = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): ColorTint => {\n const value = colorTints[scheme][tone][key]\n\n if (typeof value === 'string') {\n return tints[value]\n }\n\n if (value.type === 'colorWithOpacity') {\n const base = tints[value.tint]\n\n return {\n hex: rgba(base.hex, value.opacity),\n title: `${base.title} ${Math.round(value.opacity * 100)}%`,\n }\n }\n\n return value.value\n}\n\nexport const getColorHex = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): string => {\n return getColorValue(tints, scheme, tone, key).hex\n}\n","import {ColorTints} from '@sanity/color'\nimport {multiply, screen} from '../../../../studioTheme/helpers'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {ColorKey, colorKeys, getColorHex} from './tints'\n\nexport const getToneCssVar = (tone: ThemeColorName, key: ColorKey): string => `--${tone}-${key}`\n\nexport const createTonesVariables = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n baseBg: string,\n): Record<string, string> => {\n const tonesVariables: Record<string, string> = {}\n const keys = Object.keys(tones) as ThemeColorName[]\n const mix = scheme === 'dark' ? screen : multiply\n const needsMixing = defaultTone !== 'default'\n\n keys.forEach((_tone: ThemeColorName) => {\n const tone = _tone == 'default' ? defaultTone : _tone\n const tint = tones[tone]\n\n colorKeys.forEach((key) => {\n const colorHex = getColorHex(tint, scheme, tone, key)\n const varName = getToneCssVar(_tone, key)\n const willBeMixed = needsMixing && !key.startsWith('base-')\n\n tonesVariables[varName] = willBeMixed ? mix(baseBg, colorHex) : colorHex\n })\n })\n\n // If we are changing the default tone, we need to update the bg-base to match with the new base bg color.\n // As components are using this bg-base for the background color, and it needs to match with the card bg color.\n if (defaultTone !== 'default') {\n tonesVariables[getToneCssVar('default', 'bg-base')] = tonesCssVariables.default['base-bg-card']\n }\n\n return tonesVariables\n}\n\nconst themeNames: ThemeColorName[] = [\n 'default',\n 'transparent',\n 'primary',\n 'positive',\n 'caution',\n 'critical',\n]\n\nexport const tonesCssVariables: Record<\n ThemeColorName,\n Record<ColorKey, string>\n> = themeNames.reduce(\n (acc, tone) => {\n acc[tone] = colorKeys.reduce(\n (acc, key) => {\n acc[key] = `var(${getToneCssVar(tone, key)})`\n\n return acc\n },\n {} as Record<ColorKey, string>,\n )\n\n return acc\n },\n {} as Record<ThemeColorName, Record<ColorKey, string>>,\n)\n","import {tonesCssVariables} from './tones'\n\n/**\n * @internal\n * This variables can be changed by other components besides the `Card` component itself.\n */\nexport const mutableCardVariables = {\n 'bg-color': '--card-bg-color',\n 'muted-fg-color': '--card-muted-fg-color',\n 'icon-color': '--card-icon-color',\n 'fg-color': '--card-fg-color',\n 'bg-image': '--card-bg-image',\n 'accent-color': '--card-accent-fg-color',\n} as const\n\n/**\n * @internal\n * This are the only variables that are exposed, as they can be updated and used by other components.\n */\nexport const mutableVariables: Record<keyof typeof mutableCardVariables, string> = Object.keys(\n mutableCardVariables,\n).reduce(\n (acc, key) => {\n const item = key as keyof typeof mutableCardVariables\n\n acc[item] = `var(${mutableCardVariables[item]})`\n\n return acc\n },\n {} as Record<keyof typeof mutableCardVariables, string>,\n)\n\n/**\n * @internal\n * This variables can not be changed by other components, they are here for backwards compatibility.\n * Shouldn't be used inside any component in @sanity/ui\n */\nconst legacyFixedVariables = [\n '--card-shadow-outline-color',\n '--card-shadow-umbra-color',\n '--card-shadow-penumbra-color',\n '--card-shadow-ambient-color',\n '--card-focus-ring-color',\n '--card-link-fg-color',\n '--card-code-bg-color',\n '--card-code-fg-color',\n '--card-skeleton-color-from',\n '--card-skeleton-color-to',\n '--card-link-color',\n '--card-hairline-soft-color',\n '--card-hairline-hard-color',\n '--card-border-color',\n] as const\n\nconst allVariables = [...Object.values(mutableCardVariables), ...legacyFixedVariables] as const\n\ntype CardCssVariable = (typeof allVariables)[number]\n\n/**\n * @internal\n */\nexport const cardVariables: Record<CardCssVariable, string> = {\n '--card-shadow-outline-color': tonesCssVariables.default['base-shadow-outline-color'],\n '--card-shadow-umbra-color': tonesCssVariables.default['base-shadow-umbra-color'],\n '--card-shadow-penumbra-color': tonesCssVariables.default['base-shadow-penumbra-color'],\n '--card-shadow-ambient-color': tonesCssVariables.default['base-shadow-ambient-color'],\n '--card-focus-ring-color': tonesCssVariables.positive['bg-accent'],\n\n '--card-icon-color': tonesCssVariables.default['icon-default'],\n\n // Card\n '--card-bg-color': tonesCssVariables.default['bg-base'],\n '--card-bg-image': 'inherit',\n '--card-fg-color': tonesCssVariables.default['text-primary'],\n '--card-border-color': tonesCssVariables.default['border-base'],\n '--card-muted-fg-color': tonesCssVariables.default['text-secondary'],\n '--card-accent-fg-color': tonesCssVariables.default['text-accent'],\n '--card-link-fg-color': tonesCssVariables.default['text-link'],\n '--card-code-bg-color': tonesCssVariables.default['bg-tint-code'],\n '--card-code-fg-color': tonesCssVariables.default['text-code'],\n '--card-skeleton-color-from': tonesCssVariables.default['skeleton-from'],\n '--card-skeleton-color-to': tonesCssVariables.default['skeleton-to'],\n\n // @todo: deprecate\n '--card-link-color': tonesCssVariables.default['text-link'],\n '--card-hairline-soft-color': tonesCssVariables.default['border-base'],\n '--card-hairline-hard-color': tonesCssVariables.default['border-base'],\n}\n","import {ColorTints} from '@sanity/color'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {cardVariables, mutableVariables} from './cardVariables'\nimport {getColorHex} from './tints'\nimport {createTonesVariables, tonesCssVariables} from './tones'\n\n/**\n * @beta\n */\nexport const createCssVars = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n): Record<string, string> => {\n const baseBg = getColorHex(tones[defaultTone], scheme, defaultTone, 'base-bg-card')\n const tonesVars = createTonesVariables(scheme, tones, defaultTone, baseBg)\n\n return {...tonesVars, ...cardVariables}\n}\n\n/**\n * @beta\n */\nexport const cssVars = {\n ...tonesCssVariables,\n /**\n * This variables are mutable, they can be updated by other components.\n * The main component that updates them is the card, these are the only ones that should be exposed for use from the cards.\n */\n mutable: mutableVariables,\n}\n","/**\n * @internal\n * @deprecated Use studioTheme instead.\n */\nexport function createColorTheme(): null {\n return null\n}\n","import {ColorTints, hues} from '@sanity/color'\nimport {ThemeColorName} from '../lib/theme'\n\nexport const tones: Record<ThemeColorName, ColorTints> = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.gray,\n positive: hues.cyan,\n caution: hues.yellow,\n critical: hues.red,\n} as const\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {tones} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n focusRing: {offset: -1, width: 2},\n },\n card: {\n focusRing: {offset: -1, width: 1},\n },\n color: {\n tones: tones,\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This is necessary until workshop is updated.\n base: {bg: '#fffff'},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 21,\n height: 13,\n padding: 2,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n border: {\n width: 1,\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","export const legacyColors = {\n base: {\n fg: '#111213',\n bg: '#ffffff',\n border: '#e2e6e9',\n focusRing: '#388bff',\n shadow: {\n outline: 'rgba(120,129,145,0.4)',\n umbra: 'rgba(120,129,145,0.2)',\n penumbra: 'rgba(120,129,145,0.14)',\n ambient: 'rgba(120,129,145,0.12)',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n button: {\n default: {\n default: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n ghost: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#e2e6e9',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e2e6e9',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#e2e6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#e2e6e9',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#e2e6e9',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n bleed: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#f9f9fa',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#ffffff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#f5faff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#ffffff',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#f3fcf6',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#dff6e9',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#dff6e9',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#ffffff',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fffdf0',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fef7cd',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fef7cd',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#ffffff',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fff5f5',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fee8e7',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fee8e7',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n },\n },\n card: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n fg: '#111213',\n border: '#e2e6e9',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n },\n dark: false,\n input: {\n default: {\n enabled: {\n bg: '#ffffff',\n fg: '#111213',\n border: '#e2e6e9',\n placeholder: '#9aa1ac',\n },\n disabled: {\n bg: '#f9f9fa',\n fg: '#bec3cb',\n border: '#f3f4f6',\n placeholder: '#e2e6e9',\n },\n hovered: {\n bg: '#ffffff',\n fg: '#111213',\n border: '#bec3cb',\n placeholder: '#9aa1ac',\n },\n readOnly: {\n bg: '#f9f9fa',\n fg: '#31353f',\n border: '#e2e6e9',\n placeholder: '#9aa1ac',\n },\n },\n invalid: {\n enabled: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n disabled: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n hovered: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n readOnly: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n },\n },\n selectable: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e5f1ff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#dcecff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#dff6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#d5f3e1',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#fef7cd',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fef5c1',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#fee8e7',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fedfde',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n },\n spot: {\n gray: '#788191',\n blue: '#388bff',\n purple: '#a065d7',\n magenta: '#ea3e77',\n red: '#ec4636',\n orange: '#ef6115',\n yellow: '#f3bc16',\n green: '#21d46c',\n cyan: '#0ecff1',\n },\n syntax: {\n atrule: '#843dc7',\n attrName: '#1ba755',\n attrValue: '#cb920b',\n attribute: '#cb920b',\n boolean: '#843dc7',\n builtin: '#843dc7',\n cdata: '#cb920b',\n char: '#cb920b',\n class: '#c24e0f',\n className: '#0e9ebe',\n comment: '#9aa1ac',\n constant: '#843dc7',\n deleted: '#d72414',\n doctype: '#9aa1ac',\n entity: '#d72414',\n function: '#1ba755',\n hexcode: '#0661fe',\n id: '#843dc7',\n important: '#843dc7',\n inserted: '#cb920b',\n keyword: '#d11a60',\n number: '#843dc7',\n operator: '#d11a60',\n prolog: '#9aa1ac',\n property: '#0661fe',\n pseudoClass: '#cb920b',\n pseudoElement: '#cb920b',\n punctuation: '#5e6573',\n regex: '#0661fe',\n selector: '#d72414',\n string: '#cb920b',\n symbol: '#843dc7',\n tag: '#d72414',\n unit: '#c24e0f',\n url: '#d72414',\n variable: '#d72414',\n },\n solid: {\n default: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n transparent: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n muted: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n transparent: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e5f1ff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#dcecff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#dff6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#d5f3e1',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#fef7cd',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fef5c1',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#fee8e7',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fedfde',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n },\n },\n}\n","/**\n * @internal\n * Transform css variables object to a style declaration type string\n */\nexport function cssObjectToCssString(rules: Record<string, string>): string {\n return Object.keys(rules).reduce((acc, key) => {\n return `${acc}${key}: ${rules[key]}; `\n }, '')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\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","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToneContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toneContext')\n\nglobalScope[key] = globalScope[key] || createContext<ToneContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ToneContext: React.Context<ToneContextValue | null> = globalScope[key]\n","import {useMemo} from 'react'\nimport {ThemeColorName, ThemeColorSchemeKey, useRootTheme} from '..'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ToneProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ToneProvider(props: ToneProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n const value: ToneContextValue = useMemo(\n () => ({\n version: 0.0,\n scheme: scheme || root.scheme,\n tone,\n }),\n [root.scheme, scheme, tone],\n )\n\n return <ToneContext.Provider value={value}>{children}</ToneContext.Provider>\n}\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider, createGlobalStyle} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {legacyColors} from './lib/theme/color/_legacy/legacyColor'\nimport {createCssVars} from './lib/theme/color/cssVariables'\nimport {cssObjectToCssString} from './lib/theme/color/cssVariables/utils'\nimport {ThemeContext} from './themeContext'\nimport {ToneProvider} from './toneContext/toneProvider'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\nconst GlobalVariables = createGlobalStyle<{$vars?: string}>`\n :root {\n ${({$vars}) => $vars}\n }\n`\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {layer: rootLayer, ...restTheme} = themeProp\n\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, layer, color: {...legacyColors, tones: restTheme.color.tones}}}\n }, [themeProp])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone],\n )\n\n const cssVariables = useMemo(() => {\n if (!themeProp?.color.tones) return\n\n return cssObjectToCssString(createCssVars(scheme, themeProp?.color.tones))\n }, [scheme, themeProp?.color.tones])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <GlobalVariables $vars={cssVariables} />\n <StyledThemeProvider theme={theme}>\n <ToneProvider tone={tone} scheme={scheme}>\n {children}\n </ToneProvider>\n </StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): 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('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n * @deprecated\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n * @deprecated Use `toneContext` instead.\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.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","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","import {useSyncExternalStore} from 'react'\nimport {useTheme} from '../../theme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\nconst MEDIA_STORE_CACHE = new WeakMap<number[], _MediaStore>()\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(media: number[]): _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 theme = useTheme()\n const {media} = theme.sanity\n\n let store = MEDIA_STORE_CACHE.get(media)\n\n if (!store) {\n store = _createMediaStore(media)\n MEDIA_STORE_CACHE.set(media, store)\n }\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-color-scheme: dark)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\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 false\n}\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-reduced-motion: reduce)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\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-reduced-motion: no-preference)` 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 false\n}\n\n/**\n * Returns true if motion should be reduced\n * @public\n */\nexport function usePrefersReducedMotion(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\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 if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToneContext(): ToneContextValue {\n const value: unknown = useContext(ToneContext)\n\n if (!value) {\n throw new Error('useToneContext(): 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('useToneContext(): the context value is not compatible')\n }\n\n return value as any as ToneContextValue\n}\n","import {cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = `1px solid ${cssVars.default['border-base']}`\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {EMPTY_ARRAY} from '../../constants'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","import {FocusRing, cssVars} from '../../theme'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: FocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : cssVars.mutable['bg-color']\n\n return [\n focusRingInsetWidth > 0 &&\n `inset 0 0 0 ${focusRingInsetWidth}px ${cssVars.positive['border-accent']}`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 &&\n `0 0 0 ${focusRingOutsetWidth}px ${cssVars.positive['border-accent']}`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $tone: ThemeColorToneKey\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $tone: ThemeColorToneKey\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.family};\n font-weight: ${($weight && font.weights[$weight]) || font.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${cssVars.critical['text-primary']};\n --input-placeholder-color: ${cssVars.critical['text-inactive']};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $tone, theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.text\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: ${cssVars.mutable['bg-color']};\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n ${mutableCardVariables['bg-color']}: ${cssVars[$tone]['bg-base']};\n ${mutableCardVariables['fg-color']}: ${cssVars[$tone]['text-primary']};\n\n /* enabled */\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars[$tone]['border-base'],\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.critical['bg-tint']};\n ${mutableCardVariables['fg-color']}: ${cssVars.critical['text-primary']};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.critical['border-base'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${focusRingStyle({\n border: {color: cssVars[$tone]['border-base'], width: input.border.width},\n focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${focusRingStyle({focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* readOnly */\n *:read-only + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow, cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} ${cssVars.default['base-shadow-outline-color']}`\n const umbra = toBoxShadow(shadow.umbra, cssVars.default['base-shadow-umbra-color'])\n const penumbra = toBoxShadow(shadow.penumbra, cssVars.default['base-shadow-penumbra-color'])\n const ambient = toBoxShadow(shadow.ambient, cssVars.default['base-shadow-ambient-color'])\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\n\n return css`\n color: ${cssVars.mutable['fg-color']};\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n background-color: ${cssVars.default['bg-tint-code']};\n color: ${cssVars.default['text-code']};\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: ${cssVars.mutable['icon-color']};\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {\n gray,\n blue,\n purple,\n magenta,\n red,\n orange,\n yellow,\n green,\n cyan,\n ColorTint,\n} from '@sanity/color'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {ThemeColorSpotKey} from './types'\n\nexport const spotColor: Record<ThemeColorSpotKey, Record<ThemeColorSchemeKey, ColorTint>> = {\n gray: {\n dark: gray['400'],\n light: gray['500'],\n },\n blue: {\n dark: blue['400'],\n light: blue['500'],\n },\n purple: {\n dark: purple['400'],\n light: purple['500'],\n },\n magenta: {\n dark: magenta['400'],\n light: magenta['500'],\n },\n red: {\n dark: red['400'],\n light: red['500'],\n },\n orange: {\n dark: orange['400'],\n light: orange['500'],\n },\n yellow: {\n dark: yellow['400'],\n light: yellow['500'],\n },\n green: {\n dark: green['400'],\n light: green['500'],\n },\n cyan: {\n dark: cyan['400'],\n light: cyan['500'],\n },\n}\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n position: 'absolute',\n boxSizing: 'border-box',\n zIndex: 0,\n opacity: 0,\n transition: 'all 0.2s linear',\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n\n '& > svg': {\n width: '11px',\n height: '7px',\n position: 'absolute',\n top: '-5px',\n left: '50%',\n transform: 'translateX(-6px)',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: 0,\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: 1,\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: 1,\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nexport function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color, theme} = props\n const {focusRing} = theme.sanity.avatar\n\n return {\n backgroundColor: $color,\n position: 'relative',\n boxSizing: 'border-box',\n userSelect: 'none',\n boxShadow: `0 0 0 1px ${cssVars.mutable['bg-color']}`,\n\n '&[data-status=\"inactive\"]': {\n opacity: 0.5,\n },\n\n '&>svg': {\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n margin: 0,\n padding: 0,\n border: 0,\n font: 'inherit',\n color: 'inherit',\n outline: 'none',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:focus': {\n boxShadow: focusRingStyle({focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(): CSSObject {\n return {\n width: '100%',\n height: '100%',\n color: cssVars.default['text-primary'],\n alignItems: 'center',\n justifyContent: 'center',\n textTransform: 'uppercase',\n textAlign: 'center',\n borderRadius: '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: cssVars.mutable['bg-color'],\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n strokeWidth: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {useTheme} from '../../theme'\n\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {spotColor} from './spotColors'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\nimport {ThemeColorSpotKey} from './types'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | 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\nconst Root = styled.div<{$color: string; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const {scheme} = useToneContext()\n\n const color = spotColor[colorKey][scheme].hex\n\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\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) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\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 </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {theme} = props\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: ${cssVars.mutable['fg-color']};\n background: ${cssVars.mutable['bg-color']};\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n inset 0 0 0 1.5px ${cssVars.default['border-base']});\n padding: 0 ${rem(theme.sanity.space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode,\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string',\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string',\n ) as React.ReactElement[]\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 <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n forwardedAs?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$mode, $tone} = props\n\n return {\n backgroundColor: $mode === 'outline' ? cssVars[$tone]['bg-base'] : cssVars[$tone]['bg-tint'],\n [mutableCardVariables['fg-color']]: cssVars[$tone]['text-secondary'],\n boxShadow: $mode === 'outline' ? `inset 0 0 0 1px ${cssVars[$tone]['border-base']}` : undefined,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {\n children,\n fontSize = 1,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n // @ts-expect-error -- some dollar prefixed typings aren't inferred correctly https://github.com/styled-components/styled-components/issues/4062\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {ButtonMode, ButtonTone} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): ReturnType<typeof css> {\n return css`\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nconst buttonTheme = {border: {width: 1}}\nconst defaultBoxShadow = '0px 2px 0px 0px rgba(112, 128, 155, 0.19);'\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode, theme, $tone} = props\n const {focusRing} = theme.sanity.button\n const shadow = props.$mode !== 'bleed'\n const border = {\n width: buttonTheme.border.width,\n color:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent']\n : $mode === 'ghost'\n ? cssVars[$tone]['border-base']\n : cssVars[$tone]['bg-base'],\n }\n\n return [\n {\n // This is going to be used by the text elements inside the button\n [mutableCardVariables['fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n [mutableCardVariables['muted-fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-secondary'],\n [mutableCardVariables['icon-color']]:\n $mode === 'default' ? cssVars[$tone]['icon-inverted'] : cssVars[$tone]['icon-default'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n\n // Override the default variables for elements used inside buttons\n [getToneCssVar('default', 'bg-tint-code')]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-tint-code'],\n ...($mode === 'default' && {\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-link')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-accent')]: cssVars[$tone]['base-text-color'],\n }),\n\n '&:disabled, &[data-disabled=\"true\"]': {\n /* Updates the variables for the */\n [mutableCardVariables['fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n },\n },\n {\n backgroundColor:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n color:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': {\n backgroundColor:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n color: cssVars.primary['text-inactive'],\n boxShadow: focusRingBorderStyle({\n ...border,\n color: $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.primary['border-base'],\n }),\n },\n \"&:not([data-disabled='true'])\": {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: {bg: cssVars.positive['border-accent']},\n border: {width: 2, color: cssVars.default['bg-base']},\n focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n '&:active': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n '&[data-hovered]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n },\n '&[data-selected]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars, useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n muted?: boolean\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${cssVars.mutable['bg-color']};\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as'>,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n children,\n disabled,\n fontSize = 1,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n muted = false,\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={space}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={iconRight ? 1 : undefined}>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {ThemeColorToneKey, cssVars} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n * Card overrides in disabled states\n */\nexport function _colorVarStyleDisabled(checkered = false): CSSObject {\n return {\n [getToneCssVar('default', 'text-link')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-accent')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-code')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-primary')]: cssVars.default['text-secondary'],\n\n [mutableCardVariables['fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['accent-color']]: cssVars.primary['base-bg-card'],\n [mutableCardVariables['bg-color']]: cssVars.primary['bg-tint'],\n [mutableCardVariables['bg-image']]: checkered\n ? `repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`\n : undefined,\n }\n}\n\n/**\n * @internal\n * Card overrides in selected states\n */\nexport function _colorVarStyleSelected(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-accent'],\n [mutableCardVariables['fg-color']]: cssVars.default['bg-base'],\n [mutableCardVariables['muted-fg-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['accent-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['icon-color']]: cssVars.primary['bg-base'],\n }\n}\n\n/**\n * @internal\n * Card overrides in hover\n */\nexport function _colorVarStyleHover(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-hover'],\n [getToneCssVar('default', 'bg-tint')]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Card overrides in active / pressed states\n */\nexport function _colorVarStyleActive(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Selectable needs to redefine bg-color and fg-color\n */\nexport function _selectableVarStyle(tone: ThemeColorToneKey): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: 'inherit',\n [mutableCardVariables['fg-color']]:\n tone === 'default' ? cssVars.default['text-primary'] : cssVars.default['text-secondary'],\n }\n}\n\n/**\n * @internal\n * Selectable overrides in disabled states, same as card but with different bg-color\n */\nexport function _selectableVarStyleDisabled(): CSSObject {\n return {\n ..._colorVarStyleDisabled(),\n [mutableCardVariables['bg-color']]: undefined,\n }\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleDisabled,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {createCssVars, cssVars} from '../../theme/lib/theme/color/cssVariables'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: ${cssVars.mutable['bg-image']};\n `}\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, theme, $tone, $scheme, $updateCssVars} = props\n const {focusRing} = theme.sanity.card\n\n const border = {width: 0, color: cssVars.positive['border-accent']}\n\n return css`\n /* A new css vars context is created, allowing for override of the default tone and changing the scheme */\n ${$updateCssVars && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n color-scheme: ${$scheme === 'dark' ? 'dark' : 'light'};\n ${$checkered &&\n `--card-bg-image: repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.default['text-primary']};\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../../theme'\nimport {ToneProvider} from '../../theme/toneContext/toneProvider'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\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 pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /**\n * @internal\n * Used by the popover, as it creates a new html element that it's ouside of the previous scope of the card.\n * So if it's inheriting styles from the parent, it needs to create a new cars context\n */\n updateCssVars?: boolean\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nconst Wrapper = ({\n shouldAddContext,\n scheme,\n tone,\n children,\n}: {\n shouldAddContext: boolean\n scheme: ThemeColorSchemeKey\n tone: ThemeColorName\n children: React.ReactElement\n}): React.ReactElement => {\n // Avoid creating a new react context if the card is just inheriting styles from the parent.\n if (shouldAddContext) {\n return (\n <ToneProvider scheme={scheme} tone={tone}>\n {children}\n </ToneProvider>\n )\n }\n\n return children\n}\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme: schemeProp,\n selected,\n shadow,\n tone: toneProp = 'default',\n updateCssVars = false,\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const toneContext = useToneContext()\n const tone = toneProp === 'inherit' ? toneContext.tone : toneProp\n const scheme = schemeProp ?? toneContext.scheme\n const shouldAddContext = scheme !== toneContext.scheme || tone !== toneContext.tone\n\n return (\n <Wrapper shouldAddContext={shouldAddContext} scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={scheme}\n data-ui=\"Card\"\n data-tone={tone}\n $scheme={scheme ?? toneContext.scheme}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n $updateCssVars={updateCssVars || shouldAddContext}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </Wrapper>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input, radius} = theme.sanity\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${cssVars.default['bg-base']};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.2 !important;\n }\n }\n }\n &:checked + span {\n background: ${cssVars.default['text-secondary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['text-secondary'],\n width: input.border.width,\n })};\n color: ${cssVars.default['bg-base']};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &[data-error]&:checked + span {\n background-color: ${cssVars.critical['text-secondary']};\n color: ${cssVars.default['bg-base']};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.critical['text-secondary']},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &:disabled&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &[data-read-only] + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {purple, green, yellow, orange, cyan, gray, red, blue, magenta} from '@sanity/color'\nimport {css} from 'styled-components'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nfunction codeSyntaxHighlightingStyle(scheme: ThemeColorSchemeKey) {\n const dark = scheme === 'dark'\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n '&.atrule': {color: purple[mainShade].hex},\n '&.attr-name': {color: green[mainShade].hex},\n '&.attr-value': {color: yellow[mainShade].hex},\n '&.attribute': {color: yellow[mainShade].hex},\n '&.boolean': {color: purple[mainShade].hex},\n '&.builtin': {color: purple[mainShade].hex},\n '&.cdata': {color: yellow[mainShade].hex},\n '&.char': {color: yellow[mainShade].hex},\n '&.class': {color: orange[mainShade].hex},\n '&.class-name': {color: cyan[mainShade].hex},\n '&.comment': {color: gray[secondaryShade].hex},\n '&.constant': {color: purple[mainShade].hex},\n '&.deleted': {color: red[mainShade].hex},\n '&.doctype': {color: gray[secondaryShade].hex},\n '&.entity': {color: red[mainShade].hex},\n '&.function': {color: green[mainShade].hex},\n '&.hexcode': {color: blue[mainShade].hex},\n '&.id': {color: purple[mainShade].hex},\n '&.important': {color: purple[mainShade].hex},\n '&.inserted': {color: yellow[mainShade].hex},\n '&.keyword': {color: magenta[mainShade].hex},\n '&.number': {color: purple[mainShade].hex},\n '&.operator': {color: magenta[mainShade].hex},\n '&.prolog': {color: gray[secondaryShade].hex},\n '&.property': {color: blue[mainShade].hex},\n '&.pseudo-class': {color: yellow[mainShade].hex},\n '&.pseudo-element': {color: yellow[mainShade].hex},\n '&.punctuation': {color: gray[mainShade].hex},\n '&.regex': {color: blue[mainShade].hex},\n '&.selector': {color: red[mainShade].hex},\n '&.string': {color: yellow[mainShade].hex},\n '&.symbol': {color: purple[mainShade].hex},\n '&.tag': {color: red[mainShade].hex},\n '&.unit': {color: orange[mainShade].hex},\n '&.url': {color: red[mainShade].hex},\n '&.variable': {color: red[mainShade].hex},\n }\n}\n\nexport interface CodeBaseStyleProps {\n $scheme: ThemeColorSchemeKey\n}\n\nexport function codeBaseStyle(props: CodeBaseStyleProps): ReturnType<typeof css> {\n return css`\n color: ${cssVars.default['text-code']};\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle(props.$scheme)}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {codeBaseStyle, CodeBaseStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<CodeBaseStyleProps & ResponsiveFontStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n const {scheme} = useToneContext()\n\n return (\n <Root\n data-ui=\"Code\"\n {...restProps}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n $scheme={scheme}\n >\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n\n return css`\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp],\n )\n\n return (\n <Root\n data-ui=\"Inline\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n >\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars} from '../../theme'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\nfunction kbdStyle() {\n return css`\n background: ${cssVars.default['bg-tint']};\n font: inherit;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" muted size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Box>\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.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","import {useContext} from 'react'\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","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 {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\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(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef],\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\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 {Context, createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\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","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\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 {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\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 {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.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] : zOffset[mediaIndex]\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],\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","import {FocusEvent, forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\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 {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst Root = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, onActivate, onFocus, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const forwardedRef = useForwardedRef(ref)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\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 = forwardedRef.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 [forwardedRef, isTopLayer, onFocus],\n )\n\n return (\n <Root\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={forwardedRef}\n style={{...style, zIndex}}\n >\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<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","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/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\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\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 {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.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): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\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(children, portalElement)\n}\n","import {useRef} from 'react'\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 *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function 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","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\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: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof document !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\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> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\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 useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\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 }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 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 if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\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 <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\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 = 27\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 11\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 {Elements, Middleware, detectOverflow} from '@floating-ui/react-dom'\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 {Theme} from '../../theme'\nimport {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n theme: Theme\n width: PopoverWidth[]\n}): number | undefined {\n const {mediaIndex, theme, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? theme.sanity.container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\nimport {DEFAULT_POPOVER_ARROW_HEIGHT, DEFAULT_POPOVER_ARROW_WIDTH} from './constants'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n height: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n }\n\n [data-placement^='right'] > & {\n left: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst BorderPath = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst ShapePath = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Card} from '../card'\nimport {Flex} from '../flex'\nimport {DEFAULT_POPOVER_ARROW_WIDTH, DEFAULT_POPOVER_MARGINS} from './constants'\nimport {PopoverArrow} from './popoverArrow'\n\nconst Root = styled(Card)({\n '&:not([hidden])': {\n display: 'flex',\n },\n flexDirection: 'column',\n width: 'max-content',\n minWidth: 'min-content',\n})\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n overflow,\n radius,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n const {zIndex} = useLayer()\n const toneContext = useToneContext()\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 position: strategy,\n top: y,\n left: x,\n width,\n zIndex,\n ...style,\n }),\n [strategy, style, width, x, y, zIndex],\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = 0 - DEFAULT_POPOVER_ARROW_WIDTH\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n data-ui=\"Popover\"\n {...restProps}\n data-tone={tone}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n // The popover creates a new html element, so it's out of context of the css variables generated in the cards.\n updateCssVars\n tone={tone === 'inherit' ? toneContext.tone : tone}\n style={rootStyle}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n }),\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n MutableRefObject,\n RefCallback,\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize, useMediaIndex} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\nexport type {PopoverUpdateCallback}\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n matchReferenceWidth?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\n}\n\n/** @public */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n arrow: arrowProp = true,\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 open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n updateRef,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const widthArrayProp = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({mediaIndex, theme, width: widthArrayProp})\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>()\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = forwardedRef.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, forwardedRef, matchReferenceWidth, maxWidth, open])\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(\n offset({\n mainAxis: arrowProp ? DEFAULT_POPOVER_DISTANCE : 0,\n }),\n )\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 const _currentWidth = widthRef.current\n const _maxWidth = maxWidthRef.current\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (_currentWidth !== undefined) {\n elements.floating.style.width = `${_currentWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(\n availableWidth,\n _maxWidth ?? Infinity,\n )}px`\n\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 eleement\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 ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\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 })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const childRef = (childProp as any)?.ref\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 (!childProp || referenceElement) 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 useEffect(() => {\n refs.setReference(referenceElement || null)\n }, [referenceElement, refs])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidthRef.current : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Popover'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.radio\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${cssVars.default['bg-base']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${cssVars.default['text-secondary']};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n &::after {\n background: ${cssVars.critical['text-secondary']};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} 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 </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.select\n\n return css`\n /* enabled */\n background-color: ${cssVars.default['bg-base']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${cssVars.default['bg-base-hover']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: rem(size.lineHeight)}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(): ReturnType<typeof css> {\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n }\n\n /* disabled */\n select:disabled + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n\n /* read-only */\n select[data-read-only] + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>,\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.switch\n\n return css`\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n weight,\n tone = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-tone={tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $space={useArrayProp(0)}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\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 {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const toneContext = useToneContext()\n const tone = toneProp === 'default' ? toneContext.tone : toneProp\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.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 // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n tone,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\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 </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-tone={tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $space={space}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {useRef} from 'react'\nimport {useState, useCallback, SetStateAction} 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>()\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","import {Placement} from '@floating-ui/react-dom'\n\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 {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 7.5px 7.5px;\n }\n\n /* position: absolute;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n &:not([hidden]) {\n display: block;\n }\n transform-origin: 7.5px 7.5px;\n } */\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst Border = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst Shape = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../../lib/globalScope'\nimport {TooltipDelayGroupContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tooltipDelayGroup')\n\nglobalScope[key] = globalScope[key] || createContext<TooltipDelayGroupContextValue | null>(null)\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext: React.Context<TooltipDelayGroupContextValue | null> =\n globalScope[key]\n","import {useContext} from 'react'\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 {useMemo} from 'react'\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\nimport {useTooltipDelayGroup} from './useTooltipDelayGroup'\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: React.ReactNode\n /**\n * @public 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 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(\n props: TooltipDelayGroupProviderProps,\n): React.ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const isInsideContext = useTooltipDelayGroup()\n\n if (isInsideContext) {\n throw new Error(\n 'TooltipDelayGroupProvider cannot be nested inside another TooltipDelayGroupProvider',\n )\n }\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 isGroupActive: isGroupActive,\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n size,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n useId,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {Delay} from '../types'\nimport {DEFAULT_FALLBACK_PLACEMENTS} from './constants'\nimport {TooltipArrow} from './tooltipArrow'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n /**\n * @public Adds a delay to open or close the tooltip. Defaults to 0.\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 delay?: Delay\n}\n\nconst Root = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 3,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n delay,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\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: 4,\n rootBoundary,\n mainAxis: false,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Set width and height on the floating element\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements}) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth - 4 * 2}px`, // the padding is `4px`\n maxHeight: `${availableHeight - 4 * 2}px`, // the padding is `4px`\n })\n },\n }),\n )\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n }),\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\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) => {\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 delayGroupContext.setIsGroupActive(open, openDelay)\n delayGroupContext.setOpenTooltipId(tooltipId, openDelay)\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 delayGroupContext.setIsGroupActive(open, groupDeactivateDelay)\n delayGroupContext.setOpenTooltipId(null, closeDelay)\n }\n } else {\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, open ? openDelay : closeDelay)\n }\n },\n [isInsideGroup, delayGroupContext, openDelay, tooltipId, closeDelay, setIsOpen],\n )\n\n const handleBlur = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\n const handleFocus = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseEnter = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseLeave = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\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 (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement, handleIsOpenChange])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) handleIsOpenChange(false)\n }, [content, handleIsOpenChange])\n\n // Update reference\n useEffect(() => refs.setReference(referenceElement), [referenceElement, refs])\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 forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef],\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 ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root\n data-ui=\"Tooltip\"\n {...restProps}\n ref={setFloating}\n style={floatingStyles}\n zOffset={zOffset}\n >\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={3}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {showTooltip && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {Radius} from '../../types'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption,\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n },\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>,\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children],\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","/**\n * Left/right border offsets for header + footer components (in px).\n */\nexport const BORDER_OFFSET_X: number = 12\n","import {_responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle(): CSSObject {\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: cssVars.default['base-shadow-umbra-color'],\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {\n containsOrEqualsElement,\n focusFirstDescendant,\n focusLastDescendant,\n isHTMLElement,\n} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, CardProps, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, cssVars, useTheme} from '../../theme'\nimport {DialogPosition, Radius} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement, useLayer, usePortal} from '../../utils'\nimport {BORDER_OFFSET_X} from './constants'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\ninterface DialogHeaderProps extends CardProps {\n $hasScrolledFromTop: boolean\n $isContentScrollable: boolean\n}\ninterface DialogFooterProps extends CardProps {\n $hasScrolledToBottom: boolean\n $isContentScrollable: boolean\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst Root = styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle,\n)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Card)<DialogHeaderProps>`\n position: relative;\n z-index: 2;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n bottom: -1px;\n border-bottom: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && props.$hasScrolledFromTop ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)<DialogFooterProps>`\n position: relative;\n z-index: 3;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n top: -1px;\n border-top: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && !props.$hasScrolledToBottom ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n const [isContentScrollable, setIsContentScrollable] = useState(false)\n const [hasScrolledFromTop, setHasScrolledFromTop] = useState(false)\n const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false)\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutside(\n useCallback(\n (event: MouseEvent) => {\n if (!isTopLayer || !onClickOutside) return\n\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n },\n [boundaryElement, isTopLayer, onClickOutside, portalElement],\n ),\n [rootElement],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef],\n )\n\n const handleContentUpdate = useCallback(() => {\n if (localContentRef.current) {\n setIsContentScrollable(\n localContentRef.current.clientHeight < localContentRef.current.scrollHeight,\n )\n setHasScrolledFromTop(localContentRef.current.scrollTop > 0)\n setHasScrolledToBottom(\n localContentRef.current.scrollTop >=\n localContentRef.current.scrollHeight - localContentRef.current.clientHeight,\n )\n }\n }, [])\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(handleContentUpdate)\n\n if (localContentRef.current) {\n resizeObserver.observe(localContentRef.current)\n }\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [contentRef, handleContentUpdate])\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader\n $isContentScrollable={isContentScrollable}\n $hasScrolledFromTop={hasScrolledFromTop}\n >\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} size={1} weight=\"medium\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1} onScroll={handleContentUpdate}>\n {children}\n </DialogContent>\n\n {footer && (\n <DialogFooter\n $isContentScrollable={isContentScrollable}\n $hasScrolledToBottom={hasScrolledToBottom}\n >\n {footer}\n </DialogFooter>\n )}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 4,\n portal: portalProp,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>()\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\nimport {Radius} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n &:not([hidden]) {\n display: block;\n }\n font: inherit;\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>,\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\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: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\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 {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\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(rootElement, 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 [rootElement, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: React.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: React.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 rootElement?.focus()\n }, [setActiveIndex, rootElement])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\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 activeIndexRef.current = 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 activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\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 space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\n`\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\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 onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement],\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 useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside],\n ),\n [rootElement],\n )\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 // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\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 <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement, Radius} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: Radius | Radius[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>,\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ],\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref],\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n boundaryElement: deprecated_boundaryElement,\n overflow: 'auto',\n placement: deprecated_placement,\n portal: deprecated_portal,\n preventOverflow: deprecated_preventOverflow,\n radius: deprecated_popoverRadius,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }),\n [\n deprecated_boundaryElement,\n deprecated_placement,\n deprecated_popoverRadius,\n deprecated_popoverScheme,\n deprecated_portal,\n deprecated_preventOverflow,\n popover,\n ],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\n/**\n * @public\n */\nexport const MenuDivider = styled.hr`\n height: 1px;\n border: 0;\n background: ${cssVars.default['border-base']};\n margin: 0;\n`\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleHover,\n _selectableVarStyle,\n _selectableVarStyleDisabled,\n} from '../../styles/colorVars'\n\nimport {ThemeColorSchemeKey, ThemeColorToneKey, createCssVars, cssVars} from '../../theme'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: ThemeColorToneKey\n $scheme: ThemeColorSchemeKey\n}\n\nexport function selectableBaseStyle(): ReturnType<typeof css> {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $scheme} = props\n\n return css`\n ${$tone !== 'default' && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n ${_selectableVarStyle($tone)}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars[$tone]['text-secondary']};\n outline: none;\n\n /* &:is(button) - Looks like a button in default mode */\n &[data-as='button'] {\n &:disabled {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected] {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle,\n)\n","import {useContext} from 'react'\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 {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius, SelectableTone} from '../../types'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>,\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.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: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) 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 const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\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 data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n $scheme={scheme}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={space} padding={padding}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\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","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {ThemeColorToneKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: ThemeColorToneKey\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n hotkeys,\n icon,\n iconRight,\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 const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.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(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref],\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={disabled ? 'default' : tone}\n $scheme={scheme}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Flex as=\"span\" gap={space} align=\"center\" {...paddingProps}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\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 fontSize={fontSize} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n )}\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-to']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']}\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: ${cssVars.default['skeleton-from']};\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: ${cssVars.default['skeleton-from']};\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle,\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(({\n $size,\n $style,\n theme,\n}: {\n $size: number[]\n $style: ThemeFontKey\n theme: Theme\n}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.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 elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <CustomButton\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 radius=\"full\"\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport styled from 'styled-components'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.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 <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>,\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {useEffect, useReducer} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n // Use useReducer instead of useState as it's more low-level and creates the least amount of functions for the garbage collector to clean up\n const [mounted, mount] = useReducer(() => true, false)\n\n useEffect(mount, [mount])\n\n return mounted\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState, startTransition} from 'react'\nimport styled from 'styled-components'\nimport {useMounted} from '../../hooks/useMounted'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, _setState] = useState<ToastState>([])\n\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n // Wrap setState in startTransition to allow React to give input state updates higher priority\n const setState: typeof _setState = (state) => startTransition(() => _setState(state))\n\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState): ToastState => {\n const idx = prevState.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.slice(0)\n\n toasts.splice(idx, 1)\n\n return toasts\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState): ToastState => {\n return prevState\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ])\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n [],\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n const mounted = useMounted()\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n {mounted && (\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): 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('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const {children, space = 1, onFocus, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n }),\n)\n\nTree.displayName = 'Tree'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {cssVars} from '../../theme'\nimport {cardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(): ReturnType<typeof css> {\n return css`\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n &[role='none'] {\n & > [role='treeitem'] {\n ${cardVariables}\n\n background-color:${cssVars.mutable['bg-color']};\n color: var(--treeitem-fg-color);\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_colorVarStyleHover()}\n }\n\n & > [role='treeitem']:focus {\n ${_colorVarStyleSelected()}\n }\n }\n }\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${cardVariables}\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.mutable['fg-color']};\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_colorVarStyleHover()}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_colorVarStyleSelected()}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, BoxProps, Flex, Text} from '../../primitives'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: BoxProps['as']\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n linkAs,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","concat","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","arguments","length","undefined","Error","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","useMemo","JSON","stringify","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size$1","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_ref","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","multiply$1","r","clamp","g","num","max","min","screenChannel","screen","screen$1","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbaToRGBA","rgba","replace","split","a","rgbToHex","_ref2","rgbToHsl","_ref3","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgb","bg","fg","_multiply","_screen","colorKeys","defaultTints","light","hues","blue","red","white","tint","opacity","dark","black","gray","colorTints","default","primary","positive","transparent","caution","critical","getColorValue","tints","scheme","tone","title","getColorHex","getToneCssVar","createTonesVariables","tones","defaultTone","baseBg","tonesVariables","mix","needsMixing","_tone","colorHex","varName","willBeMixed","tonesCssVariables","themeNames","acc","mutableCardVariables","mutableVariables","item","cardVariables","createCssVars","tonesVars","cssVars","mutable","createColorTheme","cyan","yellow","code","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","focusRing","offset","button","textWeight","card","container","radius","shadows","umbra","penumbra","ambient","input","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","select","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","legacyColors","shadow","outline","skeleton","from","to","enabled","bg2","muted","accent","link","disabled","hovered","pressed","selected","ghost","bleed","placeholder","readOnly","invalid","selectable","spot","purple","magenta","orange","green","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","solid","cssObjectToCssString","rules","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ToneContext","ToneProvider","children","root","useRootTheme","version","jsx","Provider","GlobalVariables","createGlobalStyle","__template","_ref4","$vars","ThemeProvider","parentTheme","useContext","themeProp","layer","rootLayer","restTheme","cssVariables","jsxs","StyledThemeProvider","isRecord","ThemeColorProvider","useTheme","useStyledTheme","MEDIA_STORE_CACHE","_getMediaQuery","_createMediaStore","mediaLen","getSizes","mediaQuery","mq","matchMedia","getSnapshot","matches","onStoreChange","disposeFns","handleChange","disposeFn","getServerSnapshot","getServerSnapshot$2","useMediaIndex","store","useSyncExternalStore","MEDIA_QUERY_CACHE","getMatchMedia","getMatchMedia$1","getSnapshot$1","getServerSnapshot$1","usePrefersDark","usePrefersReducedMotion","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","useToneContext","BORDER_VALUE","responsiveBorderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","opts","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","GRID_CSS","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","styles","responsiveInputPaddingIconRightStyle","_c","ROOT_STYLE","css","textInputRootStyle","textInputBaseStyle","$tone","font","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","borderRadius","toBoxShadow","shadowStyle","boxShadow","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","Root","styled","div","SpanWithTextOverflow","span","Text","forwardRef","childrenProp","textOverflow","weight","restProps","spotColor","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","zIndex","transition","$color","backgroundColor","userSelect","WebkitFontSmoothing","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeDasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","Avatar","as","asProp","colorKey","src","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","viewBox","d","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","badgeStyle","$mode","cursor","Badge","mode","Flex","forwardedAs","rotate","keyframes","Spinner","SpinnerIcon","buttonBaseStyles","buttonTheme","defaultBoxShadow","combineBoxShadow","_len","boxShadows","_key","buttonColorStyles","LoadingBox","Button","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","spaceProp","boxProps","isValidElement","createElement","_colorVarStyleDisabled","checkered","_colorVarStyleSelected","_colorVarStyleHover","_colorVarStyleActive","_selectableVarStyle","_selectableVarStyleDisabled","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","$scheme","$updateCssVars","Wrapper","_ref5","shouldAddContext","Card","__unstable_checkered","__unstable_focusRing","schemeProp","toneProp","updateCssVars","toneContext","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","mainShade","secondaryShade","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","verticalAlign","inlineSpaceStyle","Inline","kbdStyle","kbd","KBD","labelBaseStyle","Label","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","__publicField","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","state","getLayerContext","contextValue","LayerContext","useLayer","err","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","LayerProvider","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","parentLevel","level","maxMediaIndex","setChildLayers","isTopLayer","childLevel","parentDispose","prevLen","nextState","v","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","becameTopLayer","handleFocus","rootElement","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","handleScroll2","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","apply","margins","args","placement","platform","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","floatingW","floatingH","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","calcCurrentWidth","params","w","currentWidth","calcMaxWidth","boundaryWidth","BorderPath","path","ShapePath","PopoverArrow","xmlns","PopoverCard","memo","PopoverCard2","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","strategy","xProp","yProp","rootStyle","staticSide","arrowStyle","displayName","Popover","Popover2","_d","_e","_f","_g","_h","boundaryElementContext","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","open","placementProp","preventOverflow","referenceBoundary","referenceElement","shadowProp","widthProp","updateRef","boundarySize","widthArrayProp","widthRef","maxWidthRef","referenceWidthRef","floatingElement","middleware","flip","mainAxis","_ref6","_currentWidth","_maxWidth","shift","hide","middlewareData","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInputClearButton","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","useDelayedState","initialState","setState","delayedAction","onStateChange","delay","action","clearTimeout","setTimeout","Border","Shape","TooltipArrow","TooltipDelayGroupContext","useTooltipDelayGroup","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","isInsideContext","openDelay","closeDelay","close","Tooltip","fallbackPlacementsProp","setReferenceElement","_ref7","assign","floatingStyles","tooltipId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","minimumGroupDeactivateDelay","groupDeactivateDelay","handleBlur","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onMouseEnter","onMouseLeave","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","_ref8","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","BORDER_OFFSET_X","dialogStyle","background","responsiveDialogPositionStyle","$position","DialogContext","useDialog","isTargetWithinScope","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","$isContentScrollable","$hasScrolledFromTop","DialogContent","DialogFooter","$hasScrolledToBottom","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","portalProp","setRootElement","localContentRef","labelId","showCloseButton","showHeader","isContentScrollable","setIsContentScrollable","hasScrolledFromTop","setHasScrolledFromTop","hasScrolledToBottom","setHasScrolledToBottom","setContentRef","handleContentUpdate","onScroll","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","rootClickTimeoutRef","handleRootClick","DialogProvider","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","onOpen","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","skeletonStyle","_ref9","$visible","_ref10","$animated","Skeleton","animated","visible","setVisible","_ref11","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","CustomButton","Tab","elementRef","focusedRef","_isReactElement","CustomInline","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","useMounted","ToastContext","ToastContainer","toastId","ToastProvider","_setState","toastsRef","startTransition","duration","dismiss","timeoutId","prevState","findIndex","t","toasts","AnimatePresence","initial","_ref12","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","Tree2","setFocusedElement","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","linkAs","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":"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","x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/core/constants.ts","../src/core/styles/helpers.ts","../src/core/styles/font/responsiveFont.ts","../src/core/styles/font/codeFontStyle.ts","../src/core/styles/font/headingFontStyle.ts","../src/core/styles/font/labelFontStyle.ts","../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/hooks/useArrayProp.ts","../src/core/hooks/useClickOutside.ts","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/core/observers/resizeObserver.ts","../src/core/observers/elementSizeObserver.ts","../src/core/hooks/useElementSize.ts","../src/core/hooks/useElementRect/useElementRect.ts","../src/core/hooks/useGlobalKeyDown.ts","../src/core/lib/globalScope.ts","../src/core/theme/themeContext.ts","../src/core/theme/themeProvider.tsx","../src/core/theme/useRootTheme.ts","../src/core/theme/themeColorProvider.tsx","../src/core/theme/useTheme.ts","../src/core/hooks/useMediaIndex/useMediaIndex.ts","../src/core/hooks/usePrefersDark.ts","../src/core/hooks/usePrefersReducedMotion.ts","../src/core/hooks/useIsomorphicEffect.ts","../src/core/hooks/useForwardedRef.ts","../src/core/hooks/useCustomValidity.ts","../src/core/styles/border/borderStyle.ts","../src/core/styles/box/boxStyle.ts","../src/core/styles/flex/flexStyle.ts","../src/core/styles/flex/flexItemStyle.ts","../src/core/styles/focusRing/index.ts","../src/core/styles/grid/gridStyle.ts","../src/core/styles/grid/gridItemStyle.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/styles/margin/marginStyle.ts","../src/core/styles/padding/paddingStyle.ts","../src/core/styles/radius/radiusStyle.ts","../src/core/styles/shadow/shadowStyle.ts","../src/core/primitives/label/styles.ts","../src/core/primitives/label/label.tsx","../src/core/primitives/avatar/styles.ts","../src/core/primitives/avatar/avatar.tsx","../src/core/primitives/avatar/avatarCounter.tsx","../src/core/primitives/helpers.ts","../src/core/primitives/avatar/avatarStack.tsx","../src/core/primitives/box/box.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/badge/styles.ts","../src/core/primitives/badge/badge.tsx","../src/core/primitives/flex/flex.tsx","../src/core/primitives/spinner/spinner.tsx","../src/core/styles/card/_cardColorStyle.ts","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx","../src/core/primitives/card/styles.ts","../src/core/primitives/card/card.tsx","../src/core/primitives/checkbox/styles.ts","../src/core/primitives/checkbox/checkbox.tsx","../src/core/primitives/code/styles.ts","../src/core/primitives/code/code.tsx","../src/core/primitives/container/styles.ts","../src/core/primitives/container/container.tsx","../src/core/primitives/grid/grid.tsx","../src/core/primitives/heading/styles.ts","../src/core/primitives/heading/heading.tsx","../src/core/primitives/inline/styles.ts","../src/core/primitives/inline/inline.tsx","../src/core/primitives/kbd/kbd.tsx","../src/core/utils/arrow/cmds.ts","../src/core/utils/arrow/arrow.tsx","../src/core/utils/boundaryElement/boundaryElementContext.ts","../src/core/utils/boundaryElement/boundaryElementProvider.tsx","../src/core/lib/isRecord.ts","../src/core/utils/boundaryElement/useBoundaryElement.ts","../src/core/utils/elementQuery/helpers.ts","../src/core/utils/elementQuery/elementQuery.tsx","../src/core/utils/errorBoundary.tsx","../src/core/utils/layer/getLayerContext.ts","../src/core/utils/layer/layerContext.ts","../src/core/utils/layer/useLayer.ts","../src/core/helpers/animation.ts","../src/core/helpers/element.ts","../src/core/helpers/focus.ts","../src/core/helpers/scroll.ts","../src/core/utils/layer/layerProvider.tsx","../src/core/utils/layer/layer.tsx","../src/core/utils/portal/portalContext.ts","../src/core/utils/portal/usePortal.ts","../src/core/utils/portal/portal.ts","../src/core/hooks/_internal/useUnique.ts","../src/core/utils/portal/portalProvider.tsx","../src/core/utils/srOnly/srOnly.tsx","../src/core/utils/virtualList/virtualList.tsx","../src/core/primitives/popover/constants.ts","../src/core/primitives/popover/floating-ui/size.ts","../src/core/primitives/popover/helpers.ts","../src/core/primitives/popover/popoverCard.tsx","../src/core/primitives/popover/popover.tsx","../src/core/primitives/radio/styles.ts","../src/core/primitives/radio/radio.tsx","../src/core/primitives/select/styles.ts","../src/core/primitives/select/select.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx","../src/core/primitives/switch/styles.ts","../src/core/primitives/switch/switch.tsx","../src/core/primitives/textArea/textArea.tsx","../src/core/primitives/textInput/textInput.tsx","../src/core/hooks/useDelayedState.ts","../src/core/primitives/tooltip/conditionalWrapper.tsx","../src/core/primitives/tooltip/constants.ts","../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../src/core/primitives/tooltip/tooltip.tsx","../src/core/components/autocomplete/autocomplete.styles.tsx","../src/core/components/autocomplete/autocompleteOption.tsx","../src/core/components/autocomplete/autocompleteReducer.ts","../src/core/components/autocomplete/constants.ts","../src/core/components/autocomplete/autocomplete.tsx","../src/core/components/breadcrumbs/breadcrumbs.styles.ts","../src/core/components/breadcrumbs/breadcrumbs.tsx","../src/core/components/dialog/styles.ts","../src/core/components/dialog/dialogContext.ts","../src/core/components/dialog/useDialog.ts","../src/core/components/dialog/dialog.tsx","../src/core/components/dialog/dialogProvider.tsx","../src/core/components/hotkeys/hotkeys.tsx","../src/core/components/menu/menuContext.ts","../src/core/components/menu/helpers.ts","../src/core/components/menu/useMenuController.ts","../src/core/components/menu/menu.tsx","../src/core/components/menu/menuButton.tsx","../src/core/components/menu/menuDivider.ts","../src/core/primitives/_selectable/style.ts","../src/core/primitives/_selectable/selectable.tsx","../src/core/components/menu/useMenu.ts","../src/core/components/menu/menuGroup.tsx","../src/core/components/menu/menuItem.tsx","../src/core/components/skeleton/styles.ts","../src/core/components/skeleton/skeleton.tsx","../src/core/components/skeleton/textSkeleton.tsx","../src/core/components/tab/tab.tsx","../src/core/components/tab/tabList.tsx","../src/core/components/tab/tabPanel.tsx","../src/core/components/toast/toast.tsx","../src/core/hooks/useMounted.ts","../src/core/components/toast/toastContext.ts","../src/core/components/toast/toastProvider.tsx","../src/core/components/toast/useToast.ts","../src/core/components/tree/helpers.ts","../src/core/components/tree/treeContext.ts","../src/core/components/tree/tree.tsx","../src/core/components/tree/style.ts","../src/core/components/tree/useTree.ts","../src/core/components/tree/treeGroup.tsx","../src/core/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\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","import {Theme, getTheme_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(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/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n const {media, space} = getTheme_v2(theme)\n\n return _responsive(media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(space[spaceIndex])),\n )\n}\n","import {ThemeFontSize, ThemeFontKey, getTheme_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight} = props\n const {font, media} = getTheme_v2(props.theme)\n const {family, sizes, weights} = font[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('code', props)\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[],\n): T[] {\n // JSON.stringify is fast, but it's not faster than useMemo's referencial equality check\n const __perf_hash__ = useMemo(() => JSON.stringify(val ?? defaultVal), [defaultVal, val])\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__],\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>,\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null,\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\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'\nimport {ElementSize, _elementSizeObserver} 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 {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\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","import {Context, createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: Context<ThemeContextValue | null> = globalScope[key]\n","import {\n RootTheme,\n ThemeColorCardToneKey,\n ThemeColorSchemeKey,\n Theme,\n getScopedTheme,\n} from '@sanity/ui/theme'\nimport {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: rootTheme = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\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 <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","import {useContext} from 'react'\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 {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.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","import {Theme, Theme_v2, getTheme_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 {useSyncExternalStore} from 'react'\nimport {useTheme_v2} from '../../theme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\nconst MEDIA_STORE_CACHE = new WeakMap<number[], _MediaStore>()\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(media: number[]): _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 {media} = useTheme_v2()\n\n let store = MEDIA_STORE_CACHE.get(media)\n\n if (!store) {\n store = _createMediaStore(media)\n MEDIA_STORE_CACHE.set(media, store)\n }\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-color-scheme: dark)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\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 false\n}\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-reduced-motion: reduce)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\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-reduced-motion: no-preference)` 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 false\n}\n\n/**\n * Returns true if motion should be reduced\n * @public\n */\nexport function usePrefersReducedMotion(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\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 if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: borderStyle}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: borderStyle}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: borderStyle}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: borderStyle}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: borderStyle}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {Property} from 'csstype'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {EMPTY_ARRAY} from '../../constants'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","import {ThemeFocusRing} from '@sanity/ui/theme'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: ThemeFocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {ThemeColorSchemeKey, ThemeFontWeightKey, getTheme_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${$unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${$unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '@sanity/ui/theme'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {media, radius} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {ThemeBoxShadow, ThemeShadow, getTheme_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\nimport {EMPTY_RECORD} from '../../constants'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: ThemeBoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null, outlineWidth: number = 1): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(outlineWidth)} var(--card-shadow-outline-color)`\n const umbra = toBoxShadow(shadow.umbra, 'var(--card-shadow-umbra-color)')\n const penumbra = toBoxShadow(shadow.penumbra, 'var(--card-shadow-penumbra-color)')\n const ambient = toBoxShadow(shadow.ambient, 'var(--card-shadow-ambient-color)')\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {card, media, shadow} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$shadow, (index) =>\n shadowStyle(shadow[index], card.shadow.outline),\n )\n}\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: var(--card-accent-fg-color);\n `}\n\n ${$muted &&\n css`\n color: var(--card-muted-fg-color);\n `}\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * Typographic labels.\n *\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n image: avatarImageStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n position: 'absolute',\n boxSizing: 'border-box',\n zIndex: 0,\n opacity: 0,\n transition: 'all 0.2s linear',\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n\n '& > svg': {\n width: '11px',\n height: '7px',\n position: 'absolute',\n top: '-5px',\n left: '50%',\n transform: 'translateX(-6px)',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: 0,\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: 1,\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: 1,\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nexport function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color} = props\n const {avatar} = getTheme_v2(props.theme)\n\n return {\n '--avatar-bg-color': `var(--card-avatar-${$color}-bg-color)`,\n '--avatar-fg-color': `var(--card-avatar-${$color}-fg-color)`,\n\n backgroundColor: 'var(--avatar-bg-color)',\n position: 'relative',\n boxSizing: 'border-box',\n userSelect: 'none',\n boxShadow: '0 0 0 1px var(--card-bg-color)',\n\n '&[data-status=\"inactive\"]': {\n opacity: 0.5,\n },\n\n '&>svg': {\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n margin: 0,\n padding: 0,\n border: 0,\n font: 'inherit',\n color: 'inherit',\n outline: 'none',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:focus': {\n boxShadow: focusRingStyle({focusRing: avatar.focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarImageStyle(): CSSObject {\n return {\n position: 'relative',\n }\n}\n\nexport function avatarInitialsStyle(): CSSObject {\n return {\n width: '100%',\n height: '100%',\n color: 'var(--avatar-fg-color)',\n alignItems: 'center',\n justifyContent: 'center',\n textTransform: 'uppercase',\n textAlign: 'center',\n borderRadius: '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: 'var(--card-bg-color)',\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n strokeWidth: '2px',\n stroke: 'var(--avatar-bg-color)',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {ThemeColorAvatarColorKey} from '@sanity/ui/theme'\nimport {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {useTheme_v2} from '../../theme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Label} from '../label'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | 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\nconst Root = styled.div<{$color: ThemeColorAvatarColorKey; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\nconst InitialsLabel = styled(Label)({\n color: 'inherit',\n})\n\nconst Image = styled.svg(avatarStyle.image)\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: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\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 {avatar} = useTheme_v2()\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n\n // @todo: remove this\n const avatarSize = avatar.sizes[size[0]] || avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\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) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(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 <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $color={color}\n $size={size}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\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 </Arrow>\n\n {!imageFailed && src && (\n <Image viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n\n {!__unstable_hideInnerStroke && (\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n )}\n\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n </Image>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <InitialsLabel forwardedAs=\"span\" size={initialsSize} weight=\"medium\">\n {initials}\n </InitialsLabel>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {Label} from '../label'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {space} = getTheme_v2(props.theme)\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: var(--card-fg-color);\n background: var(--card-bg-color);\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n inset 0 0 0 1px var(--card-hairline-hard-color);\n padding: 0 ${rem(space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {count, size: sizeProp = 1} = 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 <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Label as=\"span\" size={fontSize} weight=\"medium\">\n {count}\n </Label>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode,\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string',\n ) as Array<React.ReactElement | string>\n}\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string',\n ) as React.ReactElement[]\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 <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} size={size} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n forwardedAs?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\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: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n color: var(--card-fg-color);\n\n ${$accent &&\n css`\n color: var(--card-accent-fg-color);\n `}\n\n ${$muted &&\n css`\n color: var(--card-muted-fg-color);\n `}\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.text.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n /** When `true` the text color will be muted. */\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\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: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from '@sanity/ui/theme'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$tone} = props\n\n return {\n '--card-bg-color': `var(--card-badge-${$tone}-bg-color)`,\n '--card-fg-color': `var(--card-badge-${$tone}-fg-color)`,\n\n backgroundColor: 'var(--card-bg-color)',\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {\n children,\n fontSize = 1,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n mode: _deprecated_mode,\n padding = 1,\n radius = 'full',\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\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: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\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: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {ThemeColorState_v2, ThemeColorCard_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\n\n/**\n * @internal\n */\nexport function _cardColorStyle(\n base: ThemeColorCard_v2,\n color: ThemeColorState_v2,\n checkered = false,\n): CSSObject {\n return {\n // from base\n\n '--card-focus-ring-color': base.focusRing,\n\n '--card-shadow-outline-color': base.shadow.outline,\n '--card-shadow-umbra-color': base.shadow.umbra,\n '--card-shadow-penumbra-color': base.shadow.penumbra,\n '--card-shadow-ambient-color': base.shadow.ambient,\n\n // from state\n\n '--card-accent-fg-color': color.accent.fg,\n\n '--card-avatar-gray-bg-color': color.avatar.gray.bg,\n '--card-avatar-gray-fg-color': color.avatar.gray.fg,\n '--card-avatar-blue-bg-color': color.avatar.blue.bg,\n '--card-avatar-blue-fg-color': color.avatar.blue.fg,\n '--card-avatar-purple-bg-color': color.avatar.purple.bg,\n '--card-avatar-purple-fg-color': color.avatar.purple.fg,\n '--card-avatar-magenta-bg-color': color.avatar.magenta.bg,\n '--card-avatar-magenta-fg-color': color.avatar.magenta.fg,\n '--card-avatar-red-bg-color': color.avatar.red.bg,\n '--card-avatar-red-fg-color': color.avatar.red.fg,\n '--card-avatar-orange-bg-color': color.avatar.orange.bg,\n '--card-avatar-orange-fg-color': color.avatar.orange.fg,\n '--card-avatar-yellow-bg-color': color.avatar.yellow.bg,\n '--card-avatar-yellow-fg-color': color.avatar.yellow.fg,\n '--card-avatar-green-bg-color': color.avatar.green.bg,\n '--card-avatar-green-fg-color': color.avatar.green.fg,\n '--card-avatar-cyan-bg-color': color.avatar.cyan.bg,\n '--card-avatar-cyan-fg-color': color.avatar.cyan.fg,\n\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.muted.bg} 0% 50%)`\n : undefined,\n\n '--card-border-color': color.border,\n\n '--card-badge-default-bg-color': color.badge.default.bg,\n '--card-badge-default-dot-color': color.badge.default.dot,\n '--card-badge-default-fg-color': color.badge.default.fg,\n '--card-badge-default-icon-color': color.badge.default.icon,\n '--card-badge-primary-bg-color': color.badge.primary.bg,\n '--card-badge-primary-dot-color': color.badge.primary.dot,\n '--card-badge-primary-fg-color': color.badge.primary.fg,\n '--card-badge-primary-icon-color': color.badge.primary.icon,\n '--card-badge-positive-bg-color': color.badge.positive.bg,\n '--card-badge-positive-dot-color': color.badge.positive.dot,\n '--card-badge-positive-fg-color': color.badge.positive.fg,\n '--card-badge-positive-icon-color': color.badge.positive.icon,\n '--card-badge-caution-bg-color': color.badge.caution.bg,\n '--card-badge-caution-dot-color': color.badge.caution.dot,\n '--card-badge-caution-fg-color': color.badge.caution.fg,\n '--card-badge-caution-icon-color': color.badge.caution.icon,\n '--card-badge-critical-bg-color': color.badge.critical.bg,\n '--card-badge-critical-dot-color': color.badge.critical.dot,\n '--card-badge-critical-fg-color': color.badge.critical.fg,\n '--card-badge-critical-icon-color': color.badge.critical.icon,\n\n '--card-code-bg-color': color.code.bg,\n '--card-code-fg-color': color.code.fg,\n\n '--card-fg-color': color.fg,\n\n '--card-icon-color': color.icon,\n\n '--card-kbd-bg-color': color.kbd.bg,\n '--card-kbd-border-color': color.kbd.border,\n '--card-kbd-fg-color': color.kbd.fg,\n\n '--card-link-fg-color': color.link.fg,\n\n '--card-muted-bg-color': color.muted.bg,\n '--card-muted-fg-color': color.muted.fg,\n\n '--card-skeleton-color-from': color.skeleton.from,\n '--card-skeleton-color-to': color.skeleton.to,\n\n // deprecated variables (kept for legacy)\n\n '--card-bg2-color': color.muted.bg,\n '--card-link-color': color.link.fg,\n '--card-hairline-soft-color': color.border,\n '--card-hairline-hard-color': color.border,\n }\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${$width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `}\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {useTheme_v2} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n muted?: boolean\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps &\n ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'width'>,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n children,\n disabled,\n fontSize = 1,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'ghost',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={space}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={iconRight ? 1 : undefined}>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: var(--card-bg-image);\n `}\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing} = props\n const {card, color, style} = getTheme_v2(props.theme)\n const border = {width: card.border.width, color: 'var(--card-border-color)'}\n\n return css`\n color-scheme: ${color._dark ? 'dark' : 'light'};\n\n ${_cardColorStyle(color, color, $checkered)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined};\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorProvider, useRootTheme} from '../../theme'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\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 pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\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: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n // todo: Consider adding the wrapper approach for nested cards in which the tones are not changing, avoid unnecessary ThemeColorProvider\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input, radius} = getTheme_v2(props.theme)\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${color.input.default.enabled.bg};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.5px !important;\n }\n }\n }\n\n &:checked + span {\n background: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.fg,\n width: input.border.width,\n })};\n color: ${color.input.default.enabled.bg};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &[data-error]&:checked + span {\n background-color: ${color.input.invalid.enabled.muted.bg};\n color: ${color.input.default.enabled.bg};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.invalid.readOnly.muted.bg},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${color.input.default.disabled.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.disabled.border,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &:disabled&:checked + span {\n background-color: ${color.input.default.disabled.muted.bg};\n }\n\n &[data-read-only] + span {\n background-color: ${color.input.default.readOnly.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.readOnly.border,\n })};\n color: ${color.input.default.readOnly.fg};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${color.input.default.readOnly.muted.bg};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\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: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css, ExecutionContext} from 'styled-components'\n\nfunction codeSyntaxHighlightingStyle({theme}: ExecutionContext) {\n const {\n color: {syntax: color},\n } = getTheme_v2(theme)\n\n return {\n '&.atrule': {color: color.atrule},\n '&.attr-name': {color: color.attrName},\n '&.attr-value': {color: color.attrValue},\n '&.attribute': {color: color.attribute},\n '&.boolean': {color: color.boolean},\n '&.builtin': {color: color.builtin},\n '&.cdata': {color: color.cdata},\n '&.char': {color: color.char},\n '&.class': {color: color.class},\n '&.class-name': {color: color.className},\n '&.comment': {color: color.comment},\n '&.constant': {color: color.constant},\n '&.deleted': {color: color.deleted},\n '&.doctype': {color: color.doctype},\n '&.entity': {color: color.entity},\n '&.function': {color: color.function},\n '&.hexcode': {color: color.hexcode},\n '&.id': {color: color.id},\n '&.important': {color: color.important},\n '&.inserted': {color: color.inserted},\n '&.keyword': {color: color.keyword},\n '&.number': {color: color.number},\n '&.operator': {color: color.operator},\n '&.prolog': {color: color.prolog},\n '&.property': {color: color.property},\n '&.pseudo-class': {color: color.pseudoClass},\n '&.pseudo-element': {color: color.pseudoElement},\n '&.punctuation': {color: color.punctuation},\n '&.regex': {color: color.regex},\n '&.selector': {color: color.selector},\n '&.string': {color: color.string},\n '&.symbol': {color: color.symbol},\n '&.tag': {color: color.tag},\n '&.unit': {color: color.unit},\n '&.url': {color: color.url},\n '&.variable': {color: color.variable},\n }\n}\n\nexport function codeBaseStyle(): ReturnType<typeof css> {\n return css`\n color: var(--card-code-fg-color);\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {codeBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<ResponsiveFontStyleProps>(codeBaseStyle, responsiveCodeFontStyle)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n\n return (\n <Root data-ui=\"Code\" {...restProps} $size={useArrayProp(size)} $weight={weight} ref={ref}>\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {container, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\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: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\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: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n ${$accent &&\n css`\n color: var(--card-accent-fg-color);\n `}\n\n ${$muted &&\n css`\n color: var(--card-muted-fg-color);\n `}\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * Typographic headings.\n *\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => {\n const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex])\n\n return {\n margin: `-${_space} 0 0 -${_space}`,\n '& > div': {padding: `${_space} 0 0 ${_space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n /** The spacing between children. */\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\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: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp],\n )\n\n return (\n <Root\n data-ui=\"Inline\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n >\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\nfunction kbdStyle() {\n return css`\n --card-bg-color: var(--card-kbd-bg-color);\n --card-border-color: var(--card-kbd-border-color);\n --card-fg-color: var(--card-kbd-fg-color);\n\n box-shadow: inset 0 0 0 1px var(--card-border-color);\n background: var(--card-bg-color);\n font: inherit;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {children, fontSize = 0, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n </Root>\n )\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 {ForwardedRef, HTMLProps, ReactElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useTheme_v2} from '../../theme'\nimport {Point, compileCommands, getRoundedCommands} from './cmds'\n\nconst Root = styled.div<{$w: number}>(\n ({$w: w}) => css`\n position: absolute;\n width: ${w}px;\n height: ${w}px;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n line-height: 0;\n transform-origin: ${w / 2}px ${w / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${w}px;\n\n & > svg {\n transform: rotate(0);\n }\n }\n\n [data-placement^='right'] > & {\n left: -${w}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${w}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${w}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n `,\n)\n\nconst StrokePath = styled.path`\n stroke: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\n/** @internal */\nexport const Arrow = forwardRef(function Arrow(\n props: {width: number; height: number; radius?: number} & Omit<\n HTMLProps<HTMLDivElement>,\n 'width' | 'height'\n >,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {width: w, height: h, radius = 0, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const points: Point[] = [\n {\n x: 0,\n y: 0,\n },\n {\n x: radius,\n y: 0,\n radius,\n },\n {\n x: center,\n y: h - 1,\n radius,\n },\n {\n x: w - radius,\n y: 0,\n radius,\n },\n {\n x: w,\n y: 0,\n },\n ]\n\n const cmds = getRoundedCommands(points)\n const path = compileCommands(cmds)\n\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <Root {...restProps} $w={w} ref={ref}>\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect x={0} y={strokeWidth} width={w} height={w} fill=\"white\" />\n </mask>\n <StrokePath d={strokePath} mask=\"url(#stroke-mask)\" strokeWidth={strokeWidth * 2} />\n <ShapePath d={fillPath} />\n </svg>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.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","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'\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","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 {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme_v2} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const theme = useTheme_v2()\n const {children, media = theme.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\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(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef],\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\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 {Context, createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\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","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\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 {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\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 {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.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] : zOffset[mediaIndex]\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],\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","import {FocusEvent, forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\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 {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst Root = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, onActivate, onFocus, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const forwardedRef = useForwardedRef(ref)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\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 = forwardedRef.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 [forwardedRef, isTopLayer, onFocus],\n )\n\n return (\n <Root\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={forwardedRef}\n style={{...style, zIndex}}\n >\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<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","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/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\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\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 {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.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): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\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(children, portalElement)\n}\n","import {useRef} from 'react'\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 *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function 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","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\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: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof document !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme_v2} from '../../theme'\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> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme_v2()\n const forwardedRef = useForwardedRef(ref)\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 useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\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 }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 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 if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\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 <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\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 {Elements, Middleware, detectOverflow} from '@floating-ui/react-dom'\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 {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n container: number[]\n width: PopoverWidth[]\n}): number | undefined {\n const {container, mediaIndex, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} from '../../types'\nimport {Arrow, useLayer} from '../../utils'\nimport {Card} 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\nconst Root = styled(Card)({\n '&:not([hidden])': {\n display: 'flex',\n },\n flexDirection: 'column',\n width: 'max-content',\n minWidth: 'min-content',\n})\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n overflow,\n radius,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n const {zIndex} = 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 position: strategy,\n top: y,\n left: x,\n width,\n zIndex,\n ...style,\n }),\n [strategy, style, width, x, y, zIndex],\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 <Root\n data-ui=\"Popover\"\n {...restProps}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\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 </Root>\n )\n }),\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {\n MutableRefObject,\n RefCallback,\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize, useMediaIndex} from '../../hooks'\nimport {useTheme_v2} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\nexport type {PopoverUpdateCallback}\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n matchReferenceWidth?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\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 referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\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: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const {container, layer} = useTheme_v2()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n arrow: arrowProp = false,\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = layer.popover.zOffset,\n updateRef,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const widthArrayProp = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({\n container,\n mediaIndex,\n width: widthArrayProp,\n })\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>()\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = forwardedRef.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, forwardedRef, matchReferenceWidth, maxWidth, open])\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 const _currentWidth = widthRef.current\n const _maxWidth = maxWidthRef.current\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (_currentWidth !== undefined) {\n elements.floating.style.width = `${_currentWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(\n availableWidth,\n _maxWidth ?? Infinity,\n )}px`\n\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 eleement\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 ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\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 })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const childRef = (childProp as any)?.ref\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 (!childProp || referenceElement) 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 useEffect(() => {\n refs.setReference(referenceElement || null)\n }, [referenceElement, refs])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidthRef.current : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Popover'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${color.input.default.enabled.bg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${color.input.default.enabled.fg};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.radio.focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n &::after {\n background: ${color.input.invalid.enabled.muted.bg};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${color.input.default.readOnly.border};\n background: ${color.input.default.readOnly.bg};\n\n &::after {\n background: ${color.input.default.readOnly.border};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${color.input.default.disabled.border};\n background: ${color.input.default.disabled.bg};\n\n &::after {\n background: ${color.input.default.disabled.border};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\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: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} 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 </Root>\n )\n})\n","import {ThemeFontSize, getTheme_v2} from '@sanity/ui/theme'\nimport {CSSObject} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {font} = getTheme_v2(props.theme)\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.text.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n /* enabled */\n background-color: ${color.input.default.enabled.bg};\n color: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${color.input.default.hovered.bg};\n color: ${color.input.default.hovered.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.select.focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${color.input.default.readOnly.bg};\n color: ${color.input.default.readOnly.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.readOnly.border,\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${color.input.default.disabled.bg};\n color: ${color.input.default.disabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: rem(size.lineHeight)}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {$fontSize} = props\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, $fontSize, (sizeIndex) =>\n textSize(font.text.sizes[sizeIndex] || font.text.sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color} = getTheme_v2(props.theme)\n\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n }\n\n /* disabled */\n select:disabled + && {\n --card-fg-color: ${color.input.default.disabled.fg};\n }\n\n /* read-only */\n select[data-read-only] + && {\n --card-fg-color: ${color.input.default.readOnly.fg};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>,\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {rem, _responsive, ThemeProps} from '../../styles'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\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: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --switch-bg-color: ${color.input.default.enabled.border};\n --switch-fg-color: ${color.input.default.enabled.bg};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing: input.switch.focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${color.input.default.hovered.border};\n --switch-fg-color: ${color.input.default.hovered.bg};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${color.input.default.disabled.border};\n --switch-fg-color: ${color.input.default.disabled.bg};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${color.input.default.readOnly.border};\n --switch-fg-color: ${color.input.default.readOnly.bg};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {input} = getTheme_v2(props.theme)\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate} = props\n const {input} = getTheme_v2(props.theme)\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\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: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {useRootTheme} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * A multiline text input.\n *\n\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={useArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {useRootTheme} from '../../theme'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\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 {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.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 // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\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 </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {useRef} from 'react'\nimport {useState, useCallback, SetStateAction} 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>()\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","export function ConditionalWrapper({\n children,\n condition,\n wrapper,\n}: {\n children: React.ReactNode\n condition: boolean\n wrapper: (children: React.ReactNode) => React.ReactNode\n}): React.ReactNode {\n if (!condition) {\n return children\n }\n\n return wrapper(children)\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 {createContext} from 'react'\nimport {globalScope} from '../../../lib/globalScope'\nimport {TooltipDelayGroupContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tooltipDelayGroup')\n\nglobalScope[key] = globalScope[key] || createContext<TooltipDelayGroupContextValue | null>(null)\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext: React.Context<TooltipDelayGroupContextValue | null> =\n globalScope[key]\n","import {useContext} from 'react'\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 {useMemo} from 'react'\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?: React.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(\n props: TooltipDelayGroupProviderProps,\n): React.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 isGroupActive: isGroupActive,\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence, motion} from 'framer-motion'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n useId,\n} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {useTheme_v2} from '../../theme'\nimport {Placement} from '../../types'\nimport {Arrow, Layer, LayerProps, Portal, useBoundaryElement, usePortal} from '../../utils'\nimport {Card} from '../card'\nimport {Delay} from '../types'\nimport {ConditionalWrapper} from './conditionalWrapper'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_TOOLTIP_ARROW_HEIGHT,\n DEFAULT_TOOLTIP_ARROW_RADIUS,\n DEFAULT_TOOLTIP_ARROW_WIDTH,\n DEFAULT_TOOLTIP_DISTANCE,\n DEFAULT_TOOLTIP_PADDING,\n} from './constants'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n /** Whether or not to render the tooltip in a portal element. */\n portal?: boolean | string\n radius?: number | number[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\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 /**\n * Whether the tooltip should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n}\n\nconst Root = styled(Layer)<{$maxWidth: number}>`\n pointer-events: none;\n max-width: ${({$maxWidth}) => $maxWidth}px;\n`\n\n/**\n * Tooltips display information when hovering, focusing or tapping.\n *\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const {layer} = useTheme_v2()\n const {\n arrow: arrowProp = false,\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\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 = 2,\n scheme,\n shadow = 2,\n zOffset = layer.tooltip.zOffset,\n delay,\n animate = false,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const portal = usePortal()\n const portalElement =\n typeof portalProp === 'string' ? portal.elements?.[portalProp] || null : portal.element\n\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 tooltipWidth = useMemo(() => {\n const availableWidths = [\n ...(boundaryElement ? [boundaryElement.offsetWidth] : []),\n portalElement?.offsetWidth || document.body.offsetWidth,\n ]\n\n return Math.min(...availableWidths) - DEFAULT_TOOLTIP_PADDING * 2\n }, [boundaryElement, portalElement?.offsetWidth])\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 return ret\n }, [arrowProp, boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\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 const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\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 delayGroupContext.setIsGroupActive(open, groupedOpenDelay)\n delayGroupContext.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 delayGroupContext.setIsGroupActive(open, groupDeactivateDelay)\n delayGroupContext.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 [isInsideGroup, delayGroupContext, openDelay, tooltipId, closeDelay, setIsOpen],\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), [handleIsOpenChange]\n childProp?.props.onClick?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleContextMenu = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true), [handleIsOpenChange]\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 // 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) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [showTooltip, referenceElement, handleIsOpenChange])\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 // Update reference\n useEffect(() => refs.setReference(referenceElement), [referenceElement, refs])\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 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 forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef],\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: setReference,\n })\n }, [\n childProp,\n handleBlur,\n handleClick,\n handleContextMenu,\n handleFocus,\n handleMouseEnter,\n handleMouseLeave,\n setReference,\n ])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root\n data-ui=\"Tooltip\"\n {...restProps}\n ref={setFloating}\n style={floatingStyles}\n zOffset={zOffset}\n $maxWidth={tooltipWidth}\n >\n <ConditionalWrapper\n condition={animate} // Add animation wrapper if it should animate\n wrapper={(children) => (\n <motion.div\n initial={{opacity: 0.5, scale: 0.95}}\n animate={{opacity: 1, scale: 1}}\n exit={{opacity: 0, scale: 0.95}}\n transition={{duration: 0.3, type: 'spring'}}\n >\n {children}\n </motion.div>\n )}\n >\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={radius}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n {arrowProp && (\n <Arrow\n ref={setArrow}\n style={arrowStyle}\n width={DEFAULT_TOOLTIP_ARROW_WIDTH}\n height={DEFAULT_TOOLTIP_ARROW_HEIGHT}\n radius={DEFAULT_TOOLTIP_ARROW_RADIUS}\n />\n )}\n </Card>\n </ConditionalWrapper>\n </Root>\n )\n\n return (\n <>\n {child}\n <ConditionalWrapper\n condition={animate}\n wrapper={(children) => <AnimatePresence>{children}</AnimatePresence>} // Add AnimatePresence if it should animate\n >\n {showTooltip && (\n <ConditionalWrapper\n condition={!!portalProp} // Add portal if portalProp is set\n wrapper={(children) => (\n <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n {children}\n </Portal>\n )}\n >\n {root}\n </ConditionalWrapper>\n )}\n </ConditionalWrapper>\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {Radius} from '../../types'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n /** The options to render. */\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n /** @beta */\n relatedElements?: HTMLElement[]\n /** The callback function for rendering each option. */\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n /** The current value. */\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption,\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 2,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * The Autocomplete component is typically used for search components.\n * It consists of a text input for writing a query, and properties for rendering suggestions.\n *\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n },\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>,\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children],\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {_responsive, ThemeProps} from '../../styles'\nimport {DialogPosition} from '../../types'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const {color} = getTheme_v2(theme)\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: color.backdrop,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n\n/**\n * @internal\n */\nexport interface AnimationDialogStyleProps {\n animate: boolean\n}\n\nexport function animationDialogStyle(props: AnimationDialogStyleProps): ReturnType<typeof css> {\n if (!props.animate) return css``\n\n return css`\n @keyframes zoomIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n animation: fadeIn 200ms ease-out;\n // Animates the dialog card.\n & > [data-ui='DialogCard'] {\n animation: zoomIn 200ms ease-out;\n }\n `\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {\n containsOrEqualsElement,\n focusFirstDescendant,\n focusLastDescendant,\n isHTMLElement,\n} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {useTheme_v2} from '../../theme'\nimport {DialogPosition, Radius} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement, useLayer, usePortal} from '../../utils'\nimport {\n animationDialogStyle,\n AnimationDialogStyleProps,\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n /**\n * Whether the dialog should animate in on mount.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst Root = styled(Layer)<\n ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps & AnimationDialogStyleProps\n>(responsivePaddingStyle, dialogStyle, responsiveDialogPositionStyle, animationDialogStyle)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Box)`\n position: relative;\n z-index: 2;\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)`\n position: relative;\n z-index: 3;\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutside(\n useCallback(\n (event: MouseEvent) => {\n if (!isTopLayer || !onClickOutside) return\n\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n },\n [boundaryElement, isTopLayer, onClickOutside, portalElement],\n ),\n [rootElement],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef],\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex align=\"center\" padding={3}>\n <Box flex={1} padding={2}>\n {header && (\n <Text id={labelId} size={1} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box flex=\"none\">\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={2}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * The Dialog component.\n *\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const dialog = useDialog()\n const {layer} = useTheme_v2()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 4,\n cardShadow = 3,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 3,\n portal: portalProp,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || layer.dialog.zOffset,\n animate = false,\n ...restProps\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>()\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n animate={animate}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\nimport {Radius} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n font: inherit;\n padding: 1px;\n\n &:not([hidden]) {\n display: block;\n }\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\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: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>,\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 0.5, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\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: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\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 {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\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(rootElement, 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 [rootElement, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: React.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: React.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 rootElement?.focus()\n }, [setActiveIndex, rootElement])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\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 activeIndexRef.current = 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 activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\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 space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\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: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\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 onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement],\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 useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside],\n ),\n [rootElement],\n )\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 // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\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 <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {Placement, Radius} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: Radius | Radius[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * The `MenuButton` component follows the WAI-ARIA specification for menu buttons.\n *\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>,\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ],\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref],\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n boundaryElement: deprecated_boundaryElement,\n overflow: 'auto',\n placement: deprecated_placement,\n portal: deprecated_portal,\n preventOverflow: deprecated_preventOverflow,\n radius: deprecated_popoverRadius,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }),\n [\n deprecated_boundaryElement,\n deprecated_placement,\n deprecated_popoverRadius,\n deprecated_popoverScheme,\n deprecated_portal,\n deprecated_preventOverflow,\n popover,\n ],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled from 'styled-components'\n\n/**\n * @public\n */\nexport const MenuDivider = styled.hr`\n height: 1px;\n border: 0;\n background: var(--card-hairline-soft-color);\n margin: 0;\n`\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\nimport {SelectableTone} from '../../types'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: SelectableTone\n}\n\nexport function selectableBaseStyle(): ReturnType<typeof css> {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$tone} = props\n const {color, style} = getTheme_v2(props.theme)\n const tone = color.selectable[$tone]\n\n return css`\n ${_cardColorStyle(color, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n outline: none;\n\n /* &:is(button) */\n &[data-as='button'] {\n &:disabled {\n ${_cardColorStyle(color, tone.disabled)}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_cardColorStyle(color, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n &:active {\n ${_cardColorStyle(color, tone.pressed)}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_cardColorStyle(color, tone.disabled)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n &:active {\n ${_cardColorStyle(color, tone.pressed)}\n }\n }\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle,\n)\n","import {useContext} from 'react'\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 {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {useRootTheme} from '../../theme'\nimport {Radius, SelectableTone} from '../../types'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>,\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n icon,\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 const {scheme} = useRootTheme()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.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: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) 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 const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\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 data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n $scheme={scheme}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={space} padding={padding}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\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","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {useRootTheme} from '../../theme'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n hotkeys,\n icon,\n iconRight,\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 const {scheme} = useRootTheme()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.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 hotkeysFontSize = useArrayProp(fontSize).map((s) => s - 1)\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref],\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={disabled ? 'default' : tone}\n $scheme={scheme}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Flex as=\"span\" gap={space} align=\"center\" {...paddingProps}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\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\n fontSize={hotkeysFontSize}\n keys={hotkeys}\n style={{marginTop: -4, marginBottom: -4}}\n />\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n )}\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: var(--card-skeleton-color-from);\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle,\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {ThemeFontKey, getTheme_v2} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps, _responsive} from '../../styles'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>((\n props: {\n $size: number[]\n $style: ThemeFontKey\n } & ThemeProps,\n) => {\n const {$size, $style} = props\n const {font, media} = getTheme_v2(props.theme)\n const fontStyle = font[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = fontStyle.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'aria-controls' | 'as' | 'id' | 'label' | 'type' | 'width'\n >,\n forwardedRef: React.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 elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <CustomButton\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={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport styled from 'styled-components'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.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 <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {ThemeColorToneKey} from '@sanity/ui/theme'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n radius?: number | number[]\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * The `Toast` component gives feedback to users when an action has taken place.\n *\n * Toasts can be closed with a close button, or auto-dismiss after a certain timeout.\n *\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>,\n): React.ReactElement {\n const {closable, description, onClose, radius = 3, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={radius}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && (\n <Text size={1} weight=\"medium\">\n {title}\n </Text>\n )}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {useEffect, useReducer} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n // Use useReducer instead of useState as it's more low-level and creates the least amount of functions for the garbage collector to clean up\n const [mounted, mount] = useReducer(() => true, false)\n\n useEffect(mount, [mount])\n\n return mounted\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState, startTransition} from 'react'\nimport styled from 'styled-components'\nimport {useMounted} from '../../hooks/useMounted'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, _setState] = useState<ToastState>([])\n\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n // Wrap setState in startTransition to allow React to give input state updates higher priority\n const setState: typeof _setState = (state) => startTransition(() => _setState(state))\n\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState): ToastState => {\n const idx = prevState.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.slice(0)\n\n toasts.splice(idx, 1)\n\n return toasts\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState): ToastState => {\n return prevState\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ])\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n [],\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n const mounted = useMounted()\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n {mounted && (\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): 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('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const {children, space = 1, onFocus, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n }),\n)\n\nTree.displayName = 'Tree'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {_cardColorStyle} from '../../styles/card'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): ReturnType<typeof css> {\n const $tone = 'default'\n const {color} = getTheme_v2(props.theme)\n const tone = color.selectable[$tone]\n\n return css`\n &[role='none'] {\n & > [role='treeitem'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n & > [role='treeitem']:focus {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, BoxProps, Flex, Text} from '../../primitives'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: BoxProps['as']\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize = 1,\n href,\n icon,\n id: idProp,\n linkAs,\n muted,\n onClick,\n padding = 2,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","concat","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","arguments","length","undefined","Error","space","getTheme_v2","spaceIndex","responsiveFont","fontKey","$size","$weight","font","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","useMemo","JSON","stringify","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","top","left","bottom","right","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size$1","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_ref","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ThemeProvider","parentTheme","useContext","children","scheme","rootTheme","tone","themeContext","version","getScopedTheme","jsx","Provider","StyledThemeProvider","useRootTheme","ThemeColorProvider","root","useTheme","useStyledTheme","useTheme_v2","MEDIA_STORE_CACHE","_getMediaQuery","_createMediaStore","mediaLen","getSizes","mediaQuery","mq","matchMedia","getSnapshot","matches","onStoreChange","disposeFns","handleChange","disposeFn","getServerSnapshot","getServerSnapshot$2","useMediaIndex","store","useSyncExternalStore","MEDIA_QUERY_CACHE","getMatchMedia","getMatchMedia$1","getSnapshot$1","getServerSnapshot$1","usePrefersDark","usePrefersReducedMotion","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","responsiveBorderStyle","card","borderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","color","focusRingStyle","opts","focusRing","focusRingOutsetWidth","offset","focusRingInsetWidth","bgColor","bg","join","GRID_CSS","GRID_AUTO_COLUMS","auto","min","max","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","len","_padding","_space","_fontSize","_","text","emSize","p","s","styles","responsiveInputPaddingIconRightStyle","_c","ROOT_STYLE","css","__template","textInputRootStyle","textInputBaseStyle","$scheme","$tone","input","default","enabled","fg","placeholder","disabled","invalid","readOnly","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","$unstableDisableFocusRing","hovered","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","radius","$radius","borderRadius","toBoxShadow","shadow","shadowStyle","outlineWidth","outline","umbra","penumbra","ambient","boxShadow","responsiveShadowStyle","$shadow","labelBaseStyle","$accent","$muted","code","Root","styled","div","SpanWithTextOverflow","span","Label","forwardRef","accent","childrenProp","muted","textOverflow","weight","restProps","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","image","avatarImageStyle","zIndex","opacity","transition","$color","avatar","backgroundColor","userSelect","WebkitFontSmoothing","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeDasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","InitialsLabel","Image","Avatar","__unstable_hideInnerStroke","as","asProp","src","title","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","jsxs","viewBox","d","id","patternContentUnits","href","onError","cx","cy","r","rx","ry","vectorEffect","Fragment","forwardedAs","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","distance","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","textBaseStyle","bold","Text","badgeStyle","cursor","verticalAlign","Badge","mode","_deprecated_mode","Flex","rotate","keyframes","Spinner","SpinnerIcon","_cardColorStyle","checkered","gray","blue","purple","magenta","red","orange","yellow","green","cyan","badge","dot","icon","primary","positive","caution","critical","kbd","link","skeleton","from","to","buttonBaseStyles","$width","button","combineBoxShadow","_len","boxShadows","_key","buttonColorStyles","$mode","baseColor","defaultBoxShadow","pressed","LoadingBox","Button","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","selected","spaceProp","boxProps","isValidElement","createElement","textWeight","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","_dark","selectable","Card","__unstable_checkered","__unstable_focusRing","toneProp","checkboxBaseStyles","inputElementStyles","checkbox","Input","Checkbox","forwardedRef","checked","className","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","_ref2","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","comment","constant","deleted","doctype","entity","function","hexcode","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","container","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","inlineSpaceStyle","Inline","kbdStyle","KBD","moveTowardsLength","movingPoint","targetPoint","amount","sqrt","moveTowardsFractional","fraction","getRoundedCommands","points","cmds","point","prevPoint","nextPoint","curveStart","curveEnd","startControl","endControl","compileCommands","_ref3","$w","w","StrokePath","path","ShapePath","h","center","strokePath","fillPath","mask","BoundaryElementContext","BoundaryElementProvider","isRecord","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","__publicField","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","state","getLayerContext","contextValue","LayerContext","useLayer","err","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","LayerProvider","zOffset","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","parentLevel","level","maxMediaIndex","setChildLayers","isTopLayer","childLevel","parentDispose","prevLen","nextState","v","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","becameTopLayer","handleFocus","rootElement","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","handleScroll2","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","item","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","apply","margins","args","placement","platform","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","floatingW","floatingH","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","calcCurrentWidth","params","currentWidth","calcMaxWidth","boundaryWidth","PopoverCard","memo","PopoverCard2","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","strategy","xProp","yProp","rootStyle","arrowStyle","displayName","Popover","Popover2","_d","_e","_f","_g","_h","layer","boundaryElementContext","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","open","placementProp","preventOverflow","referenceBoundary","referenceElement","shadowProp","widthProp","popover","updateRef","boundarySize","widthArrayProp","widthRef","maxWidthRef","referenceWidthRef","floatingElement","middleware","flip","mainAxis","_ref4","_currentWidth","_maxWidth","shift","hide","middlewareData","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","radio","markSize","Radio","inputBaseStyle","inputColorStyle","select","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","IconBox","Select","ChevronDownIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switch","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","transitionDurationMs","transitionTimingFunction","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInputClearButton","TextInput","__unstable_disableFocusRing","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","useDelayedState","initialState","setState","delayedAction","onStateChange","delay","action","clearTimeout","setTimeout","ConditionalWrapper","_ref5","condition","wrapper","DEFAULT_TOOLTIP_ARROW_WIDTH","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipDelayGroupContext","useTooltipDelayGroup","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","_ref6","$maxWidth","Tooltip","fallbackPlacementsProp","portalProp","tooltip","animate","setReferenceElement","tooltipWidth","availableWidths","floatingStyles","tooltipId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","immediate","groupedOpenDelay","minimumGroupDeactivateDelay","groupDeactivateDelay","standaloneDelay","handleBlur","e","onBlur","handleClick","handleContextMenu","onContextMenu","handleMouseEnter","onMouseEnter","handleMouseLeave","onMouseLeave","handleWindowMouseMove","isHoveringReference","handleWindowKeyDown","motion","initial","scale","exit","duration","AnimatePresence","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","_ref7","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","dialogStyle","_ref8","background","backdrop","responsiveDialogPositionStyle","$position","animationDialogStyle","DialogContext","useDialog","isTargetWithinScope","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","setRootElement","localContentRef","labelId","showCloseButton","showHeader","setContentRef","Dialog","dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","rootClickTimeoutRef","handleRootClick","DialogProvider","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","a","b","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","onOpen","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","hotkeysFontSize","keyframe","animation","skeletonStyle","_ref9","$visible","_ref10","$animated","Skeleton","animated","visible","setVisible","$style","fontStyle","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","CustomButton","Tab","label","elementRef","focusedRef","_isReactElement","CustomInline","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","useMounted","ToastContext","ToastContainer","toastId","ToastProvider","_setState","toastsRef","startTransition","dismiss","timeoutId","prevState","findIndex","t","toasts","_ref11","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","split","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","Tree2","setFocusedElement","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","linkAs","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":"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","x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}
|