{"version":3,"file":"_visual-editing.mjs","sources":["../../src/core/_compat.ts","../../src/core/constants.ts","../../src/core/helpers/element.ts","../../src/core/helpers/scroll.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/useClickOutsideEvent.ts","../../src/core/hooks/useCustomValidity.ts","../../src/core/observers/resizeObserver.ts","../../src/core/observers/elementSizeObserver.ts","../../src/core/hooks/useElementSize.ts","../../src/core/hooks/useGlobalKeyDown.ts","../../src/core/hooks/useMatchMedia.ts","../../src/core/lib/globalScope.ts","../../src/core/lib/createGlobalScopedContext.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/styles/border/borderStyle.ts","../../src/core/styles/box/boxStyle.ts","../../src/core/styles/flex/flexItemStyle.ts","../../src/core/styles/flex/flexStyle.ts","../../src/core/styles/focusRing/index.ts","../../src/core/styles/grid/gridItemStyle.ts","../../src/core/styles/grid/gridStyle.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/utils/spanWithTextOverflow.tsx","../../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/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/middleware/origin.ts","../../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/conditionalWrapper/conditionalWrapper.tsx","../../src/core/utils/elementQuery/helpers.ts","../../src/core/utils/elementQuery/elementQuery.tsx","../../src/core/utils/layer/getLayerContext.ts","../../src/core/utils/layer/layerContext.ts","../../src/core/utils/layer/layerProvider.tsx","../../src/core/utils/layer/useLayer.ts","../../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/utils/portal/portalProvider.tsx","../../src/core/utils/srOnly/srOnly.tsx","../../src/core/utils/virtualList/virtualList.tsx","../../src/core/utils/getElementRef.ts","../../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/constants.ts","../../src/core/primitives/tooltip/tooltipCard.tsx","../../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../../src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../../src/core/primitives/tooltip/tooltip.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/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/tab/tab.tsx","../../src/core/components/tab/tabList.tsx"],"sourcesContent":["// This file re-exports API members which existed in the `@sanity/ui` export in v1.\n\nimport {\n  type BaseTheme as _BaseTheme,\n  buildTheme,\n  type HSL as _HSL,\n  type PartialThemeColorBuilderOpts,\n  type RGB as _RGB,\n  type RootTheme as _RootTheme,\n  type Theme as _Theme,\n  type ThemeAvatar,\n  type ThemeBoxShadow,\n  type ThemeColor,\n  type ThemeColorBase,\n  type ThemeColorBuilderOpts,\n  type ThemeColorButton,\n  type ThemeColorButtonModeKey as _ThemeColorButtonModeKey,\n  type ThemeColorButtonState,\n  type ThemeColorButtonStates,\n  type ThemeColorButtonTones,\n  type ThemeColorCard,\n  type ThemeColorCardState,\n  type ThemeColorGenericState,\n  type ThemeColorInput,\n  type ThemeColorInputState,\n  type ThemeColorInputStates,\n  type ThemeColorMuted,\n  type ThemeColorMutedTone,\n  type ThemeColorName,\n  type ThemeColorScheme,\n  type ThemeColorSchemeKey as _ThemeColorSchemeKey,\n  type ThemeColorSchemes,\n  type ThemeColorSelectable,\n  type ThemeColorSelectableState,\n  type ThemeColorSelectableStates,\n  type ThemeColorSolid,\n  type ThemeColorSolidTone,\n  type ThemeColorSpot,\n  type ThemeColorSpotKey,\n  type ThemeColorSyntax as _ThemeColorSyntax,\n  type ThemeColorToneKey,\n  type ThemeFont as _ThemeFont,\n  type ThemeFontKey as _ThemeFontKey,\n  type ThemeFonts as _ThemeFonts,\n  type ThemeFontSize as _ThemeFontSize,\n  type ThemeFontWeight as _ThemeFontWeight,\n  type ThemeFontWeightKey as _ThemeFontWeightKey,\n  type ThemeInput,\n  type ThemeLayer as _ThemeLayer,\n  type ThemeShadow as _ThemeShadow,\n  type ThemeStyles,\n} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `BaseTheme` from `@sanity/ui/theme` instead.\n */\nexport type BaseTheme = _BaseTheme\n\n/**\n * @public\n * @deprecated Use `ThemeBoxShadow` from `@sanity/ui/theme` instead.\n */\nexport type BoxShadow = ThemeBoxShadow\n\n/**\n * @public\n * @deprecated Use `HSL` from `@sanity/ui/theme` instead.\n */\nexport type HSL = _HSL\n\n/**\n * @public\n * @deprecated Use `RGB` from `@sanity/ui/theme` instead.\n */\nexport type RGB = _RGB\n\n/**\n * @public\n * @deprecated Use `RootTheme` from `@sanity/ui/theme` instead.\n */\nexport type RootTheme = _RootTheme\n\n/**\n * @public\n * @deprecated Use `ThemeStyles` from `@sanity/ui/theme` instead.\n */\nexport type Styles = ThemeStyles\n\n/**\n * @public\n * @deprecated Use `Theme` from `@sanity/ui/theme` instead.\n */\nexport type Theme = _Theme\n\n/**\n * @public\n * @deprecated Use `ThemeColorButtonModeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorButtonModeKey = _ThemeColorButtonModeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSchemeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSchemeKey = _ThemeColorSchemeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSyntax` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSyntax = _ThemeColorSyntax\n\n/**\n * @public\n * @deprecated Use `ThemeFont` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFont = _ThemeFont\n\n/**\n * @public\n * @deprecated Use `ThemeFontKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontKey = _ThemeFontKey\n\n/**\n * @public\n * @deprecated Use `ThemeFontSize` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontSize = _ThemeFontSize\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeight` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeight = _ThemeFontWeight\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeightKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeightKey = _ThemeFontWeightKey\n\n/**\n * @public\n * @deprecated Use `ThemeFonts` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFonts = _ThemeFonts\n\n/**\n * @public\n * @deprecated Use `ThemeLayer` from `@sanity/ui/theme` instead.\n */\nexport type ThemeLayer = _ThemeLayer\n\n/**\n * @public\n * @deprecated Use `ThemeShadow` from `@sanity/ui/theme` instead.\n */\nexport type ThemeShadow = _ThemeShadow\n\nexport {\n  type PartialThemeColorBuilderOpts,\n  type ThemeAvatar,\n  type ThemeColor,\n  type ThemeColorBase,\n  type ThemeColorBuilderOpts,\n  type ThemeColorButton,\n  type ThemeColorButtonState,\n  type ThemeColorButtonStates,\n  type ThemeColorButtonTones,\n  type ThemeColorCard,\n  type ThemeColorCardState,\n  type ThemeColorGenericState,\n  type ThemeColorInput,\n  type ThemeColorInputState,\n  type ThemeColorInputStates,\n  type ThemeColorMuted,\n  type ThemeColorMutedTone,\n  type ThemeColorName,\n  type ThemeColorScheme,\n  type ThemeColorSchemes,\n  type ThemeColorSelectable,\n  type ThemeColorSelectableState,\n  type ThemeColorSelectableStates,\n  type ThemeColorSolid,\n  type ThemeColorSolidTone,\n  type ThemeColorSpot,\n  type ThemeColorSpotKey,\n  type ThemeColorToneKey,\n  type ThemeInput,\n}\n\nimport {\n  createColorTheme as _createColorTheme,\n  hexToRgb as _hexToRgb,\n  hslToRgb as _hslToRgb,\n  multiply as _multiply,\n  parseColor as _parseColor,\n  rgba as _rgba,\n  rgbToHex as _rgbToHex,\n  rgbToHsl as _rgbToHsl,\n  screen as _screen,\n} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `createColorTheme` from `@sanity/ui/theme` instead.\n */\nexport const createColorTheme = _createColorTheme\n\n/**\n * @public\n * @deprecated Use `hexToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hexToRgb = _hexToRgb\n\n/**\n * @public\n * @deprecated Use `hslToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hslToRgb = _hslToRgb\n\n/**\n * @public\n * @deprecated Use `multiply` from `@sanity/ui/theme` instead.\n */\nexport const multiply = _multiply\n\n/**\n * @public\n * @deprecated Use `parseColor` from `@sanity/ui/theme` instead.\n */\nexport const parseColor = _parseColor\n\n/**\n * @public\n * @deprecated Use `rgbToHex` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHex = _rgbToHex\n\n/**\n * @public\n * @deprecated Use `rgbToHsl` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHsl = _rgbToHsl\n\n/**\n * @public\n * @deprecated Use `rgba` from `@sanity/ui/theme` instead.\n */\nexport const rgba = _rgba\n\n/**\n * @public\n * @deprecated Use `screen` from `@sanity/ui/theme` instead.\n */\nexport const screen = _screen\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = buildTheme()\n","import type {Transition, Variant} from 'framer-motion'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n  card: {\n    initial: Variant\n    hidden: Variant\n    visible: Variant\n    scaleIn: Variant\n    scaleOut: Variant\n  }\n  children: {\n    hidden: Variant\n    visible: Variant\n  }\n  transition: Transition\n} = {\n  card: {\n    initial: {\n      scale: 0.97,\n      willChange: 'transform',\n    },\n    hidden: {\n      opacity: 0,\n    },\n    visible: {\n      opacity: 1,\n      transition: {\n        when: 'beforeChildren',\n        duration: POPOVER_MOTION_DURATION / 2,\n      },\n    },\n    scaleIn: {\n      scale: 1,\n    },\n    scaleOut: {\n      scale: 0.97,\n    },\n  },\n  children: {\n    hidden: {\n      opacity: 0,\n    },\n    visible: {\n      opacity: 1,\n    },\n  },\n  transition: {\n    type: 'spring',\n    visualDuration: POPOVER_MOTION_DURATION,\n    bounce: 0.25,\n  },\n}\n\n/**\n * @internal\n * @deprecated No longer used.\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n  top: 'bottom',\n  right: 'left',\n  bottom: 'top',\n  left: 'right',\n}\n","/**\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","/**\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 {CSSObject, getTheme_v2, Theme} from '@sanity/ui/theme'\n\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 {CSSObject, getTheme_v2, ThemeFontKey, ThemeFontSize} from '@sanity/ui/theme'\n\nimport {_responsive, rem} 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'\n\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'\n\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'\n\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'\n\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'\n\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 {useState} from 'react'\n\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  const [[cachedVal, cachedHash], setCache] = useState<[T[], string]>(() => [\n    _getArrayProp(val, defaultVal),\n    JSON.stringify(val ?? defaultVal),\n  ])\n\n  const hash = JSON.stringify(val ?? defaultVal)\n\n  if (hash !== cachedHash) {\n    // If the cached hash has changed, update the cache right away.\n    // Calling setState during render is fine in this case, and preferred over a useEffect loop\n    // https://19.react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes\n    setCache([_getArrayProp(val, defaultVal), hash])\n  }\n\n  return cachedVal\n}\n","import {useDebugValue, useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideEventListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideEventElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n */\nexport function useClickOutsideEvent(\n  listener: ClickOutsideEventListener | false | undefined,\n  elementsArg: () => ClickOutsideEventElements = () => EMPTY_ARRAY,\n  boundaryElement?: () => HTMLElement | null,\n): void {\n  /**\n   * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to\n   * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed.\n   */\n  const onEvent = useEffectEvent((evt: MouseEvent) => {\n    if (!listener) {\n      return\n    }\n\n    const target = evt.target\n\n    if (!(target instanceof Node)) {\n      return\n    }\n\n    const resolvedBoundaryElement = boundaryElement?.()\n\n    if (resolvedBoundaryElement && !resolvedBoundaryElement.contains(target)) {\n      return\n    }\n\n    const elements = elementsArg().flat()\n\n    for (const el of elements) {\n      if (!el) continue\n\n      if (target === el || el.contains(target)) {\n        return\n      }\n    }\n\n    listener(evt)\n  })\n\n  const hasListener = Boolean(listener)\n\n  useEffect(() => {\n    if (!hasListener) return undefined\n\n    const handleEvent = (evt: MouseEvent) => onEvent(evt)\n\n    document.addEventListener('mousedown', handleEvent)\n\n    return () => {\n      document.removeEventListener('mousedown', handleEvent)\n    }\n  }, [hasListener])\n\n  useDebugValue(listener ? 'MouseDown On' : 'MouseDown Off')\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n  ref: {current: null | {setCustomValidity: (validity: string) => void}},\n  customValidity: string | undefined,\n): void {\n  useEffect(() => {\n    ref.current?.setCustomValidity(customValidity || '')\n  }, [customValidity, ref])\n}\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n  typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n    ? window.ResizeObserver\n    : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n  width: number\n  height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n  content: ElementRectValue\n  border: ElementRectValue\n\n  /** @deprecated INTERNAL ONLY */\n  _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n  subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n  subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n  return {\n    subscribe(element, subscriber) {\n      const resizeObserver = new _ResizeObserver(([entry]) => {\n        subscriber({\n          _contentRect: entry.contentRect,\n          border: {\n            width: entry.borderBoxSize[0].inlineSize,\n            height: entry.borderBoxSize[0].blockSize,\n          },\n          content: {\n            width: entry.contentRect.width,\n            height: entry.contentRect.height,\n          },\n        })\n      })\n\n      resizeObserver.observe(element)\n\n      return () => {\n        resizeObserver.unobserve(element)\n        resizeObserver.disconnect()\n      }\n    },\n  }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n  const disposeCache = new WeakMap<HTMLElement, () => void>()\n  const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n  return {\n    subscribe(element, subscriber) {\n      const subscribers = subscribersCache.get(element) || []\n\n      let dispose = disposeCache.get(element)\n\n      if (!subscribersCache.has(element)) {\n        subscribersCache.set(element, subscribers)\n\n        const listener = _createElementRectValueListener()\n\n        // listen\n        dispose = listener.subscribe(element, (elementRect) => {\n          for (const sub of subscribers) {\n            sub(elementRect)\n          }\n        })\n      }\n\n      subscribers.push(subscriber)\n\n      return () => {\n        // dispose\n\n        const idx = subscribers.indexOf(subscriber)\n\n        if (idx > -1) {\n          subscribers.splice(idx, 1)\n        }\n\n        if (subscribers.length === 0) {\n          // unlisten\n          if (dispose) dispose()\n        }\n      }\n    },\n  }\n}\n","import {useEffect, useState} from 'react'\n\nimport {_elementSizeObserver, ElementSize} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n  const [size, setSize] = useState<ElementSize | null>(null)\n\n  useEffect(() => {\n    if (!element) return undefined\n\n    return _elementSizeObserver.subscribe(element, setSize)\n  }, [element])\n\n  return size\n}\n","import {useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n  const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n  useEffect(() => {\n    const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n    window.addEventListener('keydown', handler)\n\n    return () => window.removeEventListener('keydown', handler)\n  }, [])\n}\n","import {useDebugValue, useMemo, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n  mediaQueryString: `(${string})`,\n  getServerSnapshot?: () => boolean,\n): boolean {\n  const {subscribe, getSnapshot} = useMemo(() => {\n    /**\n     * `subscribe` and `getSnapshot` are only called on the client and both need access to the same `matchMedia` instance\n     * we don't want to eagerly instantiate it to ensure it's only created when actually used\n     */\n    let MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n    const 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(mediaQueryString)\n      }\n\n      return MEDIA_QUERY_CACHE\n    }\n\n    return {\n      subscribe: (onStoreChange: () => void): (() => void) => {\n        const matchMedia = getMatchMedia()\n\n        matchMedia.addEventListener('change', onStoreChange)\n\n        return () => matchMedia.removeEventListener('change', onStoreChange)\n      },\n      getSnapshot: () => getMatchMedia().matches,\n    }\n  }, [mediaQueryString])\n\n  useDebugValue(mediaQueryString)\n\n  return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n  if (typeof globalThis !== 'undefined') return globalThis\n  if (typeof window !== 'undefined') return window\n  if (typeof self !== 'undefined') return self\n  if (typeof global !== 'undefined') return global\n\n  throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n  /**\n   * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n   */\n  key: `@sanity/ui/context/${string}`,\n  defaultValue: T,\n): Context<ContextType> {\n  const symbol = Symbol.for(key)\n\n  /**\n   * Prevent errors about re-renders on React SSR on Next.js App Router\n   */\n  if (typeof document === 'undefined') {\n    return createContext<ContextType>(defaultValue)\n  }\n\n  globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n  return globalScope[symbol]\n}\n","import {createGlobalScopedContext} from '../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext = createGlobalScopedContext<ThemeContextValue | null>(\n  '@sanity/ui/context/theme',\n  null,\n)\n","import {\n  getScopedTheme,\n  type RootTheme,\n  type Theme,\n  type ThemeColorCardToneKey,\n  type ThemeColorSchemeKey,\n} from '@sanity/ui/theme'\nimport {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\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.JSX.Element {\n  const parentTheme = useContext(ThemeContext)\n  const {children} = props\n  const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n  const rootTheme = props.theme ?? (parentTheme?.theme || null)\n  const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n  const themeContext: ThemeContextValue | null = useMemo(() => {\n    if (!rootTheme) return null\n\n    return {\n      version: 0.0,\n      theme: rootTheme,\n      scheme,\n      tone,\n    }\n  }, [rootTheme, scheme, tone])\n\n  const theme: Theme | null = useMemo(() => {\n    if (!rootTheme) return null\n\n    return getScopedTheme(rootTheme, scheme, tone)\n  }, [scheme, rootTheme, tone])\n\n  if (!theme) {\n    return <pre>ThemeProvider: no \"theme\" property provided</pre>\n  }\n\n  return (\n    <ThemeContext.Provider value={themeContext}>\n      <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n    </ThemeContext.Provider>\n  )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n  const value = useContext(ThemeContext)\n\n  if (!value) {\n    throw new Error('useRootTheme(): missing context value')\n  }\n\n  return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\n\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.JSX.Element {\n  const {children, scheme, tone} = props\n  const root = useRootTheme()\n\n  return (\n    <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n      {children}\n    </ThemeProvider>\n  )\n}\n\nThemeColorProvider.displayName = 'ThemeColorProvider'\n","import {getTheme_v2, Theme, Theme_v2} from '@sanity/ui/theme'\nimport {useTheme as useStyledTheme} from 'styled-components'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n  return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n  return getTheme_v2(useStyledTheme() as Theme)\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\nimport {useTheme_v2} from '../../theme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n  subscribe: (onStoreChange: () => void) => () => void\n  getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n  if (index === 0) {\n    return `screen and (max-width: ${media[index] - 1}px)`\n  }\n\n  if (index === media.length) {\n    return `screen and (min-width: ${media[index - 1]}px)`\n  }\n\n  return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(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  const store = useMemo(() => _createMediaStore(media), [media])\n\n  return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n  return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n  return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\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'\n\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'\n\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 {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem} 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 {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'\n\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'\n\nimport {_responsive, rem} 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'\n\nimport {_responsive, rem} 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 {CSSObject, getTheme_v2, ThemeColorSchemeKey, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} 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      *:not(:invalid):disabled + & {\n        --card-bg-color: ${color.input.default.disabled.bg} !important;\n        --card-fg-color: ${color.input.default.disabled.fg} !important;\n        --card-icon-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      *:invalid:disabled + & {\n        --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n        --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n        --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n        &[data-border] {\n          --input-box-shadow: ${focusRingBorderStyle({\n            color: color.input.invalid.disabled.border,\n            width: input.border.width,\n          })};\n        }\n      }\n\n      /* readOnly */\n      *:not(:invalid):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      *:invalid:read-only + & {\n        --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n        --card-fg-color: ${color.input.invalid.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        *:invalid:not(:disabled):not(:read-only):hover + & {\n          --card-bg-color: ${color.input.invalid.hovered.bg};\n          --card-fg-color: ${color.input.invalid.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        *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n          --input-box-shadow: ${focusRingBorderStyle({\n            color: color.input.invalid.hovered.border,\n            width: input.border.width,\n          })};\n        }\n      }\n    }\n  `\n}\n","import {CSSObject} from '@sanity/ui/theme'\n\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'\n\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'\n\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 {CSSObject, getTheme_v2, ThemeBoxShadow, ThemeShadow} from '@sanity/ui/theme'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {_responsive, rem} 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 {styled} from 'styled-components'\n\n/** @internal */\nexport const SpanWithTextOverflow = styled.span`\n  display: block;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  overflow: clip;\n`\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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'\n\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n  accent?: boolean\n  align?: TextAlign | TextAlign[]\n  as?: React.ElementType | keyof React.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 StyledLabel = styled.div<{\n  $accent?: boolean\n  $align: TextAlign[]\n  $muted: boolean\n  $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\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    <StyledLabel\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    </StyledLabel>\n  )\n})\nLabel.displayName = 'ForwardRef(Label)'\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, 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      '&: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      '&: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      '&: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'\n\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 React.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 StyledAvatar = 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 AvatarImage = 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    <StyledAvatar\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        <AvatarImage viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n          <defs>\n            <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n              <image href={src} width=\"1\" height=\"1\" onError={handleImageError} />\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        </AvatarImage>\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    </StyledAvatar>\n  )\n})\nAvatar.displayName = 'ForwardRef(Avatar)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {forwardRef, useMemo} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive, rem, 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 StyledAvatarCounter = 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    <StyledAvatarCounter $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n      <Label as=\"span\" size={fontSize} weight=\"medium\">\n        {count}\n      </Label>\n    </StyledAvatarCounter>\n  )\n})\nAvatarCounter.displayName = 'ForwardRef(AvatarCounter)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {Children, cloneElement, forwardRef, isValidElement} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive, rem, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\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 StyledAvatarStack = styled.div<{$size: AvatarSize[]}>(\n  responsiveAvatarStackSizeStyle,\n  avatarStackStyle,\n)\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: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\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    <StyledAvatarStack 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    </StyledAvatarStack>\n  )\n})\nAvatarStack.displayName = 'ForwardRef(AvatarStack)'\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp} from '../../hooks'\nimport {\n  boxStyle,\n  flexItemStyle,\n  FlexItemStyleProps,\n  responsiveBoxStyle,\n  ResponsiveBoxStyleProps,\n  responsiveGridItemStyle,\n  ResponsiveGridItemStyleProps,\n  responsiveMarginStyle,\n  ResponsiveMarginStyleProps,\n  responsivePaddingStyle,\n  ResponsivePaddingStyleProps,\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 React.JSX.IntrinsicElements\n  forwardedAs?: React.ElementType | keyof React.JSX.IntrinsicElements\n}\n\nconst StyledBox = 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    <StyledBox\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    </StyledBox>\n  )\n})\nBox.displayName = 'ForwardRef(Box)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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'\n\nimport {useArrayProp} from '../../hooks'\nimport {\n  ResponsiveFontStyleProps,\n  responsiveTextAlignStyle,\n  responsiveTextFont,\n} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n  accent?: boolean\n  align?: TextAlign | TextAlign[]\n  as?: React.ElementType | keyof React.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 StyledText = styled.div<ResponsiveFontStyleProps>(\n  responsiveTextFont,\n  responsiveTextAlignStyle,\n  textBaseStyle,\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    <StyledText\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    </StyledText>\n  )\n})\nText.displayName = 'ForwardRef(Text)'\n","import {CSSObject} from '@sanity/ui/theme'\n\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'\n\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 React.JSX.IntrinsicElements\n  fontSize?: number | number[]\n  /** @deprecated No longer used. */\n  mode?: BadgeMode\n  tone?: BadgeTone\n}\n\nconst StyledBadge = 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    <StyledBadge\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}>{children}</Text>\n    </StyledBadge>\n  )\n})\nBadge.displayName = 'ForwardRef(Badge)'\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp} from '../../hooks'\nimport {\n  flexItemStyle,\n  FlexItemStyleProps,\n  responsiveFlexStyle,\n  ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexItemProps, ResponsiveFlexProps} 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 StyledFlex = 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    <StyledFlex\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})\nFlex.displayName = 'ForwardRef(Flex)'\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport {keyframes, styled} from 'styled-components'\n\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 StyledSpinner = 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    <StyledSpinner data-ui=\"Spinner\" {...props} ref={ref}>\n      <SpinnerIcon />\n    </StyledSpinner>\n  )\n})\nSpinner.displayName = 'ForwardRef(Spinner)'\n","import {CSSObject, ThemeColorCard_v2, ThemeColorState_v2} 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-backdrop-color': base.backdrop,\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-neutral-bg-color': color.badge.neutral?.bg,\n    '--card-badge-neutral-dot-color': color.badge.neutral?.dot,\n    '--card-badge-neutral-fg-color': color.badge.neutral?.fg,\n    '--card-badge-neutral-icon-color': color.badge.neutral?.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-suggest-bg-color': color.badge.suggest?.bg,\n    '--card-badge-suggest-dot-color': color.badge.suggest?.dot,\n    '--card-badge-suggest-fg-color': color.badge.suggest?.fg,\n    '--card-badge-suggest-icon-color': color.badge.suggest?.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'\n\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 {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\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 React.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  muted?: boolean\n  text?: React.ReactNode\n  textAlign?: ButtonTextAlign\n  textWeight?: ThemeFontWeightKey\n  tone?: ButtonTone\n  type?: 'button' | 'reset' | 'submit'\n  width?: ButtonWidth\n}\n\nconst StyledButton = 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: IconComponent,\n    iconRight: IconRightComponent,\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    textWeight,\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    <StyledButton\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      {(IconComponent || text || IconRightComponent) && (\n        <Box as=\"span\" {...boxProps}>\n          <Flex as=\"span\" justify={justify} gap={space}>\n            {IconComponent && (\n              <Text size={fontSize}>\n                {isValidElement(IconComponent) && IconComponent}\n                {isValidElementType(IconComponent) && <IconComponent />}\n              </Text>\n            )}\n\n            {text && (\n              <Box>\n                <Text\n                  muted={muted}\n                  align={textAlign}\n                  size={fontSize}\n                  textOverflow=\"ellipsis\"\n                  weight={textWeight ?? button.textWeight}\n                >\n                  {text}\n                </Text>\n              </Box>\n            )}\n\n            {IconRightComponent && (\n              <Text size={fontSize}>\n                {isValidElement(IconRightComponent) && IconRightComponent}\n                {isValidElementType(IconRightComponent) && <IconRightComponent />}\n              </Text>\n            )}\n          </Flex>\n        </Box>\n      )}\n\n      {children && (\n        <Box as=\"span\" {...boxProps}>\n          {children}\n        </Box>\n      )}\n    </StyledButton>\n  )\n})\nButton.displayName = 'ForwardRef(Button)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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, $muted} = 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: ${$muted ? 'var(--card-muted-bg-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'\n\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  muted?: boolean\n  pressed?: boolean\n  scheme?: ThemeColorSchemeKey\n  tone?: CardTone\n}\n\nconst StyledCard = 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    muted,\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      <StyledCard\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        $muted={muted}\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})\nCard.displayName = 'ForwardRef(Card)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {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 StyledCheckbox = 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 = useRef<HTMLInputElement | null>(null)\n\n  useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useEffect(() => {\n    if (ref.current) {\n      // Set the indeterminate state\n      ref.current.indeterminate = indeterminate || false\n    }\n  }, [indeterminate])\n\n  useCustomValidity(ref, customValidity)\n\n  return (\n    <StyledCheckbox 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    </StyledCheckbox>\n  )\n})\nCheckbox.displayName = 'ForwardRef(Checkbox)'\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","import {forwardRef, lazy, Suspense} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {codeBaseStyle} from './styles'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeProps {\n  as?: React.ElementType | keyof React.JSX.IntrinsicElements\n  /** Define the language to use for syntax highlighting. */\n  language?: string\n  size?: number | number[]\n  weight?: string\n}\n\nconst StyledCode = 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, size = 2, weight, ...restProps} = props\n\n  return (\n    <StyledCode data-ui=\"Code\" {...restProps} $size={useArrayProp(size)} $weight={weight} ref={ref}>\n      <Suspense fallback={<code>{children}</code>}>\n        <LazyRefractor language={language} value={children} />\n      </Suspense>\n    </StyledCode>\n  )\n})\nCode.displayName = 'ForwardRef(Code)'\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, 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'\n\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 StyledContainer = 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    <StyledContainer\n      data-ui=\"Container\"\n      {...restProps}\n      $width={useArrayProp(width)}\n      forwardedAs={as}\n      ref={ref}\n    />\n  )\n})\nContainer.displayName = 'ForwardRef(Container)'\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\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 StyledGrid = 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    <StyledGrid\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    </StyledGrid>\n  )\n})\nGrid.displayName = 'ForwardRef(Grid)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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    & strong {\n      font-weight: ${font.heading.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    }\n  `\n}\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp} from '../../hooks'\nimport {\n  ResponsiveFontStyleProps,\n  responsiveHeadingFont,\n  responsiveTextAlignStyle,\n  ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {TextAlign} from '../../types'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\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 React.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 StyledHeading = styled.div<\n  HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\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    <StyledHeading\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    </StyledHeading>\n  )\n})\nHeading.displayName = 'ForwardRef(Heading)'\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, 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 {Children, forwardRef, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\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 StyledInline = 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    () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n    [childrenProp],\n  )\n\n  return (\n    <StyledInline\n      data-ui=\"Inline\"\n      {...restProps}\n      $space={useArrayProp(space)}\n      forwardedAs={as}\n      ref={ref as any}\n    >\n      {children}\n    </StyledInline>\n  )\n})\nInline.displayName = 'ForwardRef(Inline)'\n","import {forwardRef} from 'react'\nimport {css, styled} from 'styled-components'\n\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 React.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    vertical-align: top;\n\n    &:not([hidden]) {\n      display: inline-block;\n    }\n  `\n}\n\nconst StyledKBD = 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    <StyledKBD 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    </StyledKBD>\n  )\n})\nKBD.displayName = 'ForwardRef(KBD)'\n","import {Middleware} from '@floating-ui/react-dom'\n\n/**\n * Custom floating-ui middleware which calculates transform-origin X + Y offsets\n * based on the current floating rect's dimensions and shift offset.\n *\n * Scaling popovers with these transform-origin offsets will give the effect of\n * popvers slightly 'growing' from the origin/reference element.\n *\n * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.\n */\nexport const origin: Middleware = {\n  name: '@sanity/ui/origin',\n  fn({middlewareData, placement, rects}) {\n    const [side] = placement.split('-')\n\n    const floatingWidth = rects.floating.width\n    const floatingHeight = rects.floating.height\n\n    const shiftX = middlewareData.shift?.x || 0\n    const shiftY = middlewareData.shift?.y || 0\n\n    if (floatingWidth <= 0 || floatingHeight <= 0) {\n      return {}\n    }\n\n    const isVerticalPlacement = ['bottom', 'top'].includes(side)\n\n    const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement\n      ? {\n          originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),\n          originY: side === 'bottom' ? 0 : 1,\n        }\n      : {\n          originX: side === 'left' ? 1 : 0,\n          originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),\n        }\n\n    return {\n      data: {originX, originY},\n    }\n  },\n}\n\nfunction clamp(num: number, min: number, max: number) {\n  return Math.min(Math.max(num, min), max)\n}\n","export interface PointCmd {\n  type: 'point'\n  x: number\n  y: number\n  radius?: number\n}\n\nexport interface CurveCmd {\n  type: 'curve'\n  startControl: Point\n  endControl: Point\n  curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n  x: number\n  y: number\n  radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n  const width = targetPoint.x - movingPoint.x\n  const height = targetPoint.y - movingPoint.y\n\n  const distance = Math.sqrt(width * width + height * height)\n\n  return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n  return {\n    x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n    y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n  }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n  const len = points.length\n\n  const cmds: Cmd[] = []\n\n  for (let i = 0; i < len; i += 1) {\n    const point = points[i]\n    const prevPoint = points[i - 1]\n    const nextPoint = points[i + 1]\n\n    if (prevPoint && point.radius) {\n      const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n      const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n      const startControl = moveTowardsFractional(curveStart, point, 0.5)\n      const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n      cmds.push({\n        type: 'point',\n        ...curveStart,\n      })\n\n      cmds.push({\n        type: 'curve',\n        curveEnd,\n        startControl,\n        endControl,\n      })\n    } else {\n      cmds.push({\n        type: 'point',\n        ...point,\n      })\n    }\n  }\n\n  return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n  return cmds\n    .map((n, idx) => {\n      if (n.type === 'point') {\n        return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n      }\n\n      if (n.type === 'curve') {\n        return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n      }\n\n      return ``\n    })\n    .join(' ')\n}\n","import {ForwardedRef, forwardRef, HTMLProps} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {useTheme_v2} from '../../theme'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\nconst StyledArrow = 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): React.JSX.Element {\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    <StyledArrow {...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    </StyledArrow>\n  )\n})\nArrow.displayName = 'ForwardRef(Arrow)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n  '@sanity/ui/context/boundaryElement',\n  null,\n)\n","import {useMemo} from 'react'\n\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.JSX.Element {\n  const {children, element} = props\n  const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n  return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n\nBoundaryElementProvider.displayName = 'BoundaryElementProvider'\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n  return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n  version: 0.0,\n  element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n  const value = useContext(BoundaryElementContext)\n\n  // NOTE: This check is for future-compatiblity\n  // - If the value is not an object, it’s not compatible with the current version\n  // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n  if (value && (!isRecord(value) || value.version !== 0.0)) {\n    throw new Error('useBoundaryElement(): the context value is not compatible')\n  }\n\n  return value || DEFAULT_VALUE\n}\n","/**\n * @internal\n * @deprecated this component will be removed in the next major release\n */\nexport function ConditionalWrapper({\n  children,\n  condition,\n  wrapper,\n}: {\n  children: 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\nConditionalWrapper.displayName = 'ConditionalWrapper'\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n  const ret: number[] = []\n\n  for (let i = 0; i < media.length; i += 1) {\n    const bp = media[i]\n\n    if (bp > width) {\n      ret.push(i)\n    }\n  }\n\n  return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n  const ret: number[] = []\n\n  for (let i = 0; i < media.length; i += 1) {\n    const bp = media[i]\n\n    if (bp <= width) {\n      ret.push(i)\n    }\n  }\n\n  return ret\n}\n","import {forwardRef, useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} 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 React.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  forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n  const theme = useTheme_v2()\n  const {children, media: _media, ...restProps} = props\n  const media = _media ?? theme.media\n\n  const [element, setElement] = useState<HTMLDivElement | null>(null)\n  const elementSize = useElementSize(element)\n  const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n  const max = useMemo(() => {\n    const eq = findMaxBreakpoints(media, width)\n\n    return eq.length ? eq.join(' ') : undefined\n  }, [media, width])\n  const min = useMemo(() => {\n    const eq = findMinBreakpoints(media, width)\n\n    return eq.length ? eq.join(' ') : undefined\n  }, [media, width])\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n    element,\n  ])\n\n  return (\n    <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n      {children}\n    </div>\n  )\n})\nElementQuery.displayName = 'ForwardRef(ElementQuery)'\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n  // NOTE: This check is for future-compatiblity\n  // - If the value is not an object, it’s not compatible with the current version\n  // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n  if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n    throw new Error('the context value is not compatible')\n  }\n\n  if (!contextValue) {\n    throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n  }\n\n  if (contextValue.version === 0.0) {\n    return contextValue\n  }\n\n  throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n  '@sanity/ui/context/layer',\n  null,\n)\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useArrayProp, useMediaIndex} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n  children?: React.ReactNode\n  zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.JSX.Element {\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, setSize, setChildLayers],\n  )\n\n  // Register this layer on mount\n  useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n  const value: LayerContextValue = useMemo(\n    () => ({\n      version: 0.0,\n      isTopLayer,\n      level,\n      registerChild,\n      size,\n      zIndex,\n    }),\n    [isTopLayer, level, registerChild, size, zIndex],\n  )\n\n  return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n\nLayerProvider.displayName = 'LayerProvider'\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n  const value = useContext(LayerContext)\n\n  if (!value) {\n    throw new Error('useLayer(): missing context value')\n  }\n\n  try {\n    return getLayerContext(value)\n  } catch (err) {\n    if (err instanceof Error) {\n      throw new Error(`useLayer(): ${err.message}`)\n    } else {\n      throw new Error(`useLayer(): ${err}`)\n    }\n  }\n}\n","import {FocusEvent, forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n  as?: React.ElementType | keyof React.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 React.JSX.IntrinsicElements\n  onActivate?: LayerProps['onActivate']\n}\n\nconst StyledLayer = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n  props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n  forwardedRef: 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 ref = useRef<HTMLDivElement | null>(null)\n  const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n  // When the layer very first mounts, it will be the top layer, but we don't want to fire\n  // the callback in that case. We use a ref to track the previous value of isTopLayer to\n  // determine if the layer has become the top layer since the last render.\n  useEffect(() => {\n    const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n    if (becameTopLayer) {\n      onActivate?.({activeElement: lastFocusedRef.current})\n    }\n\n    isTopLayerRef.current = isTopLayer\n  }, [isTopLayer, onActivate])\n\n  const handleFocus = useCallback(\n    (event: FocusEvent<HTMLDivElement, Element>) => {\n      // Call the user-provided onFocus handler if any\n      onFocus?.(event)\n\n      const rootElement = ref.current\n      const target = document.activeElement\n\n      if (!isTopLayer || !rootElement || !target) return\n\n      if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n        lastFocusedRef.current = target\n      }\n    },\n    [isTopLayer, onFocus],\n  )\n\n  return (\n    <StyledLayer\n      {...restProps}\n      data-ui=\"Layer\"\n      onFocus={handleFocus}\n      ref={ref}\n      style={{...style, zIndex}}\n    >\n      {children}\n    </StyledLayer>\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})\nLayer.displayName = 'ForwardRef(Layer)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n  version: 0.0,\n  boundaryElement: null,\n  get element() {\n    if (typeof document === 'undefined') {\n      return null\n    }\n\n    if (globalScope[elementKey]) {\n      return globalScope[elementKey]\n    }\n\n    globalScope[elementKey] = document.createElement('div')\n    globalScope[elementKey].setAttribute('data-portal', '')\n\n    document.body.appendChild(globalScope[elementKey])\n\n    return globalScope[elementKey]\n  },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n  const value = useContext(PortalContext)\n\n  if (!value) {\n    throw new Error('usePortal(): missing context value')\n  }\n\n  // NOTE: This check is for future-compatiblity\n  // - If the value is not an object, it’s not compatible with the current version\n  // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n  if (!isRecord(value) || value.version !== 0.0) {\n    throw new Error('usePortal(): the context value is not compatible')\n  }\n\n  return value\n}\n","import {createPortal} from 'react-dom'\n\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\nPortal.displayName = 'Portal'\n","import {useMemo, useRef, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n  /**\n   * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n   */\n  boundaryElement?: HTMLElement | null\n  children: React.ReactNode\n  element?: HTMLElement | null\n  /**\n   * @beta\n   */\n  __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.JSX.Element {\n  const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n  const elements = useUnique(elementsProp)\n  const fallbackElement = useSyncExternalStore(\n    emptySubscribe,\n    () => document.body,\n    () => null,\n  )\n\n  const value: PortalContextValue = useMemo(() => {\n    return {\n      version: 0.0,\n      boundaryElement: boundaryElement || null,\n      element: element || fallbackElement,\n      elements,\n    }\n  }, [boundaryElement, element, elements, fallbackElement])\n\n  return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nPortalProvider.displayName = 'PortalProvider'\n\nconst emptySubscribe = () => () => {}\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n */\nfunction useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n  const valueRef = useRef<ValueType>(value)\n\n  if (!_isEqual(valueRef.current, value)) {\n    valueRef.current = value\n  }\n\n  return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n  if (!objA || !objB) {\n    return objA === objB\n  }\n\n  const keysA = Object.keys(objA)\n  const keysB = Object.keys(objB)\n\n  if (keysA.length !== keysB.length) {\n    return false\n  }\n\n  return keysA.every((key) => objA[key] === objB[key])\n}\n\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n  as?: React.ElementType | keyof React.JSX.IntrinsicElements\n  children?: React.ReactNode\n}\n\nconst StyledSrOnly = 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    <StyledSrOnly aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n      {children}\n    </StyledSrOnly>\n  )\n})\nSrOnly.displayName = 'ForwardRef(SrOnly)'\n","import {forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_isScrollable} from '../../helpers'\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 React.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 StyledVirtualList = 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  forwardedRef: React.ForwardedRef<HTMLDivElement>,\n): React.JSX.Element {\n  const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n  const {space} = useTheme_v2()\n  const ref = useRef<HTMLDivElement | null>(null)\n  const wrapperRef = useRef<HTMLDivElement | null>(null)\n  const [scrollTop, setScrollTop] = useState(0)\n  const [scrollHeight, setScrollHeight] = useState(0)\n  const [itemHeight, setItemHeight] = useState(-1)\n\n  // Sync ref to parent\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\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((): (() => void) | undefined => {\n    if (!ref.current) return\n\n    const scrollEl = findScrollable(ref.current.parentNode)\n\n    if (scrollEl) {\n      if (!(scrollEl instanceof HTMLElement)) return\n\n      const handleScroll = () => {\n        setScrollTop(scrollEl.scrollTop)\n      }\n\n      scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n      const ro = new _ResizeObserver((entries) => {\n        setScrollHeight(entries[0].contentRect.height)\n      })\n\n      ro.observe(scrollEl)\n\n      handleScroll()\n\n      return () => {\n        scrollEl.removeEventListener('scroll', handleScroll)\n\n        ro.unobserve(scrollEl)\n        ro.disconnect()\n      }\n    }\n\n    const handleScroll = () => {\n      setScrollTop(window.scrollY)\n    }\n\n    const handleResize = () => {\n      setScrollHeight(window.innerHeight)\n    }\n\n    window.addEventListener('scroll', handleScroll, {passive: true})\n    window.addEventListener('resize', handleResize)\n\n    setScrollHeight(window.innerHeight)\n\n    handleScroll()\n\n    return () => {\n      window.removeEventListener('scroll', handleScroll)\n      window.removeEventListener('resize', handleResize)\n    }\n  }, [])\n\n  const len = items.length\n  const height = itemHeight ? len * (itemHeight + 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    <StyledVirtualList as={as} data-ui=\"VirtualList\" {...restProps} ref={ref}>\n      <div ref={wrapperRef} style={wrapperStyle}>\n        {children}\n      </div>\n    </StyledVirtualList>\n  )\n})\nVirtualList.displayName = 'ForwardRef(VirtualList)'\n\nfunction findScrollable(parentNode: ParentNode | null) {\n  let _scrollEl = parentNode\n\n  while (_scrollEl && !_isScrollable(_scrollEl)) {\n    _scrollEl = _scrollEl.parentNode\n  }\n\n  return _scrollEl\n}\n","// Based on https://github.com/radix-ui/primitives/blob/0bade6a704e5821b90a6da0f3d8cfa8a7711127d/packages/react/slot/src/Slot.tsx#L128-L150\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nexport function getElementRef(element: React.ReactElement) {\n  // React <=18 in DEV\n  let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n  let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n  if (mayWarn) {\n    return (element as any).ref\n  }\n\n  // React 19 in DEV\n  getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n  mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n  if (mayWarn) {\n    return (element.props as {ref?: React.Ref<unknown>}).ref\n  }\n\n  // Not DEV\n  return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\n}\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n  'top': ['bottom', 'left', 'right'],\n  'top-start': ['bottom-start', 'left-start', 'right-start'],\n  'top-end': ['bottom-end', 'left-end', 'right-end'],\n  'bottom': ['top', 'left', 'right'],\n  'bottom-start': ['top-start', 'left-start', 'right-start'],\n  'bottom-end': ['top-end', 'left-end', 'right-end'],\n  'left': ['right', 'top', 'bottom'],\n  'left-start': ['right-start', 'top-start', 'bottom-start'],\n  'left-end': ['right-end', 'top-end', 'bottom-end'],\n  'right': ['left', 'top', 'bottom'],\n  'right-start': ['left-start', 'top-start', 'bottom-start'],\n  'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Elements, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n  availableWidth: number\n  availableHeight: number\n  elements: Elements\n  referenceWidth: number\n}\n\nexport function size(options: {\n  apply: (args: SizeMiddlewareApplyOptions) => void\n  boundaryElement?: HTMLElement | null\n  constrainSize: boolean\n  margins: PopoverMargins\n  matchReferenceWidth?: boolean\n  padding?: number\n}): Middleware {\n  const {apply, margins, padding = 0} = options\n\n  return {\n    name: '@sanity/ui/size',\n    async fn(args) {\n      const {elements, placement, platform, rects} = args\n      const {floating, reference} = rects\n\n      const overflow = await detectOverflow(args, {\n        altBoundary: true,\n        boundary: options.boundaryElement || undefined,\n        elementContext: 'floating',\n        padding,\n        rootBoundary: 'viewport',\n      })\n\n      let maxWidth = Infinity\n      let maxHeight = Infinity\n\n      const floatingW = floating.width\n      const floatingH = floating.height\n\n      if (placement.includes('top')) {\n        maxWidth = floatingW - (overflow.left + overflow.right)\n        maxHeight = floatingH - overflow.top\n      }\n\n      if (placement.includes('right')) {\n        maxWidth = floatingW - overflow.right\n        maxHeight = floatingH - (overflow.top + overflow.bottom)\n      }\n\n      if (placement.includes('bottom')) {\n        maxWidth = floatingW - (overflow.left + overflow.right)\n        maxHeight = floatingH - overflow.bottom\n      }\n\n      if (placement.includes('left')) {\n        maxWidth = floatingW - overflow.left\n        maxHeight = floatingH - (overflow.top + overflow.bottom)\n      }\n\n      // IMPORTANT – APPLY ELEMENT STYLES HERE\n      // Elements need to be resized BEFORE the `platform.getDimensions` call below\n      apply({\n        availableWidth: maxWidth - margins[1] - margins[3],\n        availableHeight: maxHeight - margins[0] - margins[2],\n        elements,\n        referenceWidth: reference.width - margins[1] - margins[3],\n      })\n\n      const nextDimensions = await platform.getDimensions(elements.floating)\n\n      const targetH = nextDimensions.height\n      const targetW = nextDimensions.width\n\n      if (floatingW !== targetW || floatingH !== targetH) {\n        return {reset: {rects: true}}\n      }\n\n      return {}\n    },\n  }\n}\n","import {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 {motion, type MotionProps} from 'framer-motion'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} from '../../types'\nimport {Arrow, useLayer} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {Flex} from '../flex'\nimport {\n  DEFAULT_POPOVER_ARROW_HEIGHT,\n  DEFAULT_POPOVER_ARROW_RADIUS,\n  DEFAULT_POPOVER_ARROW_WIDTH,\n  DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\nconst MotionCard = styled(motion.create(Card))`\n  &:not([hidden]) {\n    display: flex;\n  }\n  flex-direction: column;\n  width: max-content;\n  min-width: min-content;\n  will-change: transform;\n`\n\nconst MotionFlex = styled(motion.create(Flex))`\n  will-change: opacity;\n`\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n  forwardRef(function PopoverCard(\n    props: {\n      /** @beta*/\n      __unstable_margins?: PopoverMargins\n      animate?: boolean\n      arrow: boolean\n      arrowRef: React.Ref<HTMLDivElement>\n      arrowX?: number\n      arrowY?: number\n      originX?: number\n      originY?: 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      animate,\n      arrow,\n      arrowRef,\n      arrowX,\n      arrowY,\n      children,\n      padding,\n      placement,\n      originX,\n      originY,\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        left: x,\n        originX,\n        originY,\n        position: strategy,\n        top: y,\n        width,\n        zIndex,\n        willChange: animate ? 'transform' : undefined,\n        ...style,\n      }),\n      [animate, originX, originY, 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      <MotionCard\n        data-ui=\"Popover\"\n        {...(restProps as CardProps & MotionProps)}\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        variants={POPOVER_MOTION_PROPS.card}\n        transition={POPOVER_MOTION_PROPS.transition}\n        initial={animate ? ['hidden', 'initial'] : undefined}\n        animate={animate ? ['visible', 'scaleIn'] : undefined}\n        exit={animate ? ['hidden', 'scaleOut'] : undefined}\n      >\n        <MotionFlex\n          data-ui=\"Popover__wrapper\"\n          direction=\"column\"\n          flex={1}\n          overflow={overflow}\n          variants={POPOVER_MOTION_PROPS.children}\n          transition={POPOVER_MOTION_PROPS.transition}\n        >\n          <Flex direction=\"column\" flex={1} padding={padding}>\n            {children}\n          </Flex>\n        </MotionFlex>\n\n        {arrow && (\n          <Arrow\n            ref={arrowRef}\n            style={arrowStyle}\n            width={DEFAULT_POPOVER_ARROW_WIDTH}\n            height={DEFAULT_POPOVER_ARROW_HEIGHT}\n            radius={DEFAULT_POPOVER_ARROW_RADIUS}\n          />\n        )}\n      </MotionCard>\n    )\n  }),\n)\nPopoverCard.displayName = 'Memo(ForwardRef(PopoverCard))'\n","import {\n  arrow,\n  autoUpdate,\n  flip,\n  hide,\n  Middleware,\n  offset,\n  RootBoundary,\n  shift,\n  useFloating,\n} from '@floating-ui/react-dom'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n  cloneElement,\n  forwardRef,\n  memo,\n  MutableRefObject,\n  RefCallback,\n  useCallback,\n  useEffect,\n  useImperativeHandle,\n  useMemo,\n  useRef,\n} from 'react'\n\nimport {useArrayProp, useElementSize, useMediaIndex, usePrefersReducedMotion} from '../../hooks'\nimport {origin} from '../../middleware/origin'\nimport {useTheme_v2} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n  DEFAULT_FALLBACK_PLACEMENTS,\n  DEFAULT_POPOVER_DISTANCE,\n  DEFAULT_POPOVER_MARGINS,\n  DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\n/** @public */\nexport interface PopoverProps\n  extends Omit<LayerProps, 'as'>,\n    ResponsiveRadiusProps,\n    ResponsiveShadowProps {\n  /** @beta */\n  __unstable_margins?: PopoverMargins\n  /**\n   * Whether the popover should animate in and out.\n   *\n   * @beta\n   * @defaultValue false\n   */\n  animate?: boolean\n  arrow?: boolean\n  /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n  boundaryElement?: HTMLElement | null\n  children?: React.JSX.Element\n  /**\n   * When `true`, prevent overflow within the current boundary:\n   * - by flipping on its side axis\n   * - by resizing\n  /*\n   * Note that:\n   * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n   * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n   *\n   * @defaultValue false\n   */\n  constrainSize?: boolean\n  content?: React.ReactNode\n  disabled?: boolean\n  fallbackPlacements?: Placement[]\n  floatingBoundary?: HTMLElement | null\n  /**\n   * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n   * the current boundary by resizing.\n   *\n   * Note that setting `constrainSize` to `true` also causes the popover to resize\n   *\n   * @defaultValue false\n   */\n  matchReferenceWidth?: boolean\n  /**\n   * When true, blocks all pointer interaction with elements beneath the popover until closed.\n   *\n   * @beta\n   * @defaultValue false\n   */\n  modal?: boolean\n  open?: boolean\n  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  /**\n   * When defined, the popover will be positioned relative to this element.\n   * The children of the popover won't be rendered.\n   */\n  referenceElement?: HTMLElement | null\n  scheme?: ThemeColorSchemeKey\n  tone?: CardTone\n  /** @beta */\n  updateRef?:\n    | MutableRefObject<PopoverUpdateCallback | undefined>\n    | RefCallback<PopoverUpdateCallback | undefined>\n  width?: PopoverWidth | PopoverWidth[]\n}\n\nconst ViewportOverlay = () => {\n  const {zIndex} = useLayer()\n\n  return <div style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}} />\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    forwardedRef: React.ForwardedRef<HTMLDivElement>,\n  ): React.JSX.Element {\n    const {container, layer} = useTheme_v2()\n    const boundaryElementContext = useBoundaryElement()\n\n    const {\n      __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n      animate: _animate = false,\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      modal,\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 prefersReducedMotion = usePrefersReducedMotion()\n    const animate = prefersReducedMotion ? false : _animate\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 ref = useRef<HTMLDivElement | null>(null)\n    const arrowRef = useRef<HTMLDivElement | null>(null)\n    const rootBoundary: RootBoundary = 'viewport'\n\n    useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n      forwardedRef,\n      () => ref.current,\n    )\n\n    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>(undefined)\n\n    // Force apply width & max width to floating element\n    useEffect(() => {\n      const floatingElement = ref.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, 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 element\n      if (preventOverflow) {\n        ret.push(\n          shift({\n            boundary: floatingBoundary || undefined,\n            rootBoundary,\n            padding: DEFAULT_POPOVER_PADDING,\n          }),\n        )\n      }\n\n      // Place arrow\n      if (arrowProp) {\n        ret.push(\n          arrow({\n            element: arrowRef,\n            padding: DEFAULT_POPOVER_PADDING,\n          }),\n        )\n      }\n\n      // Determine the origin to scale from.\n      // Must be placed after `@sanity/ui/size` and `shift` middleware.\n      if (animate) {\n        ret.push(origin)\n      }\n\n      ret.push(\n        hide({\n          boundary: referenceBoundary || undefined,\n          padding: DEFAULT_POPOVER_PADDING,\n          strategy: 'referenceHidden',\n        }),\n      )\n\n      return ret\n    }, [\n      animate,\n      arrowProp,\n      constrainSize,\n      fallbackPlacements,\n      floatingBoundary,\n      margins,\n      matchReferenceWidth,\n      preventOverflow,\n      referenceBoundary,\n    ])\n\n    const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n      middleware,\n      placement: placementProp,\n      whileElementsMounted: autoUpdate,\n      elements: referenceElement\n        ? {\n            reference: referenceElement,\n          }\n        : undefined,\n    })\n\n    const referenceHidden = middlewareData.hide?.referenceHidden\n\n    const arrowX = middlewareData.arrow?.x\n    const arrowY = middlewareData.arrow?.y\n\n    const originX = middlewareData['@sanity/ui/origin']?.originX\n    const originY = middlewareData['@sanity/ui/origin']?.originY\n\n    const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n      arrowRef.current = arrowEl\n    }, [])\n\n    const setFloating = useCallback(\n      (node: HTMLDivElement | null) => {\n        ref.current = node\n        refs.setFloating(node)\n      },\n      [refs],\n    )\n\n    const setReference = useCallback(\n      (node: HTMLElement | null) => {\n        refs.setReference(node)\n\n        const childRef = getElementRef(childProp as any)\n\n        if (typeof childRef === 'function') {\n          childRef(node)\n        } else if (childRef) {\n          childRef.current = node\n        }\n      },\n      [childProp, refs],\n    )\n\n    const child = useMemo(() => {\n      // If a reference element is defined, we don't need to clone the child\n      if (referenceElement) return childProp\n\n      if (!childProp) return null\n\n      return cloneElement(childProp, {ref: setReference})\n    }, [childProp, referenceElement, setReference])\n\n    useEffect(() => {\n      if (updateRef) {\n        if (typeof updateRef === 'function') {\n          updateRef(update)\n        } else if (updateRef) {\n          updateRef.current = update\n        }\n      }\n    }, [update, updateRef])\n\n    if (disabled) {\n      return childProp || <></>\n    }\n\n    const popover = (\n      <LayerProvider zOffset={zOffset}>\n        {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}\n        {modal && <ViewportOverlay />}\n\n        <PopoverCard\n          {...restProps}\n          __unstable_margins={margins}\n          animate={animate}\n          arrow={arrowProp}\n          arrowRef={setArrow}\n          arrowX={arrowX}\n          arrowY={arrowY}\n          hidden={referenceHidden}\n          overflow={overflow}\n          padding={padding}\n          placement={placement}\n          radius={radius}\n          ref={setFloating}\n          scheme={scheme}\n          shadow={shadow}\n          originX={originX}\n          originY={originY}\n          strategy={strategy}\n          tone={tone}\n          width={matchReferenceWidth ? referenceWidthRef.current : width}\n          x={x}\n          y={y}\n        >\n          {content}\n        </PopoverCard>\n      </LayerProvider>\n    )\n\n    const children =\n      open &&\n      (portal ? (\n        <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>{popover}</Portal>\n      ) : (\n        popover\n      ))\n\n    return (\n      <>\n        {/* the popover */}\n        {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n        {/* the referred element */}\n        {child}\n      </>\n    )\n  }),\n)\nPopover.displayName = 'Memo(ForwardRef(Popover))'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks'\nimport {inputElementStyle, radioBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n  customValidity?: string\n}\n\nconst StyledRadio = 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 = useRef<HTMLInputElement | null>(null)\n\n  useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useCustomValidity(ref, customValidity)\n\n  return (\n    <StyledRadio 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    </StyledRadio>\n  )\n})\nRadio.displayName = 'ForwardRef(Radio)'\n","import {CSSObject, getTheme_v2, ThemeFontSize} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\nimport {_responsive, rem, 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, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp, useCustomValidity} 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 StyledSelect = 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 = 2,\n    readOnly,\n    space = 3,\n    ...restProps\n  } = props\n\n  const ref = useRef<HTMLSelectElement | null>(null)\n\n  useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useCustomValidity(ref, customValidity)\n\n  return (\n    <StyledSelect 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    </StyledSelect>\n  )\n})\nSelect.displayName = 'ForwardRef(Select)'\n","import {CSSObject, getTheme_v2} from '@sanity/ui/theme'\n\nimport {_responsive, rem, 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'\n\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n  as?: React.ElementType | keyof React.JSX.IntrinsicElements\n  space?: number | number[]\n}\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n  stackBaseStyle,\n  responsiveStackSpaceStyle,\n)\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n  props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n  ref: React.ForwardedRef<HTMLDivElement>,\n) {\n  const {as, space, ...restProps} = props\n\n  return (\n    <StyledStack\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})\nStack.displayName = 'ForwardRef(Stack)'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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    input:checked[data-read-only]:disabled + && {\n      --switch-bg-color: ${color.input.default.readOnly.fg};\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.05);\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, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {\n  switchBaseStyles,\n  switchInputStyles,\n  switchRepresentationStyles,\n  switchThumbStyles,\n  switchTrackStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n  indeterminate?: boolean\n}\n\nconst StyledSwitch = 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 = useRef<HTMLInputElement | null>(null)\n\n  useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useEffect(() => {\n    if (ref.current) {\n      // Set the indeterminate state\n      ref.current.indeterminate = indeterminate || false\n    }\n  }, [indeterminate])\n\n  return (\n    <StyledSwitch 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    </StyledSwitch>\n  )\n})\nSwitch.displayName = 'ForwardRef(Switch)'\n","import {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useArrayProp, useCustomValidity} from '../../hooks'\nimport {\n  responsiveInputPaddingStyle,\n  responsiveRadiusStyle,\n  ResponsiveRadiusStyleProps,\n  textInputBaseStyle,\n  textInputFontSizeStyle,\n  TextInputInputStyleProps,\n  textInputRepresentationStyle,\n  TextInputRepresentationStyleProps,\n  TextInputResponsivePaddingStyleProps,\n  textInputRootStyle,\n} from '../../styles/internal'\nimport {useRootTheme} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n  /**\n   * @beta\n   */\n  __unstable_disableFocusRing?: boolean\n  border?: boolean\n  customValidity?: string\n  fontSize?: number | number[]\n  padding?: number | number[]\n  weight?: ThemeFontWeightKey\n}\n\nconst StyledTextArea = 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    __unstable_disableFocusRing,\n    ...restProps\n  } = props\n\n  const ref = useRef<HTMLTextAreaElement | null>(null)\n\n  const rootTheme = useRootTheme()\n\n  useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useCustomValidity(ref, customValidity)\n\n  return (\n    <StyledTextArea 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          $unstableDisableFocusRing={__unstable_disableFocusRing}\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    </StyledTextArea>\n  )\n})\nTextArea.displayName = 'ForwardRef(TextArea)'\n","import {CloseIcon} from '@sanity/icons'\nimport {ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {forwardRef, isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useCustomValidity} from '../../hooks'\nimport {\n  responsiveInputPaddingStyle,\n  responsiveRadiusStyle,\n  ResponsiveRadiusStyleProps,\n  textInputBaseStyle,\n  textInputFontSizeStyle,\n  TextInputInputStyleProps,\n  textInputRepresentationStyle,\n  TextInputRepresentationStyleProps,\n  TextInputResponsivePaddingStyleProps,\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  | 'search'\n  | 'date'\n  | 'datetime-local'\n  | 'email'\n  | 'url'\n  | 'month'\n  | 'number'\n  | 'password'\n  | 'tel'\n  | 'time'\n  | 'text'\n  | 'week'\n  | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\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 StyledTextInput = 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: IconComponent,\n    iconRight: IconRightComponent,\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  const ref = useRef<HTMLInputElement | null>(null)\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(IconComponent)\n  const $hasIconRight = Boolean(IconRightComponent)\n  const $hasSuffix = Boolean(suffix)\n  const $hasPrefix = Boolean(prefix)\n\n  useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  useCustomValidity(ref, customValidity)\n\n  // Prevent the clear button from taking the focus away from the input\n  const handleClearMouseDown = useCallback((event: 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        {IconComponent && (\n          <LeftBox padding={padding}>\n            <Text size={fontSize}>\n              {isValidElement(IconComponent) && IconComponent}\n              {isValidElementType(IconComponent) && <IconComponent />}\n            </Text>\n          </LeftBox>\n        )}\n\n        {!$hasClearButton && IconRightComponent && (\n          <RightBox padding={padding}>\n            <Text size={fontSize}>\n              {isValidElement(IconRightComponent) && IconRightComponent}\n              {isValidElementType(IconRightComponent) && <IconRightComponent />}\n            </Text>\n          </RightBox>\n        )}\n      </Presentation>\n    ),\n    [\n      __unstable_disableFocusRing,\n      border,\n      fontSize,\n      IconComponent,\n      IconRightComponent,\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    <StyledTextInput 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    </StyledTextInput>\n  )\n})\nTextInput.displayName = 'ForwardRef(TextInput)'\n","import {SetStateAction, useCallback, useRef, useState} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n  initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n  const [state, setState] = useState(initialState)\n  const delayedAction = useRef<NodeJS.Timeout | undefined>(undefined)\n\n  const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n    const action = () => {\n      setState(nextState)\n    }\n\n    // A new state change has been initiated, cancel the previous one.\n    if (delayedAction.current) {\n      clearTimeout(delayedAction.current)\n      delayedAction.current = undefined\n    }\n\n    if (!delay) return action()\n    delayedAction.current = setTimeout(action, delay)\n  }, [])\n\n  return [state, onStateChange]\n}\n","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 {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {motion, type MotionProps} from 'framer-motion'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, Radius} from '../../types'\nimport {Arrow} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {\n  DEFAULT_TOOLTIP_ARROW_HEIGHT,\n  DEFAULT_TOOLTIP_ARROW_RADIUS,\n  DEFAULT_TOOLTIP_ARROW_WIDTH,\n} from './constants'\n\nconst MotionCard = styled(motion.create(Card))`\n  will-change: transform;\n`\n\n/**\n * @internal\n */\nexport const TooltipCard = memo(\n  forwardRef(function TooltipCard(\n    props: {\n      animate?: boolean\n      arrow: boolean\n      arrowRef: React.Ref<HTMLDivElement>\n      arrowX?: number\n      arrowY?: number\n      originX?: number\n      originY?: number\n      padding?: number | number[]\n      placement?: Placement\n      radius?: Radius | Radius[]\n      scheme?: ThemeColorSchemeKey\n      shadow?: number | number[]\n    } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n    ref: React.ForwardedRef<HTMLDivElement>,\n  ) {\n    const {\n      animate,\n      arrow,\n      arrowRef,\n      arrowX,\n      arrowY,\n      children,\n      originX,\n      originY,\n      padding,\n      placement,\n      radius,\n      scheme,\n      shadow,\n      style,\n      ...restProps\n    } = props\n\n    const rootStyle: CSSProperties = useMemo(\n      () => ({\n        originX,\n        originY,\n        willChange: animate ? 'transform' : undefined,\n        ...style,\n      }),\n      [animate, originX, originY, style],\n    )\n\n    const arrowStyle: CSSProperties = useMemo(\n      () => ({\n        left: arrowX !== null ? arrowX : undefined,\n        top: arrowY !== null ? arrowY : undefined,\n        right: undefined,\n        bottom: undefined,\n      }),\n      [arrowX, arrowY],\n    )\n\n    return (\n      <MotionCard\n        data-ui=\"Tooltip__card\"\n        {...(restProps as CardProps & MotionProps)}\n        data-placement={placement}\n        padding={padding}\n        radius={radius}\n        ref={ref}\n        scheme={scheme}\n        shadow={shadow}\n        style={rootStyle}\n        variants={POPOVER_MOTION_PROPS.card}\n        transition={POPOVER_MOTION_PROPS.transition}\n        initial={animate ? ['hidden', 'initial'] : undefined}\n        animate={animate ? ['visible', 'scaleIn'] : undefined}\n        exit={animate ? ['hidden', 'scaleOut'] : undefined}\n      >\n        {children}\n\n        {arrow && (\n          <Arrow\n            ref={arrowRef}\n            style={arrowStyle}\n            width={DEFAULT_TOOLTIP_ARROW_WIDTH}\n            height={DEFAULT_TOOLTIP_ARROW_HEIGHT}\n            radius={DEFAULT_TOOLTIP_ARROW_RADIUS}\n          />\n        )}\n      </MotionCard>\n    )\n  }),\n)\nTooltipCard.displayName = 'Memo(ForwardRef(TooltipCard))'\n","import {createGlobalScopedContext} from '../../../lib/createGlobalScopedContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext =\n  createGlobalScopedContext<TooltipDelayGroupContextValue | null>(\n    '@sanity/ui/context/tooltipDelayGroup',\n    null,\n  )\n","import {useMemo} from 'react'\n\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n  children?: 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.JSX.Element {\n  const {children, delay} = props\n  const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n  const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n  const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n  const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n  const value: TooltipDelayGroupContextValue = useMemo(\n    () => ({\n      setIsGroupActive: setIsGroupActive,\n      openTooltipId: openTooltipId,\n      setOpenTooltipId: setOpenTooltipId,\n      // When the group is active, we want the next tooltip to open immediately.\n      openDelay: isGroupActive ? 1 : openDelay,\n      closeDelay: closeDelay,\n    }),\n    [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n  )\n\n  return (\n    <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n  )\n}\n\nTooltipDelayGroupProvider.displayName = 'TooltipDelayGroupProvider'\n","import {useContext} from 'react'\n\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n  const value = useContext(TooltipDelayGroupContext)\n\n  return value\n}\n","import {\n  arrow,\n  autoUpdate,\n  flip,\n  type Middleware,\n  offset,\n  type RootBoundary,\n  shift,\n  useFloating,\n} from '@floating-ui/react-dom'\nimport type {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n  cloneElement,\n  forwardRef,\n  useCallback,\n  useEffect,\n  useId,\n  useImperativeHandle,\n  useLayoutEffect,\n  useMemo,\n  useRef,\n  useState,\n} from 'react'\nimport {styled} from 'styled-components'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {origin} from '../../middleware/origin'\nimport {useTheme_v2} from '../../theme'\nimport type {Placement} from '../../types'\nimport {Layer, type LayerProps, Portal, useBoundaryElement, usePortal} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport type {Delay} from '../types'\nimport {\n  DEFAULT_FALLBACK_PLACEMENTS,\n  DEFAULT_TOOLTIP_DISTANCE,\n  DEFAULT_TOOLTIP_PADDING,\n} from './constants'\nimport {TooltipCard} from './tooltipCard'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n  /** @deprecated Use `fallbackPlacements` instead. */\n  allowedAutoPlacements?: Placement[]\n  arrow?: boolean\n  boundaryElement?: HTMLElement | null\n  children?: React.JSX.Element\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 StyledTooltip = styled(Layer)`\n  pointer-events: none;\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  forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n  const boundaryElementContext = useBoundaryElement()\n  const {layer} = useTheme_v2()\n  const {\n    animate: _animate = false,\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    ...restProps\n  } = props\n  const prefersReducedMotion = usePrefersReducedMotion()\n  const animate = prefersReducedMotion ? false : _animate\n  const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n  const ref = useRef<HTMLDivElement | null>(null)\n  const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n  const arrowRef = useRef<HTMLDivElement | null>(null)\n  const rootBoundary: RootBoundary = 'viewport'\n  const [tooltipMaxWidth, setTooltipMaxWidth] = useState(0)\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n  const portal = usePortal()\n  const portalElement =\n    typeof portalProp === 'string' ? portal.elements?.[portalProp] || null : portal.element\n\n  const middleware = useMemo(() => {\n    const ret: Middleware[] = []\n\n    // Flip the floating element when leaving the boundary box\n    ret.push(\n      flip({\n        boundary: boundaryElement || undefined,\n        fallbackPlacements,\n        padding: DEFAULT_TOOLTIP_PADDING,\n        rootBoundary,\n      }),\n    )\n\n    // Define distance between reference and floating element\n    ret.push(offset({mainAxis: DEFAULT_TOOLTIP_DISTANCE}))\n\n    // Shift the tooltip so its sits with the boundary element\n    ret.push(\n      shift({\n        boundary: boundaryElement || undefined,\n        rootBoundary,\n        padding: DEFAULT_TOOLTIP_PADDING,\n      }),\n    )\n\n    // Place arrow\n    if (arrowProp) {\n      ret.push(arrow({element: arrowRef, padding: DEFAULT_TOOLTIP_PADDING}))\n    }\n\n    // Determine the origin to scale from.\n    // Must be placed after `@sanity/ui/size` and `shift` middleware.\n    if (animate) {\n      ret.push(origin)\n    }\n\n    return ret\n  }, [animate, arrowProp, boundaryElement, fallbackPlacements])\n\n  const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n    middleware,\n    placement: placementProp,\n    whileElementsMounted: autoUpdate,\n    elements: {reference: referenceElement},\n  })\n\n  const arrowX = middlewareData.arrow?.x\n  const arrowY = middlewareData.arrow?.y\n\n  const originX = middlewareData['@sanity/ui/origin']?.originX\n  const originY = middlewareData['@sanity/ui/origin']?.originY\n\n  const tooltipId = useId()\n  const [isOpen, setIsOpen] = useDelayedState(false)\n  const delayGroupContext = useTooltipDelayGroup()\n  const {setIsGroupActive, setOpenTooltipId} = delayGroupContext || {}\n  const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n  const isInsideGroup = delayGroupContext !== null\n  const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n  const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n  const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n  const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n  const handleIsOpenChange = useCallback(\n    (open: boolean, immediate?: boolean) => {\n      if (isInsideGroup) {\n        //  When it's inside a group, the open or close status will be handled by the group.\n        if (open) {\n          const groupedOpenDelay = immediate ? 0 : openDelay\n\n          setIsGroupActive?.(open, groupedOpenDelay)\n          setOpenTooltipId?.(tooltipId, groupedOpenDelay)\n        } else {\n          const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n          const groupDeactivateDelay =\n            closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n          setIsGroupActive?.(open, groupDeactivateDelay)\n          setOpenTooltipId?.(null, immediate ? 0 : closeDelay)\n        }\n      } else {\n        const standaloneDelay = immediate ? 0 : open ? openDelay : closeDelay\n\n        // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n        setIsOpen(open, standaloneDelay)\n      }\n    },\n    [\n      isInsideGroup,\n      openDelay,\n      setIsGroupActive,\n      setOpenTooltipId,\n      tooltipId,\n      closeDelay,\n      setIsOpen,\n    ],\n  )\n\n  const handleBlur = useCallback(\n    (e: FocusEvent) => {\n      handleIsOpenChange(false)\n      childProp?.props?.onBlur?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n  const handleClick = useCallback(\n    (e: MouseEvent) => {\n      handleIsOpenChange(false, true)\n      childProp?.props.onClick?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n  const handleContextMenu = useCallback(\n    (e: MouseEvent) => {\n      handleIsOpenChange(false, true)\n      childProp?.props.onContextMenu?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n  const handleFocus = useCallback(\n    (e: FocusEvent) => {\n      handleIsOpenChange(true)\n      childProp?.props?.onFocus?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n  const handleMouseEnter = useCallback(\n    (e: MouseEvent) => {\n      handleIsOpenChange(true)\n      childProp?.props?.onMouseEnter?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n  const handleMouseLeave = useCallback(\n    (e: MouseEvent) => {\n      handleIsOpenChange(false)\n      childProp?.props?.onMouseLeave?.(e)\n    },\n    [childProp?.props, handleIsOpenChange],\n  )\n\n  // Handle closing the tooltip when the mouse leaves the referenceElement\n  useCloseOnMouseLeave({handleIsOpenChange, referenceElement, showTooltip, isInsideGroup})\n\n  // Close when `disabled` changes to `true`\n  useEffect(() => {\n    if (disabled && showTooltip) handleIsOpenChange(false)\n  }, [disabled, handleIsOpenChange, showTooltip])\n\n  // Close when `content` changes to falsy\n  useEffect(() => {\n    if (!content && showTooltip) handleIsOpenChange(false)\n  }, [content, handleIsOpenChange, showTooltip])\n\n  useEffect(() => {\n    // If the user clicks on escape key, close the tooltip.\n    if (!showTooltip) return\n\n    function handleWindowKeyDown(event: KeyboardEvent) {\n      if (event.key === 'Escape') {\n        handleIsOpenChange(false, true)\n      }\n    }\n\n    window.addEventListener('keydown', handleWindowKeyDown)\n\n    return () => {\n      window.removeEventListener('keydown', handleWindowKeyDown)\n    }\n  }, [handleIsOpenChange, showTooltip])\n\n  // // Set the max width of the tooltip based on boundaries and portals\n  useLayoutEffect(() => {\n    // Get the maximum tooltip width (sans tooltip padding)\n    // Tooltip width should never exceed the width of either any supplied boundary or portal element.\n    // If both portal and boundary elements are provided, use the smaller width of the two.\n    const availableWidths = [\n      ...(boundaryElement ? [boundaryElement.offsetWidth] : []),\n      portalElement?.offsetWidth || document.body.offsetWidth,\n    ]\n\n    setTooltipMaxWidth(Math.min(...availableWidths) - DEFAULT_TOOLTIP_PADDING * 2)\n  }, [boundaryElement, portalElement])\n\n  const setArrow = useCallback(\n    (arrowEl: HTMLDivElement | null) => {\n      arrowRef.current = arrowEl\n      update()\n    },\n    [update],\n  )\n\n  const setFloating = useCallback(\n    (node: HTMLDivElement | null) => {\n      ref.current = node\n      refs.setFloating(node)\n    },\n    [refs],\n  )\n\n  const child = useMemo(() => {\n    if (!childProp) return null\n\n    return cloneElement(childProp, {\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      onMouseEnter: handleMouseEnter,\n      onMouseLeave: handleMouseLeave,\n      onClick: handleClick,\n      onContextMenu: handleContextMenu,\n      ref: setReferenceElement,\n    })\n  }, [\n    childProp,\n    handleBlur,\n    handleClick,\n    handleContextMenu,\n    handleFocus,\n    handleMouseEnter,\n    handleMouseLeave,\n  ])\n\n  // If there's a child then we need to set the reference element to the cloned child ref\n  // and if child changes we make sure to update or remove the reference element.\n  useImperativeHandle(childProp ? getElementRef(childProp) : null, () => referenceElement, [\n    referenceElement,\n  ])\n\n  if (!child) return <></>\n\n  if (disabled) return child\n\n  const tooltip = (\n    <StyledTooltip\n      data-ui=\"Tooltip\"\n      {...restProps}\n      ref={setFloating}\n      style={{\n        ...floatingStyles,\n        maxWidth: tooltipMaxWidth > 0 ? `${tooltipMaxWidth}px` : undefined,\n      }}\n      zOffset={zOffset}\n    >\n      <TooltipCard\n        {...restProps}\n        animate={animate}\n        arrow={arrowProp}\n        arrowRef={setArrow}\n        arrowX={arrowX}\n        arrowY={arrowY}\n        originX={originX}\n        originY={originY}\n        padding={padding}\n        placement={placement}\n        radius={radius}\n        ref={setFloating}\n        scheme={scheme}\n        shadow={shadow}\n      >\n        {content}\n      </TooltipCard>\n    </StyledTooltip>\n  )\n\n  const children =\n    showTooltip &&\n    (portalProp ? (\n      <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n        {tooltip}\n      </Portal>\n    ) : (\n      tooltip\n    ))\n\n  return (\n    <>\n      {/* the tooltip */}\n      {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n      {/* the referred element */}\n      {child}\n    </>\n  )\n})\nTooltip.displayName = 'ForwardRef(Tooltip)'\n\n/**\n * As `useEffectEvent` should never be passed to other components or hooks, this custom hook groups together the `useEffectEvent` and the `useEffect` hook using it.\n * @see https://19.react.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events:~:text=Never%20pass%20them%20to%20other%20components%20or%20Hooks\n */\nfunction useCloseOnMouseLeave({\n  handleIsOpenChange,\n  referenceElement,\n  showTooltip,\n  isInsideGroup,\n}: {\n  handleIsOpenChange: (open: boolean, immediate?: boolean) => void\n  referenceElement: HTMLElement | null\n  showTooltip: boolean\n  isInsideGroup: boolean\n}) {\n  // Since we don't want the `mouseevent` events to be attached and removed if the `referenceElement` is changed\n  // we use a \"effect event\" (https://19.react.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events)\n  // in order to always see the latest `referenceElement` value inside the event handler itself.\n  const onMouseMove = useEffectEvent((target: EventTarget | null, teardown: () => void) => {\n    if (!referenceElement) return\n\n    const isHoveringReference =\n      referenceElement === target || (target instanceof Node && referenceElement.contains(target))\n\n    if (!isHoveringReference) {\n      handleIsOpenChange(false)\n      // Allow removing the event listener eagerly, to avoid race conditions\n      teardown()\n    }\n  })\n\n  // Detect whether the mouse is moving outside of the reference element. This is sometimes\n  // necessary, because the tooltip might not always close as it should (e.g. when clicking\n  // the reference element triggers a CPU-heavy operation.)\n  useEffect(() => {\n    if (!showTooltip || isInsideGroup) return\n\n    const handleMouseMove = (event: MouseEvent) => {\n      onMouseMove(event.target, () => window.removeEventListener('mousemove', handleMouseMove))\n    }\n\n    window.addEventListener('mousemove', handleMouseMove)\n\n    return () => window.removeEventListener('mousemove', handleMouseMove)\n  }, [isInsideGroup, showTooltip])\n}\n","import {forwardRef} from 'react'\nimport {styled} from 'styled-components'\n\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 StyledHotkeys = 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    <StyledHotkeys 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    </StyledHotkeys>\n  )\n})\nHotkeys.displayName = 'ForwardRef(Hotkeys)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\n\nexport interface MenuContextValue {\n  version: 0.0\n  activeElement: HTMLElement | null\n  activeIndex: number\n  mount: (element: HTMLElement | null, selected?: boolean) => () => void\n  onClickOutside?: (event: MouseEvent) => void\n  onEscape?: () => void\n  onItemClick?: () => void\n  onItemMouseEnter?: (event: 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\nexport const MenuContext = createGlobalScopedContext<MenuContextValue | null>(\n  '@sanity/ui/context/menu',\n  null,\n)\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n  return (\n    (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n    (isHTMLButtonElement(element) && !element.disabled)\n  )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n  return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n  const path: number[] = []\n\n  let e = el\n\n  while (e !== rootElement) {\n    const parentElement = e.parentElement\n\n    if (!parentElement) return path\n\n    const children = Array.from(parentElement.childNodes)\n    const index = children.indexOf(e)\n\n    path.unshift(index)\n\n    if (parentElement === rootElement) {\n      return path\n    }\n\n    e = parentElement\n  }\n\n  return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n  if (!rootElement) return\n\n  const map = new WeakMap<HTMLElement, number[]>()\n\n  for (const el of elements) {\n    map.set(el, _getDOMPath(rootElement, el))\n  }\n\n  const _sort = (a: HTMLElement, b: HTMLElement) => {\n    const _a = map.get(a) || EMPTY_PATH\n    const _b = map.get(b) || EMPTY_PATH\n\n    const len = Math.max(_a.length, _b.length)\n\n    // Loop until there are different indexes\n    for (let i = 0; i < len; i += 1) {\n      const aIndex = _a[i] || -1\n      const bIndex = _b[i] || -1\n\n      if (aIndex !== bIndex) {\n        return aIndex - bIndex\n      }\n    }\n\n    return 0\n  }\n\n  elements.sort(_sort)\n}\n","import {useCallback, useEffect, useMemo, useRef, useState} from 'react'\n\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n  activeElement: HTMLElement | null\n  activeIndex: number\n  handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n  handleItemMouseLeave: () => void\n  handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n  mount: (element: HTMLElement | null, selected?: boolean) => () => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n  onKeyDown?: React.KeyboardEventHandler\n  originElement?: HTMLElement | null\n  shouldFocus: 'first' | 'last' | null\n  rootElementRef: React.MutableRefObject<HTMLDivElement | null>\n}): MenuController {\n  const {onKeyDown, originElement, shouldFocus, rootElementRef} = props\n  const elementsRef = useRef<HTMLElement[]>([])\n  const [activeIndex, _setActiveIndex] = useState(-1)\n  const activeIndexRef = useRef(activeIndex)\n  const activeElement = useMemo(() => elementsRef.current[activeIndex] || null, [activeIndex])\n  const mounted = Boolean(rootElementRef.current)\n\n  const setActiveIndex = useCallback((nextActiveIndex: number) => {\n    _setActiveIndex(nextActiveIndex)\n    activeIndexRef.current = nextActiveIndex\n  }, [])\n\n  const mount = useCallback(\n    (element: HTMLElement | null, selected?: boolean): (() => void) => {\n      if (!element) return () => undefined\n\n      if (elementsRef.current.indexOf(element) === -1) {\n        elementsRef.current.push(element)\n        _sortElements(rootElementRef.current, elementsRef.current)\n      }\n\n      if (selected) {\n        const selectedIndex = elementsRef.current.indexOf(element)\n\n        setActiveIndex(selectedIndex)\n      }\n\n      return () => {\n        const idx = elementsRef.current.indexOf(element)\n\n        if (idx > -1) {\n          elementsRef.current.splice(idx, 1)\n        }\n      }\n    },\n    [rootElementRef, setActiveIndex],\n  )\n\n  const handleKeyDown = useCallback(\n    (event: 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    rootElementRef.current?.focus()\n  }, [rootElementRef, setActiveIndex])\n\n  // Set focus on the currently active element\n  useEffect(() => {\n    if (!mounted) return\n\n    const rafId = requestAnimationFrame(() => {\n      if (activeIndex === -1) {\n        if (shouldFocus === 'first') {\n          const focusableElements = _getFocusableElements(elementsRef.current)\n          const el = focusableElements[0]\n\n          if (el) {\n            const currentIndex = elementsRef.current.indexOf(el)\n\n            setActiveIndex(currentIndex)\n          }\n        }\n\n        if (shouldFocus === 'last') {\n          const focusableElements = _getFocusableElements(elementsRef.current)\n          const el = focusableElements[focusableElements.length - 1]\n\n          if (el) {\n            const currentIndex = elementsRef.current.indexOf(el)\n\n            setActiveIndex(currentIndex)\n          }\n        }\n\n        return\n      }\n\n      const element = elementsRef.current[activeIndex] || null\n\n      element?.focus()\n    })\n\n    return () => cancelAnimationFrame(rafId)\n  }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n  return {\n    activeElement,\n    activeIndex,\n    handleItemMouseEnter,\n    handleItemMouseLeave,\n    handleKeyDown,\n    mount,\n  }\n}\n","import {forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useClickOutsideEvent, 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  'aria-labelledby'?: string\n  'onBlurCapture'?: (event: FocusEvent) => void\n}\n\nconst StyledMenu = 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  forwardedRef: 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: _shouldFocus,\n    space = 1,\n    ...restProps\n  } = props\n  const shouldFocus =\n    _shouldFocus ?? ((props.focusFirst && 'first') || (props.focusLast && 'last') || null)\n\n  const ref = useRef<HTMLDivElement | null>(null)\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n  const {isTopLayer} = useLayer()\n\n  const {\n    activeElement,\n    activeIndex,\n    handleItemMouseEnter,\n    handleItemMouseLeave,\n    handleKeyDown,\n    mount,\n  } = useMenuController({onKeyDown, originElement, shouldFocus, rootElementRef: ref})\n\n  const unregisterElementRef = useRef<(() => void) | null>(null)\n  const handleRefChange = useCallback(\n    (el: HTMLDivElement | null) => {\n      // Run cleanup of previously registered elements\n      if (unregisterElementRef.current) {\n        // The `registerElement` callback were originally used in a `useEffect`, so it returns a cleanup function that is a bit gnarly to handle in a ref callback.\n        // Since we can't change the `registerElement` implementation itself without making breaking change,\n        // that is explained in the code comments for createGlobalScopedContext.tsx,\n        // we need to handle with a ref that holds on to the cleanup function last returned when the ref callback is called.\n        unregisterElementRef.current()\n        unregisterElementRef.current = null\n      }\n\n      ref.current = el\n\n      // Register root element (for nested menus)\n      if (ref.current && registerElement) {\n        unregisterElementRef.current = registerElement(ref.current)\n      }\n    },\n    [registerElement],\n  )\n\n  // Trigger `onItemSelect` when active index changes\n  useEffect(() => {\n    if (onItemSelect) onItemSelect(activeIndex)\n  }, [activeIndex, onItemSelect])\n\n  // Close menu when clicking outside\n  useClickOutsideEvent(isTopLayer && onClickOutside, () => [ref.current])\n\n  // Close menu when pressing Escape\n  useGlobalKeyDown(\n    useCallback(\n      (event) => {\n        if (!isTopLayer) return\n\n        if (event.key === 'Escape') {\n          event.stopPropagation()\n          if (onEscape) onEscape()\n        }\n      },\n      [isTopLayer, onEscape],\n    ),\n  )\n\n  const value: MenuContextValue = useMemo(\n    () => ({\n      version: 0.0,\n      activeElement,\n      activeIndex,\n      mount,\n      onClickOutside,\n      onEscape,\n      onItemClick,\n      onItemMouseEnter: handleItemMouseEnter,\n      onItemMouseLeave: handleItemMouseLeave,\n      registerElement,\n\n      // deprecated\n      onMouseEnter: handleItemMouseEnter,\n      onMouseLeave: handleItemMouseLeave,\n    }),\n    [\n      activeElement,\n      activeIndex,\n      mount,\n      handleItemMouseEnter,\n      handleItemMouseLeave,\n      onClickOutside,\n      onEscape,\n      onItemClick,\n      registerElement,\n    ],\n  )\n\n  return (\n    <MenuContext.Provider value={value}>\n      <StyledMenu\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      </StyledMenu>\n    </MenuContext.Provider>\n  )\n})\nMenu.displayName = 'ForwardRef(Menu)'\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`\nMenuDivider.displayName = 'MenuDivider'\n","import {getTheme_v2} from '@sanity/ui/theme'\nimport {css} from 'styled-components'\n\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'\n\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)\nSelectable.displayName = 'Selectable'\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n  const value = useContext(MenuContext)\n\n  if (!value) {\n    throw new Error('useMenu(): missing context value')\n  }\n\n  // NOTE: This check is for future-compatiblity\n  // - If the value is not an object, it’s not compatible with the current version\n  // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n  if (!isRecord(value) || value.version !== 0.0) {\n    throw new Error('useMenu(): the context value is not compatible')\n  }\n\n  return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {isValidElement, useCallback, useEffect, useState} from 'react'\nimport {isValidElementType} from 'react-is'\n\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, MenuProps} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n  as?: React.ElementType | keyof React.JSX.IntrinsicElements\n  fontSize?: number | number[]\n  icon?: React.ElementType | React.ReactNode\n  menu?: Omit<\n    MenuProps,\n    | 'onClickOutside'\n    | 'onEscape'\n    | 'onItemClick'\n    | 'onKeyDown'\n    | 'onMouseEnter'\n    | 'registerElement'\n    | 'shouldFocus'\n    | 'onBlurCapture'\n  >\n  padding?: 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: Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'popover' | 'ref' | 'tabIndex'> &\n    MenuGroupProps,\n): React.JSX.Element {\n  const {\n    as = 'button',\n    children,\n    fontSize = 1,\n    icon: IconComponent,\n    menu: menuProps,\n    onClick,\n    padding = 3,\n    popover,\n    radius = 2,\n    space = 3,\n    text,\n    tone = 'default',\n    ...restProps\n  } = props\n  const menu = useMenu()\n  const {scheme} = useRootTheme()\n  const {\n    activeElement,\n    mount,\n    onClickOutside,\n    onEscape,\n    onItemClick,\n    onItemMouseEnter: _onItemMouseEnter,\n    registerElement,\n  } = menu\n  const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n  const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n  const [open, setOpen] = useState(false)\n  const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n  const active = Boolean(activeElement) && activeElement === rootElement\n  const [withinMenu, setWithinMenu] = useState(false)\n\n  const handleMouseEnter = useCallback(\n    (event: 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      onClick?.(event)\n\n      setShouldFocus('first')\n      setOpen(true)\n    },\n    [onClick],\n  )\n\n  const handleChildItemClick = useCallback(() => {\n    setOpen(false)\n    onItemClick?.()\n  }, [onItemClick])\n\n  const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n  // Register the menu item element\n  useEffect(() => mount(rootElement), [mount, rootElement])\n\n  // Close child menu when a sibling item becomes active\n  useEffect(() => {\n    if (!active) setOpen(false)\n  }, [active])\n\n  // Update state when child menu is no longer open\n  useEffect(() => {\n    if (!open) setWithinMenu(false)\n  }, [open])\n\n  // Reset the shouldFocus state after it has been used\n  useEffect(() => {\n    if (!shouldFocus) return\n    // The useMenuController effect that handles `shouldFocus` schedules a request animation frame where it's processed.\n    // By doing the same here, we ensure that the reset is processed after the focus change.\n    const rafId = requestAnimationFrame(() => setShouldFocus(null))\n\n    return () => cancelAnimationFrame(rafId)\n  }, [shouldFocus])\n\n  const childMenu = (\n    <Menu\n      {...menuProps}\n      onClickOutside={onClickOutside}\n      onEscape={onEscape}\n      onItemClick={handleChildItemClick}\n      onKeyDown={handleMenuKeyDown}\n      onMouseEnter={handleMenuMouseEnter}\n      registerElement={registerElement}\n      shouldFocus={shouldFocus}\n    >\n      {children}\n    </Menu>\n  )\n\n  const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n    const target = event.currentTarget\n\n    if (document.activeElement !== target) {\n      return\n    }\n\n    if (event.key === 'ArrowRight') {\n      setShouldFocus('first')\n      setOpen(true)\n      setWithinMenu(true)\n\n      return\n    }\n  }, [])\n\n  return (\n    <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n      <Selectable\n        data-as={as}\n        data-ui=\"MenuGroup\"\n        forwardedAs={as}\n        {...restProps}\n        aria-pressed={as === 'button' ? withinMenu : undefined}\n        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          {IconComponent && (\n            <Text size={fontSize}>\n              {isValidElement(IconComponent) && IconComponent}\n              {isValidElementType(IconComponent) && <IconComponent />}\n            </Text>\n          )}\n\n          <Box flex={1}>\n            <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n              {text}\n            </Text>\n          </Box>\n\n          <Text size={fontSize}>\n            <ChevronRightIcon />\n          </Text>\n        </Flex>\n      </Selectable>\n    </Popover>\n  )\n}\n\nMenuGroup.displayName = 'MenuGroup'\n","import {\n  forwardRef,\n  isValidElement,\n  useCallback,\n  useEffect,\n  useImperativeHandle,\n  useMemo,\n  useRef,\n  useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {useArrayProp} 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 React.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: IconComponent,\n    iconRight: IconRightComponent,\n    onClick,\n    padding = 3,\n    paddingX,\n    paddingY,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft,\n    pressed,\n    radius = 2,\n    selected: selectedProp,\n    space = 3,\n    text,\n    tone = 'default',\n    ...restProps\n  } = props\n  const {scheme} = useRootTheme()\n  const menu = useMenu()\n  const {\n    activeElement,\n    mount,\n    onItemClick,\n    onItemMouseEnter: _onItemMouseEnter,\n    onItemMouseLeave: _onItemMouseLeave,\n  } = menu\n  const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n  const onItemMouseLeave = _onItemMouseLeave ?? menu.onMouseLeave\n  const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n  const active = Boolean(activeElement) && activeElement === rootElement\n  const ref = useRef<HTMLDivElement | null>(null)\n\n  useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n  useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n  const handleClick = useCallback(\n    (event: 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((el: HTMLDivElement | null) => {\n    ref.current = el\n    setRootElement(el)\n  }, [])\n\n  return (\n    <Selectable\n      data-ui=\"MenuItem\"\n      role=\"menuitem\"\n      {...restProps}\n      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      tabIndex={-1}\n      type={as === 'button' ? 'button' : undefined}\n    >\n      {(IconComponent || text || IconRightComponent) && (\n        <Flex as=\"span\" gap={space} align=\"center\" {...paddingProps}>\n          {IconComponent && (\n            <Text size={fontSize}>\n              {isValidElement(IconComponent) && IconComponent}\n              {isValidElementType(IconComponent) && <IconComponent />}\n            </Text>\n          )}\n\n          {text && (\n            <Box flex={1}>\n              <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n                {text}\n              </Text>\n            </Box>\n          )}\n\n          {hotkeys && (\n            <Hotkeys\n              fontSize={hotkeysFontSize}\n              keys={hotkeys}\n              style={{marginTop: -4, marginBottom: -4}}\n            />\n          )}\n\n          {IconRightComponent && (\n            <Text size={fontSize}>\n              {isValidElement(IconRightComponent) && IconRightComponent}\n              {isValidElementType(IconRightComponent) && <IconRightComponent />}\n            </Text>\n          )}\n        </Flex>\n      )}\n      {children && (\n        <Box as=\"span\" {...paddingProps}>\n          {children}\n        </Box>\n      )}\n    </Selectable>\n  )\n})\nMenuItem.displayName = 'ForwardRef(MenuItem)'\n","import {forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\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 ref = useRef<HTMLButtonElement | null>(null)\n  const focusedRef = useRef(false)\n\n  useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n    forwardedRef,\n    () => ref.current,\n  )\n\n  const handleBlur = useCallback(() => {\n    focusedRef.current = false\n  }, [])\n\n  const handleFocus = useCallback(\n    (event: React.FocusEvent<HTMLButtonElement>) => {\n      focusedRef.current = true\n      if (onFocus) onFocus(event)\n    },\n    [onFocus],\n  )\n\n  useEffect(() => {\n    if (focused && !focusedRef.current) {\n      if (ref.current) ref.current.focus()\n      focusedRef.current = true\n    }\n  }, [focused])\n\n  return (\n    <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={ref}\n      role=\"tab\"\n      selected={selected}\n      tabIndex={selected ? 0 : -1}\n      text={label}\n      type=\"button\"\n    />\n  )\n})\nTab.displayName = 'ForwardRef(Tab)'\n","import {Children, cloneElement, forwardRef, isValidElement, useCallback, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n  children: Array<React.JSX.Element | null | undefined | false>\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: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\n\n  const tabs = children.map((child, childIndex) =>\n    cloneElement(child, {\n      focused: focusedIndex === childIndex,\n      key: childIndex,\n      onFocus: () => setFocusedIndex(childIndex),\n    }),\n  )\n\n  const numTabs = tabs.length\n\n  const handleKeyDown = useCallback(\n    (event: 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})\nTabList.displayName = 'ForwardRef(TabList)'\n"],"names":["createColorTheme","_createColorTheme","hexToRgb","_hexToRgb","hslToRgb","_hslToRgb","multiply","_multiply","parseColor","_parseColor","rgbToHex","_rgbToHex","rgbToHsl","_rgbToHsl","rgba","_rgba","screen","_screen","studioTheme","buildTheme","EMPTY_ARRAY","EMPTY_RECORD","POPOVER_MOTION_PROPS","card","initial","scale","willChange","hidden","opacity","visible","transition","when","duration","POPOVER_MOTION_DURATION","scaleIn","scaleOut","children","type","visualDuration","bounce","_isEnterToClickElement","element","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","node","Node","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","contains","_isScrollable","el","Element","style","window","getComputedStyle","overflowX","includes","overflowY","_fillCSSObject","keys","value","reduce","key","rem","pixelValue","_responsive","media","values","callback","map","statement","mediaIndex","_getArrayProp","val","defaultVal","undefined","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","Error","length","space","getTheme_v2","spaceIndex","responsiveFont","fontKey","$size","$weight","font","family","sizes","weights","fontWeight","regular","defaultSize","base","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","marginTop","marginBottom","margin","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","$","_c","t0","JSON","stringify","t1","setCache","useState","cachedVal","cachedHash","hash","useClickOutsideEvent","listener","boundaryElement","elementsArg","_temp","evt","target","resolvedBoundaryElement","elements","flat","onEvent","useEffectEvent","hasListener","Boolean","t2","handleEvent","evt_0","document","addEventListener","removeEventListener","t3","useEffect","useDebugValue","useCustomValidity","ref","customValidity","current","setCustomValidity","_ResizeObserver","ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","resizeObserver","entry","_contentRect","contentRect","border","width","borderBoxSize","inlineSize","blockSize","observe","unobserve","disconnect","disposeCache","WeakMap","subscribersCache","subscribers","get","dispose","has","set","elementRect","sub","push","idx","indexOf","splice","useElementSize","setSize","useGlobalKeyDown","onKeyDown","event","handleKeyDown","handler","event_0","Symbol","for","useMatchMedia","mediaQueryString","getServerSnapshot","getSnapshot","useMemo","MEDIA_QUERY_CACHE","getMatchMedia","matchMedia","onStoreChange","matches","useSyncExternalStore","getGlobalScope","globalThis","self","global","globalScope","createGlobalScopedContext","defaultValue","symbol","createContext","ThemeContext","ThemeProvider","parentTheme","useContext","scheme","rootTheme","tone","bb0","version","themeContext","bb1","getScopedTheme","StyledThemeProvider","displayName","useRootTheme","ThemeColorProvider","root","useTheme","useStyledTheme","useTheme_v2","_getMediaQuery","index","_createMediaStore","mediaLen","getSizes","mediaQuery","mq","disposeFns","handleChange","disposeFn","useMediaIndex","store","usePrefersDark","usePrefersReducedMotion","responsiveBorderStyle","borderTop","borderRight","borderBottom","borderLeft","borderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","boxSizing","$height","$overflow","overflow","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","focusRingBorderStyle","color","focusRingStyle","opts","focusRing","focusRingOutsetWidth","offset","focusRingInsetWidth","bgColor","bg","filter","join","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","auto","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","GRID_CSS","GRID_AUTO_COLUMS","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","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","len","_padding","_space","_fontSize","i","_","text","emSize","p","s","styles","paddingTop","paddingRight","paddingBottom","paddingLeft","responsiveInputPaddingIconRightStyle","ROOT_STYLE","css","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","SpanWithTextOverflow","styled","span","withConfig","componentId","labelBaseStyle","$accent","$muted","code","StyledLabel","div","Label","forwardRef","accent","childrenProp","restProps","textOverflow","weight","muted","t4","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","image","avatarImageStyle","transform","$color","avatar","responsiveAvatarSizeStyle","avatarSize","position","strokeWidth","strokeDasharray","strokeLinecap","StyledAvatar","Arrow","BgStroke","ellipse","Stroke","Initials","InitialsLabel","AvatarImage","svg","Avatar","__unstable_hideInnerStroke","animateArrowFrom","arrowPositionProp","asProp","onImageLoadError","src","title","as","arrowPosition","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","requestAnimationFrame","cancelAnimationFrame","t5","t6","t7","handleImageError","t8","t9","initialsSize","t10","t11","t12","t13","t14","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","StyledAvatarCounter","AvatarCounter","count","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","distance","StyledAvatarStack","AvatarStack","maxLength","maxLengthProp","Children","toArray","isValidElement","visibleCount","extraCount","visibleChildren","slice","T0","child","childIndex","cloneElement","String","StyledBox","Box","marginRight","marginX","marginY","paddingX","paddingY","padding","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","textBaseStyle","bold","StyledText","Text","badgeStyle","verticalAlign","StyledBadge","Badge","mode","_deprecated_mode","StyledFlex","Flex","rotate","keyframes","StyledSpinner","Spinner","_cardColorStyle","checkered","backdrop","gray","blue","purple","magenta","red","orange","yellow","green","cyan","badge","dot","icon","neutral","primary","suggest","positive","caution","critical","kbd","link","skeleton","from","to","buttonBaseStyles","$width","button","combineBoxShadow","boxShadows","buttonColorStyles","$mode","baseColor","defaultBoxShadow","pressed","StyledButton","LoadingBox","Button","IconComponent","IconRightComponent","loading","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","selected","textWeight","iconRight","justifyProp","paddingProp","radiusProp","spaceProp","boxProps","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","_dark","selectable","StyledCard","Card","__unstable_checkered","__unstable_focusRing","toneProp","checkboxBaseStyles","inputElementStyles","checkbox","StyledCheckbox","Input","Checkbox","forwardedRef","checked","className","indeterminate","useRef","useImperativeHandle","codeSyntaxHighlightingStyle","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","tag","unit","url","variable","codeBaseStyle","LazyRefractor","lazy","StyledCode","pre","Code","language","containerBaseStyle","responsiveContainerWidthStyle","container","maxWidth","StyledContainer","Container","StyledGrid","Grid","headingBaseStyle","heading","StyledHeading","Heading","inlineBaseStyle","inlineSpaceStyle","StyledInline","Inline","kbdStyle","StyledKBD","KBD","origin","name","fn","middlewareData","placement","rects","side","split","floatingWidth","floating","floatingHeight","shiftX","shift","x","shiftY","y","isVerticalPlacement","originX","originY","clamp","data","num","moveTowardsLength","movingPoint","targetPoint","amount","sqrt","moveTowardsFractional","fraction","getRoundedCommands","points","cmds","point","prevPoint","nextPoint","curveStart","curveEnd","startControl","endControl","compileCommands","n","StyledArrow","$w","w","StrokePath","path","ShapePath","h","center","strokePath","fillPath","BoundaryElementContext","BoundaryElementProvider","isRecord","DEFAULT_VALUE","useBoundaryElement","ConditionalWrapper","condition","wrapper","findMaxBreakpoints","ret","findMinBreakpoints","ElementQuery","_media","setElement","elementSize","innerWidth","eq","eq_0","getLayerContext","contextValue","LayerContext","LayerProvider","zOffset","zOffsetProp","parentContextValue","parent","parentRegisterChild","registerChild","level","maxMediaIndex","zIndex","setChildLayers","isTopLayer","childLevel","parentDispose","state","prevLen","nextState","Object","state_0","nextState_0","_temp2","v_0","v","useLayer","err","message","StyledLayer","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","activeElement","rootElement","handleFocus","Layer","elementKey","defaultContextValue","createElement","setAttribute","body","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","PortalProvider","__unstable_elements","elementsProp","useUnique","fallbackElement","emptySubscribe","valueRef","_isEqual","objA","objB","keysA","keysB","every","StyledSrOnly","SrOnly","StyledVirtualList","ItemWrapper","VirtualList","getItemKey","onChange","renderItem","items","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","offsetHeight","scrollEl","findScrollable","parentNode","handleScroll","passive","ro","entries","handleScroll_0","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","item","_itemIndex","itemIndex","top","wrapperStyle","_scrollEl","getElementRef","getter","getOwnPropertyDescriptor","mayWarn","isReactWarning","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","options","apply","margins","args","platform","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","Infinity","maxHeight","floatingW","floatingH","left","right","bottom","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","calcCurrentWidth","params","currentWidth","calcMaxWidth","boundaryWidth","MotionCard","motion","create","MotionFlex","PopoverCard","memo","animate","arrowRef","arrowX","arrowY","marginsProp","strategy","xProp","yProp","__unstable_margins","rootStyle","arrowStyle","ViewportOverlay","inset","Popover","layer","boundaryElementContext","_animate","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","modal","open","placementProp","preventOverflow","referenceBoundary","referenceElement","shadowProp","widthProp","popover","updateRef","boundarySize","widthArrayProp","widthRef","maxWidthRef","referenceWidthRef","floatingElement","middleware","flip","mainAxis","_currentWidth","_maxWidth","hide","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","useCallback","arrowEl","setFloating","setReference","childRef","radioBaseStyle","inputElementStyle","dist","radio","markSize","StyledRadio","Radio","inputBaseStyle","inputColorStyle","select","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","StyledSelect","IconBox","Select","stackBaseStyle","responsiveStackSpaceStyle","StyledStack","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switch","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","transitionDurationMs","transitionTimingFunction","StyledSwitch","Representation","Track","Thumb","Switch","StyledTextArea","InputRoot","textarea","Presentation","TextArea","__unstable_disableFocusRing","CLEAR_BUTTON_BOX_STYLE","StyledTextInput","attrs","forwardedAs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInputClearButton","TextInput","clearButton","onClear","prefix","suffix","fontSizeProp","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","focus","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","_temp3","clearButtonPadding","clearButtonProps","CloseIcon","clearButtonNode","suffixNode","useDelayedState","initialState","setState","delayedAction","delay","action","clearTimeout","setTimeout","onStateChange","DEFAULT_TOOLTIP_ARROW_WIDTH","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipCard","TooltipDelayGroupContext","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","useTooltipDelayGroup","StyledTooltip","Tooltip","fallbackPlacementsProp","portalProp","tooltip","setReferenceElement","tooltipMaxWidth","setTooltipMaxWidth","floatingStyles","tooltipId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","immediate","groupedOpenDelay","groupDeactivateDelay","minimumGroupDeactivateDelay","handleBlur","e","onBlur","handleClick","onClick","handleContextMenu","onContextMenu","handleMouseEnter","onMouseEnter","handleMouseLeave","onMouseLeave","handleWindowKeyDown","useLayoutEffect","availableWidths","offsetWidth","useCloseOnMouseLeave","teardown","onMouseMove","handleMouseMove","StyledHotkeys","Key","Hotkeys","MenuContext","_isFocusable","getAttribute","_getFocusableElements","_getDOMPath","parentElement","childNodes","unshift","EMPTY_PATH","_sortElements","_sort","a","b","_a","_b","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","rootElementRef","elementsRef","activeIndex","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","currentIndex","focusableElements","focusableLen","focusedElement","focusedIndex","handleItemMouseEnter","currentTarget","handleItemMouseLeave","rafId","StyledMenu","Menu","_shouldFocus","onClickOutside","onEscape","onItemClick","onItemSelect","registerElement","focusFirst","focusLast","unregisterElementRef","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","menuProps","menu","_onItemMouseEnter","setRootElement","setOpen","setShouldFocus","active","withinMenu","setWithinMenu","handleMenuKeyDown","event_1","handleChildItemClick","handleMenuMouseEnter","childMenu","event_2","t31","t32","MenuItem","hotkeys","selectedProp","_onItemMouseLeave","paddingProps","hotkeysFontSize","setRef","CustomButton","Tab","focused","label","focusedRef","CustomInline","TabList","setFocusedIndex","tabs","numTabs","prevIndex","prevIndex_0"],"mappings":"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"}