@sanity/ui 1.0.0-beta.30 → 1.0.0-beta.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/sanity-ui.esm.js +163 -95
  2. package/dist/sanity-ui.esm.js.map +1 -1
  3. package/dist/sanity-ui.js +162 -94
  4. package/dist/sanity-ui.js.map +1 -1
  5. package/dist/types/src/index.d.ts +0 -6
  6. package/package.json +4 -4
  7. package/src/__workshop__/constants.ts +31 -22
  8. package/src/components/autocomplete/autocomplete.styles.tsx +1 -10
  9. package/src/components/autocomplete/autocomplete.tsx +13 -3
  10. package/src/components/menu/__workshop__/closableMenuButton.tsx +6 -2
  11. package/src/components/menu/__workshop__/constrainedInBoundary.tsx +5 -11
  12. package/src/components/menu/__workshop__/disableFocusOnClose.tsx +7 -2
  13. package/src/components/menu/__workshop__/groups.tsx +16 -3
  14. package/src/components/menu/__workshop__/menuButton.tsx +11 -1
  15. package/src/components/menu/__workshop__/menuGroupRight.tsx +8 -1
  16. package/src/components/menu/__workshop__/onCloseMenuButton.tsx +6 -2
  17. package/src/components/menu/__workshop__/selectedItem.tsx +16 -2
  18. package/src/components/menu/__workshop__/withoutArrow.tsx +12 -10
  19. package/src/primitives/card/styles.ts +3 -1
  20. package/src/primitives/popover/__workshop__/{RightAlignedStory.tsx → AlignedStory.tsx} +19 -7
  21. package/src/primitives/popover/__workshop__/PlainStory.tsx +24 -21
  22. package/src/primitives/popover/__workshop__/TestStory.tsx +2 -0
  23. package/src/primitives/popover/__workshop__/index.ts +3 -3
  24. package/src/primitives/popover/constants.ts +10 -0
  25. package/src/primitives/popover/floating-ui/size.ts +67 -0
  26. package/src/primitives/popover/popover.tsx +43 -50
  27. package/src/primitives/popover/popoverArrow.tsx +10 -9
  28. package/src/primitives/popover/popoverCard.tsx +39 -29
@@ -1 +1 @@
1
- {"version":3,"file":"sanity-ui.esm.js","sources":["../src/constants.ts","../src/styles/helpers.ts","../src/styles/font/responsiveFont.ts","../src/styles/font/codeFontStyle.ts","../src/styles/font/headingFontStyle.ts","../src/styles/font/labelFontStyle.ts","../src/styles/font/textAlignStyle.ts","../src/styles/font/textFontStyle.ts","../src/hooks/useArrayProp.ts","../src/hooks/useClickOutside.ts","../../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../../node_modules/@juggle/resize-observer/lib/utils/freeze.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/lib/theme/color/button/createButtonTones.ts","../src/theme/lib/theme/color/button/createButtonModes.ts","../src/theme/lib/theme/color/card/createCardStates.ts","../src/theme/lib/theme/color/defaults.ts","../src/theme/lib/theme/color/input/createInputModes.ts","../src/theme/lib/theme/color/muted/createMuted.ts","../src/theme/lib/theme/color/selectable/createSelectableTones.ts","../src/theme/lib/theme/color/solid/createSolidTones.ts","../src/theme/lib/theme/color/spot/createSpot.ts","../src/theme/lib/theme/color/factory.ts","../src/theme/studioTheme/helpers.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/lib/media.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: any[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, any> = {}\n\n/**\n * @internal\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex]))\n )\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from 'styled-components'\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 'styled-components'\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 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[]\n): T[] {\n const __perf_hash__ = JSON.stringify(val ?? defaultVal)\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__]\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\nimport {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb} from './convert'\nimport {HSL, RGB} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorButtonModeKey, ThemeColorButtonTones} from './types'\n\nexport function createButtonTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n mode: ThemeColorButtonModeKey\n): ThemeColorButtonTones {\n return {\n default: opts.button({\n base,\n dark,\n solid: solid.default,\n muted: muted.default,\n mode,\n }),\n primary: opts.button({\n base,\n dark,\n solid: solid.primary,\n muted: muted.primary,\n mode,\n }),\n positive: opts.button({\n base,\n dark,\n solid: solid.positive,\n muted: muted.positive,\n mode,\n }),\n caution: opts.button({\n base,\n dark,\n solid: solid.caution,\n muted: muted.caution,\n mode,\n }),\n critical: opts.button({\n base,\n dark,\n solid: solid.critical,\n muted: muted.critical,\n mode,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {createButtonTones} from './createButtonTones'\nimport {ThemeColorButton} from './types'\n\nexport function createButtonModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorButton {\n return {\n default: createButtonTones(opts, base, dark, solid, muted, 'default'),\n ghost: createButtonTones(opts, base, dark, solid, muted, 'ghost'),\n bleed: createButtonTones(opts, base, dark, solid, muted, 'bleed'),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorCard} from './types'\n\nexport function createCardStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorCard {\n return {\n enabled: opts.card({\n base,\n dark,\n name,\n state: 'enabled',\n solid,\n muted,\n }),\n disabled: opts.card({\n base,\n dark,\n name,\n state: 'disabled',\n solid,\n muted,\n }),\n hovered: opts.card({\n base,\n dark,\n name,\n state: 'hovered',\n solid,\n muted,\n }),\n pressed: opts.card({\n base,\n dark,\n name,\n state: 'pressed',\n solid,\n muted,\n }),\n selected: opts.card({\n base,\n dark,\n name,\n state: 'selected',\n solid,\n muted,\n }),\n }\n}\n","import {ThemeColorBuilderOpts} from './factory'\n\nconst black = 'hsl(0, 0%, 0%)'\nconst white = 'hsl(0, 0%, 100%)'\n\nconst colors = {\n default: {\n lightest: 'hsl(0, 0%, 95%)',\n lighter: 'hsl(0, 0%, 70%)',\n light: 'hsl(0, 0%, 65%)',\n base: 'hsl(0, 0%, 50%)',\n dark: 'hsl(0, 0%, 35%)',\n darker: 'hsl(0, 0%, 20%)',\n darkest: 'hsl(0, 0%, 5%)',\n },\n transparent: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n primary: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n positive: {\n lightest: 'hsl(120, 100%, 95%)',\n lighter: 'hsl(120, 100%, 70%)',\n light: 'hsl(120, 100%, 65%)',\n base: 'hsl(120, 100%, 50%)',\n dark: 'hsl(120, 100%, 35%)',\n darker: 'hsl(120, 100%, 20%)',\n darkest: 'hsl(120, 100%, 5%)',\n },\n caution: {\n lightest: 'hsl(60, 100%, 95%)',\n lighter: 'hsl(60, 100%, 70%)',\n light: 'hsl(60, 100%, 65%)',\n base: 'hsl(60, 100%, 50%)',\n dark: 'hsl(60, 100%, 35%)',\n darker: 'hsl(60, 100%, 20%)',\n darkest: 'hsl(60, 100%, 5%)',\n },\n critical: {\n lightest: 'hsl(0, 100%, 95%)',\n lighter: 'hsl(0, 100%, 70%)',\n light: 'hsl(0, 100%, 65%)',\n base: 'hsl(0, 100%, 50%)',\n dark: 'hsl(0, 100%, 35%)',\n darker: 'hsl(0, 100%, 20%)',\n darkest: 'hsl(0, 100%, 5%)',\n },\n}\n\nconst spots = {\n gray: 'hsl(0, 0%, 50%)',\n red: 'hsl(0, 100%, 50%)',\n orange: 'hsl(30, 100%, 50%)',\n yellow: 'hsl(60, 100%, 50%)',\n green: 'hsl(120, 100%, 50%)',\n cyan: 'hsl(180, 100%, 50%)',\n blue: 'hsl(240, 100%, 50%)',\n purple: 'hsl(270, 100%, 50%)',\n magenta: 'hsl(300, 100%, 50%)',\n}\n\nconst tones = {\n transparent: {\n bg: [colors.transparent.darkest, colors.transparent.lightest],\n fg: [colors.transparent.lightest, colors.transparent.darkest],\n border: [colors.transparent.darker, colors.transparent.lighter],\n focusRing: [colors.transparent.base, colors.transparent.base],\n },\n primary: {\n bg: [colors.primary.darkest, colors.primary.lightest],\n fg: [colors.primary.lightest, colors.primary.darkest],\n border: [colors.primary.darker, colors.primary.lighter],\n focusRing: [colors.primary.base, colors.primary.base],\n },\n positive: {\n bg: [colors.positive.darkest, colors.positive.lightest],\n fg: [colors.positive.lightest, colors.positive.darkest],\n border: [colors.positive.darker, colors.positive.lighter],\n focusRing: [colors.positive.base, colors.positive.base],\n },\n caution: {\n bg: [colors.caution.darkest, colors.caution.lightest],\n fg: [colors.caution.lightest, colors.caution.darkest],\n border: [colors.caution.darker, colors.caution.lighter],\n focusRing: [colors.caution.base, colors.caution.base],\n },\n critical: {\n bg: [colors.critical.darkest, colors.critical.lightest],\n fg: [colors.critical.lightest, colors.critical.darkest],\n border: [colors.critical.darker, colors.critical.lighter],\n focusRing: [colors.critical.base, colors.critical.base],\n },\n}\n\nexport const defaultOpts: ThemeColorBuilderOpts = {\n base: ({dark, name}) => {\n if (name === 'default') {\n return {\n bg: dark ? black : white,\n fg: dark ? white : black,\n border: dark ? colors.default.darkest : colors.default.lightest,\n focusRing: colors.primary.base,\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n }\n\n // Variants:\n // - primary\n // - positive\n // - caution\n // - critical\n return {\n bg: tones[name].bg[dark ? 0 : 1],\n fg: tones[name].fg[dark ? 0 : 1],\n border: tones[name].border[dark ? 0 : 1],\n focusRing: tones[name].focusRing[dark ? 0 : 1],\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n },\n\n solid: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.light : color.dark,\n bg2: dark ? color.light : color.dark,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: color.base,\n bg2: color.base,\n border: dark ? color.light : color.dark,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n muted: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.darker : color.lighter,\n bg2: dark ? color.darker : color.lighter,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.lightest : color.darkest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: dark ? color.darkest : color.lightest,\n bg2: dark ? color.darkest : color.lightest,\n border: dark ? color.darker : color.lighter,\n fg: dark ? color.lighter : color.darker,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n ...muted,\n enabled: {\n bg: 'transparent',\n bg2: 'transparent',\n fg: muted.enabled.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n hovered: {\n bg: muted.enabled.bg,\n bg2: muted.enabled.bg,\n fg: muted.hovered.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n }\n }\n\n if (mode === 'ghost')\n return {\n ...solid,\n enabled: muted.enabled,\n }\n\n return solid\n },\n\n card: ({base}) => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n border: black,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n input: () => {\n return {\n bg: black,\n fg: black,\n border: black,\n placeholder: black,\n }\n },\n\n selectable: ({muted, state, tone}) => {\n return muted[tone][state]\n },\n\n spot: ({key}) => {\n return spots[key]\n },\n\n syntax: () => ({\n atrule: black,\n attrName: black,\n attrValue: black,\n attribute: black,\n boolean: black,\n builtin: black,\n cdata: black,\n char: black,\n class: black,\n className: black,\n comment: black,\n constant: black,\n deleted: black,\n doctype: black,\n entity: black,\n function: black,\n hexcode: black,\n id: black,\n important: black,\n inserted: black,\n keyword: black,\n number: black,\n operator: black,\n prolog: black,\n property: black,\n pseudoClass: black,\n pseudoElement: black,\n punctuation: black,\n regex: black,\n selector: black,\n string: black,\n symbol: black,\n tag: black,\n unit: black,\n url: black,\n variable: black,\n }),\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorInput} from './types'\n\nexport function createInputModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorInput {\n return {\n default: {\n enabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n invalid: {\n enabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorMuted} from './types'\n\nexport function createMutedTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorMuted {\n return {\n default: {\n enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorSelectable, ThemeColorSelectableStates} from './types'\n\nexport function createSelectableTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorSelectable {\n return {\n default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),\n primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),\n positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),\n caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),\n critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),\n }\n}\n\nfunction _createSelectableStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n): ThemeColorSelectableStates {\n return {\n enabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'enabled',\n tone,\n }),\n hovered: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'hovered',\n tone,\n }),\n pressed: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'pressed',\n tone,\n }),\n selected: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'selected',\n tone,\n }),\n disabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'disabled',\n tone,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorSolid} from './types'\n\nexport function createSolidTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorSolid {\n return {\n default: {\n enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorSpot} from './types'\n\nexport function createSpot(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean\n): ThemeColorSpot {\n return {\n gray: opts.spot({base, dark, key: 'gray'}),\n blue: opts.spot({base, dark, key: 'blue'}),\n purple: opts.spot({base, dark, key: 'purple'}),\n magenta: opts.spot({base, dark, key: 'magenta'}),\n red: opts.spot({base, dark, key: 'red'}),\n orange: opts.spot({base, dark, key: 'orange'}),\n yellow: opts.spot({base, dark, key: 'yellow'}),\n green: opts.spot({base, dark, key: 'green'}),\n cyan: opts.spot({base, dark, key: 'cyan'}),\n }\n}\n","import {ThemeColorGenericState} from './_generic'\nimport {ThemeColorBase} from './base'\nimport {ThemeColorButtonModeKey, ThemeColorButtonStates} from './button'\nimport {createButtonModes} from './button/createButtonModes'\nimport {ThemeColorCardState} from './card'\nimport {createCardStates} from './card/createCardStates'\nimport {defaultOpts} from './defaults'\nimport {ThemeColorInputState} from './input'\nimport {createInputModes} from './input/createInputModes'\nimport {ThemeColorMuted, ThemeColorMutedTone} from './muted'\nimport {createMutedTones} from './muted/createMuted'\nimport {ThemeColorSelectableState} from './selectable'\nimport {createSelectableTones} from './selectable/createSelectableTones'\nimport {ThemeColorSolid, ThemeColorSolidTone} from './solid'\nimport {createSolidTones} from './solid/createSolidTones'\nimport {ThemeColorSpotKey} from './spot'\nimport {createSpot} from './spot/createSpot'\nimport {ThemeColorSyntax} from './syntax'\nimport {\n ThemeColorName,\n ThemeColorScheme,\n ThemeColorSchemes,\n ThemeColor,\n ThemeColorToneKey,\n} from './types'\n\n/**\n * @public\n */\nexport interface ThemeColorBuilderOpts {\n base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase\n solid: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n muted: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n card: (opts: {\n base: ThemeColorBase\n dark: boolean\n muted: ThemeColorMuted\n name: ThemeColorName\n solid: ThemeColorSolid\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorCardState\n button: (opts: {\n dark: boolean\n mode: ThemeColorButtonModeKey\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n }) => ThemeColorButtonStates\n input: (opts: {\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n dark: boolean\n mode: 'default' | 'invalid'\n state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'\n }) => ThemeColorInputState\n selectable: (opts: {\n dark: boolean\n base: ThemeColorBase\n solid: ThemeColorSolid\n muted: ThemeColorMuted\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n }) => ThemeColorSelectableState\n syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax\n spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string\n}\n\n/**\n * @public\n */\nexport type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>\n\n/**\n * @public\n */\nexport function createColorTheme(\n partialOpts: PartialThemeColorBuilderOpts = {}\n): ThemeColorSchemes {\n const builders: ThemeColorBuilderOpts = {...defaultOpts, ...partialOpts}\n\n return {\n light: _createColorScheme(builders, false),\n dark: _createColorScheme(builders, true),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColorScheme(opts: ThemeColorBuilderOpts, dark: boolean): ThemeColorScheme {\n return {\n default: _createColor(opts, dark, 'default'),\n transparent: _createColor(opts, dark, 'transparent'),\n primary: _createColor(opts, dark, 'primary'),\n positive: _createColor(opts, dark, 'positive'),\n caution: _createColor(opts, dark, 'caution'),\n critical: _createColor(opts, dark, 'critical'),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColor(\n opts: ThemeColorBuilderOpts,\n dark: boolean,\n name: ThemeColorName\n): ThemeColor {\n const base = opts.base({dark, name})\n const solid = createSolidTones(opts, base, dark, name)\n const muted = createMutedTones(opts, base, dark, name)\n\n return {\n base,\n button: createButtonModes(opts, base, dark, solid, muted),\n card: createCardStates(opts, base, dark, name, solid, muted),\n dark,\n input: createInputModes(opts, base, dark, solid, muted),\n selectable: createSelectableTones(opts, base, dark, solid, muted),\n spot: createSpot(opts, base, dark),\n syntax: opts.syntax({base, dark}),\n solid,\n muted,\n }\n}\n","import {parseColor, rgbToHex, screen as _screen, multiply as _multiply} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n return hex\n}\n","import {black, ColorTints, hues, white} from '@sanity/color'\nimport {rgba} from '../lib/color-fns'\nimport {createColorTheme} from '../lib/theme'\nimport {multiply, screen} from './helpers'\n\nconst tones: {[key: string]: ColorTints} = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.blue,\n positive: hues.green,\n caution: hues.yellow,\n critical: hues.red,\n}\n\nconst NEUTRAL_TONES = ['default', 'transparent']\n\nexport const color = createColorTheme({\n base: ({dark, name}) => {\n if (name === 'default') {\n const tints = hues.gray\n const skeletonFrom = dark ? tints[900].hex : tints[100].hex\n\n return {\n fg: dark ? white.hex : black.hex,\n bg: dark ? black.hex : white.hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: hues.blue[dark ? 500 : 500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[950].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[950].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[950].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (name === 'transparent') {\n const tints = tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 300].hex,\n focusRing: hues.blue[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const tints = tones[name] || tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: tints[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n solid: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const mix2 = dark ? multiply : screen\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = mix(base.bg, tints[dark ? 800 : 200].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n accent: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n link: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n code: {\n bg,\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'hovered') {\n const bg = mix(base.bg, tints[dark ? 300 : 600].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 300 : 600].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg: mix(base.bg, tints[dark ? 200 : 800].hex),\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n // state: \"enabled\" | unknown\n const bg = mix(base.bg, tints[dark ? 400 : 500].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 400 : 500].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 900 : 100].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n muted: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(bg, tints[dark ? 800 : 200].hex),\n muted: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n code: {\n bg,\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: rgba(skeletonFrom, 0.5),\n to: rgba(skeletonFrom, 0.25),\n },\n }\n }\n\n if (state === 'hovered') {\n // if (isNeutral) {\n // tints = tones.primary\n // }\n\n const bg = mix(base.bg, tints[dark ? 950 : 50].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 300 : 700].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n enabled: {\n ...muted.enabled,\n border: muted.enabled.bg,\n },\n hovered: {\n ...muted.hovered,\n border: muted.hovered.bg,\n },\n pressed: {\n ...muted.pressed,\n border: muted.pressed.bg,\n },\n selected: {\n ...muted.selected,\n border: muted.selected.bg,\n },\n disabled: {\n ...muted.disabled,\n border: muted.disabled.bg,\n },\n }\n }\n\n if (mode === 'ghost') {\n return {\n ...solid,\n enabled: {\n ...muted.enabled,\n border: base.border,\n },\n disabled: muted.disabled,\n }\n }\n\n return solid\n },\n\n card: ({base, dark, muted, name, solid, state}) => {\n if (state === 'hovered') {\n return muted[name].hovered\n }\n\n if (state === 'disabled') {\n return muted[name].disabled\n }\n\n const isNeutral = NEUTRAL_TONES.includes(name)\n const tints = tones[name] || tones.default\n const mix = dark ? screen : multiply\n\n if (state === 'pressed') {\n if (isNeutral) {\n return muted.primary.pressed\n }\n\n return muted[name].pressed\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n return solid.primary.enabled\n }\n\n return solid[name].enabled\n }\n\n const bg = base.bg\n const skeletonFrom = mix(base.bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n fg: base.fg,\n border: base.border,\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: tints[dark ? 400 : 600].hex,\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n input: ({base, dark, mode, state}) => {\n const mix = dark ? screen : multiply\n\n if (mode === 'invalid') {\n const tints = tones.critical\n\n return {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, tints[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'hovered') {\n return {\n bg: base.bg,\n fg: base.fg,\n border: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'disabled') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n border: mix(base.bg, hues.gray[dark ? 900 : 100].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n }\n }\n\n if (state === 'readOnly') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 200 : 800].hex),\n border: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n return {\n bg: base.bg,\n fg: base.fg,\n border: base.border,\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n },\n\n selectable: ({base, muted, tone, solid, state}) => {\n if (state === 'enabled') {\n return {\n ...muted[tone].enabled,\n bg: base.bg,\n }\n }\n\n if (state === 'pressed') {\n if (tone === 'default') {\n return muted.primary.pressed\n }\n\n return muted[tone].pressed\n }\n\n if (state === 'selected') {\n if (tone === 'default') {\n return solid.primary.enabled\n }\n\n return solid[tone].enabled\n }\n\n if (state === 'disabled') {\n return {\n ...muted[tone].disabled,\n bg: base.bg,\n }\n }\n\n return muted[tone][state]\n },\n\n spot: ({base, dark, key}) => {\n const mix = dark ? screen : multiply\n\n return mix(base.bg, hues[key][dark ? 400 : 500].hex)\n },\n\n syntax: ({base, dark}) => {\n const mix = dark ? screen : multiply\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n atrule: mix(base.bg, hues.purple[mainShade].hex),\n attrName: mix(base.bg, hues.green[mainShade].hex),\n attrValue: mix(base.bg, hues.yellow[mainShade].hex),\n attribute: mix(base.bg, hues.yellow[mainShade].hex),\n boolean: mix(base.bg, hues.purple[mainShade].hex),\n builtin: mix(base.bg, hues.purple[mainShade].hex),\n cdata: mix(base.bg, hues.yellow[mainShade].hex),\n char: mix(base.bg, hues.yellow[mainShade].hex),\n class: mix(base.bg, hues.orange[mainShade].hex),\n className: mix(base.bg, hues.cyan[mainShade].hex),\n comment: mix(base.bg, hues.gray[secondaryShade].hex),\n constant: mix(base.bg, hues.purple[mainShade].hex),\n deleted: mix(base.bg, hues.red[mainShade].hex),\n doctype: mix(base.bg, hues.gray[secondaryShade].hex),\n entity: mix(base.bg, hues.red[mainShade].hex),\n function: mix(base.bg, hues.green[mainShade].hex),\n hexcode: mix(base.bg, hues.blue[mainShade].hex),\n id: mix(base.bg, hues.purple[mainShade].hex),\n important: mix(base.bg, hues.purple[mainShade].hex),\n inserted: mix(base.bg, hues.yellow[mainShade].hex),\n keyword: mix(base.bg, hues.magenta[mainShade].hex),\n number: mix(base.bg, hues.purple[mainShade].hex),\n operator: mix(base.bg, hues.magenta[mainShade].hex),\n prolog: mix(base.bg, hues.gray[secondaryShade].hex),\n property: mix(base.bg, hues.blue[mainShade].hex),\n pseudoClass: mix(base.bg, hues.yellow[mainShade].hex),\n pseudoElement: mix(base.bg, hues.yellow[mainShade].hex),\n punctuation: mix(base.bg, hues.gray[mainShade].hex),\n regex: mix(base.bg, hues.blue[mainShade].hex),\n selector: mix(base.bg, hues.red[mainShade].hex),\n string: mix(base.bg, hues.yellow[mainShade].hex),\n symbol: mix(base.bg, hues.purple[mainShade].hex),\n tag: mix(base.bg, hues.red[mainShade].hex),\n unit: mix(base.bg, hues.orange[mainShade].hex),\n url: mix(base.bg, hues.red[mainShade].hex),\n variable: mix(base.bg, hues.red[mainShade].hex),\n }\n },\n})\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {color} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n },\n button: {\n textWeight: 'medium',\n },\n color,\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -1], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 0]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n },\n radio: {\n size: 17,\n markSize: 9,\n },\n switch: {\n width: 33,\n height: 17,\n padding: 4,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n },\n border: {\n width: 1,\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorSchemeKey, ThemeColorName} from './lib/theme'\nimport {ThemeContext} from './themeContext'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {color: rootColor, layer: rootLayer, ...restTheme} = themeProp\n const colorScheme = rootColor[scheme] || rootColor.light\n const color = colorScheme[tone] || colorScheme.default\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, color, layer}}\n }, [scheme, themeProp, tone])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone]\n )\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","/**\n * @internal\n */\nexport interface _MediaManager {\n getCurrentIndex: () => number\n subscribe: (subscriber: (index: number) => void) => () => void\n}\n\nconst MEDIA_MANAGER_CACHE = new WeakMap<number[], _MediaManager>()\n\nfunction _getMediaQuery(media: number[], index: number) {\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 _createMediaManager(media: number[]): _MediaManager {\n const mediaLen = media.length\n const sizes: {mq: MediaQueryList; index: number}[] = []\n\n if (typeof window !== 'undefined') {\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 const getCurrentIndex = () => {\n for (const {index, mq} of sizes) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (subscriber: (index: number) => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {index, mq} of sizes) {\n const handleChange = () => {\n if (mq.matches) subscriber(index)\n }\n\n if (mq.addEventListener) {\n mq.addEventListener('change', handleChange)\n } else {\n mq.addListener(handleChange)\n }\n\n disposeFns.push(() => {\n if (mq.removeEventListener) {\n mq.removeEventListener('change', handleChange)\n } else {\n mq.removeListener(handleChange)\n }\n })\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getCurrentIndex, subscribe}\n}\n\n/**\n * @internal\n */\nexport function _getMediaManager(media: number[]): _MediaManager {\n let manager = MEDIA_MANAGER_CACHE.get(media)\n\n if (!manager) {\n manager = _createMediaManager(media)\n MEDIA_MANAGER_CACHE.set(media, manager)\n }\n\n return manager\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport {useTheme} from '../../theme'\nimport {_getMediaManager} from './lib/media'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const theme = useTheme()\n const {media} = theme.sanity\n const manager = useMemo(() => _getMediaManager(media), [media])\n const [index, setIndex] = useState(manager.getCurrentIndex)\n\n useEffect(() => manager.subscribe(setIndex), [manager])\n\n return index\n}\n","import {useEffect, useMemo, useState} from 'react'\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n const mq = useMemo(() => {\n if (typeof window === 'undefined') return undefined\n\n return window.matchMedia('(prefers-color-scheme: dark)')\n }, [])\n\n const [dark, setDark] = useState(mq?.matches || false)\n\n useEffect(() => {\n if (!mq) return undefined\n\n setDark(mq.matches)\n\n const handleChange = () => setDark(mq.matches)\n\n mq.addEventListener('change', handleChange)\n\n return () => mq.removeEventListener('change', handleChange)\n }, [mq])\n\n return dark\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined\n): void {\n useEffect(() => {\n if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = '1px solid var(--card-border-color)'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}}\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}}\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}}\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}}\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}}\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {CSSObject} from 'styled-components'\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 {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","export 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: {offset: number; width: number}\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} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeColorSchemeKey, ThemeFontWeightKey} from '../../theme'\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): FlattenSimpleInterpolation {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {theme, $scheme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n const color = theme.sanity.color.input\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.family};\n font-weight: ${($weight && font.weights[$weight]) || font.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.default.enabled.fg};\n --input-placeholder-color: ${color.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.default.enabled.fg};\n --input-placeholder-color: ${color.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.default.disabled.fg};\n --input-placeholder-color: ${color.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.invalid.enabled.fg};\n --input-placeholder-color: ${color.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.default.readOnly.fg};\n --input-placeholder-color: ${color.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\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.default.enabled.bg};\n --card-fg-color: ${color.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.invalid.enabled.bg};\n --card-fg-color: ${color.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.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: ${focusRingStyle({\n border: {color: color.default.enabled.border, width: input.border.width},\n focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${focusRingStyle({focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n --card-bg-color: ${color.default.disabled.bg} !important;\n --card-fg-color: ${color.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:read-only + & {\n --card-bg-color: ${color.default.readOnly.bg} !important;\n --card-fg-color: ${color.default.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.default.hovered.bg};\n --card-fg-color: ${color.default.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from 'styled-components'\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 'styled-components'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (radiusIndex) => ({\n borderRadius: rem(radius[radiusIndex]),\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} 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 {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\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: ${theme.sanity.fonts.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: 0 0 0 1px var(--card-bg-color), 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: ${weights.bold};\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\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, theme} = props\n const {focusRing} = theme.sanity\n\n return {\n backgroundColor: $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 '-webkit-font-smoothing': '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}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const {base} = theme.sanity.color\n\n return {\n width: '100%',\n height: '100%',\n color: base.fg,\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: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeSasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeColorSpotKey, useTheme} from '../../theme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\nconst Root = styled.div<{$color: string; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const color = theme.sanity.color.spot[colorKey] || theme.sanity.color.spot.gray\n\n // @todo: remove this\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside'\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {theme} = props\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: var(--card-fg-color);\n background: var(--card-bg-color);\n box-shadow: 0 0 0 1px var(--card-bg-color), inset 0 0 0 1.5px var(--card-hairline-hard-color);\n padding: 0 ${rem(theme.sanity.space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string'\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string'\n ) as React.ReactElement[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: 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: ${fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps & ThemeProps): CSSObject {\n const {$mode, $tone, theme} = props\n const palette = theme.sanity.color[$mode === 'outline' ? 'muted' : 'solid']\n const color = palette[$tone] || palette.default\n\n return {\n backgroundColor: color.enabled.bg,\n color: color.enabled.fg,\n boxShadow: `inset 0 0 0 1px ${color.enabled.border}`,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref\n) {\n const {\n children,\n fontSize,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Label size={fontSize}>{children}</Label>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeColorBase, ThemeColorGenericState} from '../../theme'\n\n/**\n * @internal\n */\nexport function _colorVarsStyle(\n base: ThemeColorBase,\n color: ThemeColorGenericState,\n checkered = false\n): CSSObject {\n return {\n // Base\n // @todo: rename to \"--base-\"?\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 '--card-focus-ring-color': base.focusRing,\n\n // Card\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.bg2 || color.bg} 0% 50%)`\n : undefined,\n '--card-fg-color': color.fg,\n '--card-border-color': color.border,\n '--card-muted-fg-color': color.muted?.fg,\n '--card-accent-fg-color': color.accent?.fg,\n '--card-link-fg-color': color.link?.fg,\n '--card-code-bg-color': color.code?.bg,\n '--card-code-fg-color': color.code?.fg,\n '--card-skeleton-color-from': color.skeleton?.from,\n '--card-skeleton-color-to': color.skeleton?.to,\n\n // @todo: deprecate\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 {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {ButtonMode, ButtonTone} from '../../types'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): FlattenSimpleInterpolation {\n return css`\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nconst buttonTheme = {border: {width: 1}}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps\n): CSSObject[] {\n const {$mode, theme} = props\n const {focusRing} = theme.sanity\n const base = theme.sanity.color.base\n const mode = theme.sanity.color.button[$mode] || theme.sanity.color.button.default\n const color = mode[props.$tone] || mode.default\n const border = {width: buttonTheme.border.width, color: 'var(--card-border-color)'}\n\n return [\n _colorVarsStyle(base, color.enabled),\n {\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _colorVarsStyle(base, color.disabled),\n \"&:not([data-disabled='true'])\": {\n '&:focus': {\n boxShadow: focusRingStyle({base, border, focusRing}),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: focusRingBorderStyle(border),\n },\n '@media (hover: hover)': {\n '&:hover': _colorVarsStyle(base, color.hovered),\n '&:active': _colorVarsStyle(base, color.pressed),\n },\n '&[data-selected]': _colorVarsStyle(base, color.pressed),\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: 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'>,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n children,\n disabled,\n fontSize,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight]\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={iconRight ? 1 : undefined}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps\n): Array<FlattenSimpleInterpolation | (() => FlattenSimpleInterpolation)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): FlattenSimpleInterpolation {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: 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: 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): FlattenSimpleInterpolation {\n const {$checkered, $focusRing, theme} = props\n const {focusRing} = theme.sanity\n const {base, card} = theme.sanity.color\n const border = {width: 0, color: 'var(--card-border-color)'}\n\n return css`\n ${_colorVarsStyle(base, card.enabled, $checkered)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_colorVarsStyle(base, card.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, card.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, card.hovered, $checkered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_colorVarsStyle(base, card.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, card.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, card.hovered, $checkered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorProvider, ThemeColorSchemeKey, useRootTheme} from '../../theme'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function checkboxBaseStyles(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const color = theme.sanity.color.input\n const {focusRing, input, radius} = theme.sanity\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.default.enabled.border,\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${color.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: 2 !important;\n }\n }\n }\n\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.default.enabled.border},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n\n &[data-read-only] + span {\n background-color: ${color.default.readOnly.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.default.readOnly.border,\n })};\n color: ${color.default.readOnly.fg};\n }\n\n &:not([data-read-only]):disabled + span {\n background-color: ${color.default.disabled.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.default.disabled.border,\n })};\n color: ${color.default.disabled.fg};\n }\n\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {css, FlattenInterpolation, ThemeProps as StyledThemeProps} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {Theme} from '../../theme'\n\nfunction codeSyntaxHighlightingStyle({theme}: ThemeProps) {\n const color = theme.sanity.color.syntax\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(): FlattenInterpolation<StyledThemeProps<Theme>> {\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 & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {codeBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<ResponsiveFontStyleProps>(codeBaseStyle, responsiveCodeFontStyle)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n\n return (\n <Root data-ui=\"Code\" {...restProps} $size={useArrayProp(size)} $weight={weight} ref={ref}>\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(\n props: HeadingStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\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: ${theme.sanity.fonts.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: 0 0 0 1px var(--card-bg-color), 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp]\n )\n\n return (\n <Root data-ui=\"Inline\" {...restProps} $space={useArrayProp(space)} forwardedAs={as} ref={ref}>\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {Box} from '../box'\nimport {Code} from '../code'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n}\n\nfunction kbdStyle() {\n return css`\n background: var(--card-bg-color);\n font: inherit;\n box-shadow: inset 0 0 0 1px var(--card-hairline-hard-color);\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Code as=\"span\" muted size={fontSize}>\n {children}\n </Code>\n </Box>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef]\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: React.Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\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 // 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('useLayer(): the context value is not compatible')\n }\n\n return value\n}\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n const parent = useContext(LayerContext)\n const zOffset = useArrayProp(zOffsetProp)\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n const [size, setSize] = useState(0)\n\n const registerChild = useCallback(() => {\n setSize((v) => v + 1)\n\n return () => setSize((v) => v - 1)\n }, [])\n\n const parentRegisterChild = parent?.registerChild\n\n useEffect(() => {\n if (!parentRegisterChild) return\n\n return parentRegisterChild()\n }, [parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({version: 0.0, isTopLayer: size === 0, registerChild, size, zIndex}),\n [size, registerChild, zIndex]\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex} = useLayer()\n\n return (\n <Root {...restProps} data-ui=\"Layer\" ref={ref} style={{...style, zIndex}}>\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/element')\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof window === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","import {useRef} from 'react'\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof window !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n","import {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 27px;\n height: 27px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 13.5px 13.5px;\n }\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst BorderPath = styled.path`\n fill: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width=\"27\"\n height=\"11\"\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled, {CSSObject} from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Box} from '../box'\nimport {Card} from '../card'\nimport {PopoverArrow} from './popoverArrow'\n\nfunction popoverCardStyle(props: {$boundaryWidth?: number}): CSSObject {\n const {$boundaryWidth} = props\n\n return {\n maxWidth: $boundaryWidth ? `${$boundaryWidth - 16}px` : 'calc(100% - 16px)',\n }\n}\n\nconst Root = memo(styled(Card)(popoverCardStyle))\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /**\n * @beta\n */\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n availableHeight?: number\n availableWidth?: number\n boundaryWidth?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: number | number[]\n referenceWidth?: number\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width?: number | 'auto' | (number | 'auto')[]\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n availableHeight,\n availableWidth,\n boundaryWidth,\n children,\n padding,\n placement,\n overflow,\n radius,\n referenceWidth: referenceWidthProp,\n scheme,\n shadow,\n strategy,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n const {zIndex} = useLayer()\n\n // top right bottom left\n const margins: PopoverMargins = useMemo(() => marginsProp || [0, 0, 0, 0], [marginsProp])\n\n // translate according to margins\n const referenceWidth = referenceWidthProp\n ? referenceWidthProp - margins[1] - margins[3]\n : undefined\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const maxWidth = availableWidth\n ? Math.min(availableWidth - 8, referenceWidth || Infinity)\n : undefined\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y,\n left: x,\n zIndex,\n width: referenceWidth,\n maxWidth: referenceWidth ? undefined : maxWidth,\n }),\n [referenceWidth, maxWidth, strategy, x, y, zIndex]\n )\n\n const wrapperStyle: CSSProperties = useMemo(\n () => ({\n minHeight: 25,\n maxHeight: availableHeight ? availableHeight - 8 : undefined,\n }),\n [availableHeight]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -27\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n {...restProps}\n $boundaryWidth={boundaryWidth}\n data-placement={placement}\n data-ui=\"Popover\"\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n tone={tone}\n $width={width}\n >\n <Box\n data-ui=\"Popover__wrapper\"\n overflow={overflow}\n padding={padding}\n sizing=\"border\"\n style={wrapperStyle}\n >\n {children}\n </Box>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n })\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n size as sizeMiddleware,\n RootBoundary,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps, ResponsiveWidthProps} from '../types'\nimport {PopoverCard} from './popoverCard'\n\n/**\n * @public\n */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps,\n ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_margins?: PopoverMargins\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceElement?: HTMLElement | null\n matchReferenceWidth?: boolean\n scheme?: ThemeColorSchemeKey\n /** @deprecated No longer supported. */\n tether?: boolean\n /** @deprecated No longer supported. */\n tetherOffset?: number | ((...args: any[]) => number)\n tone?: CardTone\n}\n\nfunction size(scope: {\n boundaryElement: HTMLElement | null\n constrainSize: boolean\n matchReferenceWidth: boolean | undefined\n setAvailableWidth: (v: number) => void\n setAvailableHeight: (v: number) => void\n setReferenceWidth: (v: number) => void\n}) {\n return sizeMiddleware({\n apply(args) {\n if (scope.constrainSize) {\n scope.setAvailableWidth(args.availableWidth)\n scope.setAvailableHeight(args.availableHeight)\n }\n\n if (scope.matchReferenceWidth) {\n scope.setReferenceWidth(args.rects.reference.width)\n }\n },\n boundary: scope.boundaryElement || undefined,\n })\n}\n\n/** @public */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins,\n allowedAutoPlacements,\n arrow: arrowProp = true,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements,\n matchReferenceWidth: matchReferenceWidthProp,\n open,\n overflow = props.constrainSize ? 'auto' : undefined,\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tether,\n tetherOffset,\n tone = 'inherit',\n width: widthProp = undefined,\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const [availableWidth, setAvailableWidth] = useState<number | undefined>(undefined)\n const [availableHeight, setAvailableHeight] = useState<number | undefined>(undefined)\n const [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 8,\n rootBoundary,\n })\n )\n }\n\n // Track sizes\n ret.push(\n size({\n boundaryElement,\n constrainSize,\n matchReferenceWidth: matchReferenceWidthProp,\n setAvailableHeight,\n setAvailableWidth,\n setReferenceWidth,\n })\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: arrowProp ? 4 : 0}))\n\n // Shift the popover so its sits with the boundary eleement\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 8,\n })\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(arrow({element: arrowRef, padding: 4}))\n }\n\n return ret\n }, [\n arrowProp,\n boundaryElement,\n constrainSize,\n fallbackPlacements,\n matchReferenceWidthProp,\n preventOverflow,\n ])\n\n const {x, y, placement, reference, floating, middlewareData, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n reference(node)\n\n const childRef = (childProp as any)?.ref\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, reference]\n )\n\n const child = useMemo(() => {\n if (!childProp || referenceElement) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (referenceElement) reference(referenceElement)\n }, [reference, referenceElement])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n availableWidth={constrainSize ? availableWidth : undefined}\n availableHeight={constrainSize ? availableHeight : undefined}\n boundaryWidth={boundarySize?.width}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n referenceWidth={matchReferenceWidthProp ? referenceWidth : undefined}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n x={x}\n y={y}\n width={width}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n })\n)\n\nPopover.displayName = 'Popover'\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function radioBaseStyle(): FlattenSimpleInterpolation {\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): FlattenSimpleInterpolation {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\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.default.enabled.bg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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.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.default.enabled.border},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${color.default.readOnly.border};\n background: ${color.default.readOnly.bg};\n\n &::after {\n background: ${color.default.readOnly.fg};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${color.default.disabled.border};\n background: ${color.default.disabled.bg};\n\n &::after {\n background: ${color.default.disabled.fg};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </Root>\n )\n})\n","import {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\n\nfunction rootStyle(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\n\n return css`\n /* enabled */\n background-color: ${color.default.enabled.bg};\n color: ${color.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${color.default.hovered.bg};\n color: ${color.default.hovered.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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.default.enabled.border},\n focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${color.default.readOnly.bg};\n color: ${color.default.readOnly.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.default.readOnly.border,\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${color.default.disabled.bg};\n color: ${color.default.disabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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 {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2])\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n ) => CSSObject[])\n | ((props: ThemeProps) => FlattenSimpleInterpolation)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const color = theme.sanity.color.input\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.default.enabled.fg};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n --card-fg-color: ${color.default.hovered.fg};\n }\n }\n\n /* disabled */\n select:disabled + && {\n --card-fg-color: ${color.default.disabled.fg};\n }\n\n /* read-only */\n select[data-read-only] + && {\n --card-fg-color: ${color.default.readOnly.fg};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {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?: number | number[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: number[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\n\n/* Root */\nexport function switchBaseStyles(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): FlattenSimpleInterpolation {\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): FlattenSimpleInterpolation {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.button.default\n\n return css`\n --switch-bg-color: ${color.default.enabled.bg};\n --switch-fg-color: ${color.default.enabled.fg};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${color.positive.enabled.bg};\n --switch-fg-color: ${color.positive.enabled.fg};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${color.default.hovered.bg};\n --switch-fg-color: ${color.default.hovered.fg};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${color.positive.hovered.bg};\n --switch-fg-color: ${color.positive.hovered.fg};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${color.default.disabled.bg};\n --switch-fg-color: ${color.default.disabled.fg};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const {input} = theme.sanity\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle\n)\n\n/**\n * @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 = 1,\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={useArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: number | number[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 1,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref]\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius]\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ]\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding]\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton]\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ]\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix]\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 7.5px 7.5px;\n }\n\n /* position: absolute;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n &:not([hidden]) {\n display: block;\n }\n transform-origin: 7.5px 7.5px;\n } */\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst Border = styled.path`\n fill: var(--card-shadow-outline-color);\n`\n\nconst Shape = styled.path`\n fill: var(--card-bg-color);\n`\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {TooltipArrow} from './tooltipArrow'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n}\n\nconst Root = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp,\n padding,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 4,\n rootBoundary,\n })\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n })\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {x, y, placement, reference, floating, middlewareData, update, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n }),\n [strategy, x, y]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const [isOpen, setIsOpen] = useState(false)\n const handleBlur = useCallback(() => setIsOpen(false), [])\n const handleFocus = useCallback(() => setIsOpen(true), [])\n const handleMouseEnter = useCallback(() => setIsOpen(true), [])\n const handleMouseLeave = useCallback(() => setIsOpen(false), [])\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n setIsOpen(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) setIsOpen(false)\n }, [disabled])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) setIsOpen(false)\n }, [content])\n\n // Update reference\n useEffect(() => reference(referenceElement), [reference, referenceElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update]\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef]\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root data-ui=\"Tooltip\" {...restProps} ref={setFloating} style={rootStyle} zOffset={zOffset}>\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={2}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {isOpen && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box, Popover} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\n/**\n * @internal\n */\nexport const ResultsPopover = styled(Popover)`\n &[data-popper-reference-hidden='true'] {\n display: none;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick]\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement, PopoverMargins} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_MARGINS: PopoverMargins = [0, 1, 0, 0]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom', 'top']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, BoxProps, Button, Card, PopoverProps, Stack, Text, TextInput} from '../../primitives'\nimport {AnimatedSpinnerIcon, ListBox, ResultsPopover, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_MARGINS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: number | number[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp]\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value]\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query]\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : []\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements]\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange]\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange]\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange]\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus]\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton]\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value]\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ]\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused]\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <ResultsPopover\n __unstable_margins={AUTOCOMPLETE_POPOVER_MARGINS}\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n }\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children]\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {_responsive, ThemeProps} from '../../styles'\nimport {DialogPosition} from '../../types'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const color = theme.sanity.color.base\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: color.shadow.umbra,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {Layer, Portal, useLayer} from '../../utils'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: number | number[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n radius: number | number[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nconst Root = styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle\n)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Card)`\n position: relative;\n z-index: 2;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n bottom: -1px;\n border-bottom: 1px solid var(--card-hairline-soft-color);\n }\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)`\n position: relative;\n z-index: 3;\n border-top: 1px solid var(--card-hairline-soft-color);\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first interactive element in the contents\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [isTopLayer, onClose]\n )\n )\n\n useClickOutside(\n useCallback(() => {\n if (!isTopLayer || !onClickOutside) return\n\n onClickOutside()\n }, [isTopLayer, onClickOutside]),\n [rootElement]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef]\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n padding: paddingProp = 4,\n portal,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n\n const handleFocus = useCallback((event: React.FocusEvent<HTMLDivElement>) => {\n const target = event.target\n const cardElement = cardRef.current\n\n if (!cardElement) {\n return\n }\n\n if (target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n }, [])\n\n const labelId = `${id}_label`\n\n return (\n <Portal __unstable_name={portal}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset]\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n &:not([hidden]) {\n display: block;\n }\n font: inherit;\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElement, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElement, setActiveIndex]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex]\n )\n\n const handleItemMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex]\n )\n\n const handleItemMouseLeave = useCallback(() => {\n rootElement?.focus()\n setActiveIndex(-1)\n }, [rootElement, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\n if (_activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n focusFirst?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n focusLast?: boolean\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemSelect?: (index: number) => void\n originElement?: HTMLElement | null\n registerElement?: (el: HTMLElement) => () => void\n shouldFocus?: 'first' | 'last' | null\n space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\n`\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement]\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside]\n ),\n [rootElement]\n )\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape]\n )\n )\n\n // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ]\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: number | number[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements]\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements]\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ]\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref]\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef]\n )\n\n const popoverProps: PopoverProps = useMemo(() => {\n return {\n boundaryElement: deprecated_boundaryElement,\n placement: deprecated_placement,\n portal: deprecated_portal,\n radius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }\n }, [\n deprecated_boundaryElement,\n deprecated_preventOverflow,\n deprecated_placement,\n popover,\n deprecated_popoverRadius,\n deprecated_portal,\n deprecated_popoverScheme,\n ])\n\n return (\n <Popover {...popoverProps} content={menu} data-ui=\"MenuButton__popover\" open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled, {StyledComponent} from 'styled-components'\nimport {Theme} from '../../theme'\n\n/**\n * @public\n */\nexport const MenuDivider: StyledComponent<'hr', Theme> = styled.hr`\n height: 1px;\n border: 0;\n background: var(--card-hairline-soft-color);\n margin: 0;\n`\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {SelectableTone} from '../../types/selectable'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: SelectableTone\n}\n\nexport function selectableBaseStyle(): FlattenSimpleInterpolation {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$tone, theme} = props\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return css`\n ${_colorVarsStyle(base, 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 ${_colorVarsStyle(base, tone.disabled)}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_colorVarsStyle(base, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_colorVarsStyle(base, tone.disabled)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n }\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle\n)\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {SelectableTone} from '../../types/selectable'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: number | number[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter]\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick]\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) onItemClick()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n data-as={as}\n data-ui=\"MenuGroup\"\n forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Box padding={padding}>\n <Flex>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n <Box flex={1} marginLeft={icon ? space : undefined}>\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n\n <Box marginLeft={space}>\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Box>\n </Flex>\n </Box>\n </Selectable>\n </Popover>\n )\n}\n","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 2,\n hotkeys,\n icon,\n iconRight,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick]\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref]\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={tone}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...paddingProps}>\n <Flex as=\"span\">\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={1}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Box marginLeft={space} style={{marginTop: -4, marginBottom: -4}}>\n <Hotkeys fontSize={fontSize} keys={hotkeys} />\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: var(--card-skeleton-color-from);\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(\n ({$size, $style, theme}: {$size: number[]; $style: ThemeFontKey; theme: Theme}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n }\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n icon,\n id,\n focused,\n fontSize,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus]\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n })\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs]\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ninterface ToastState {\n toasts: {\n dismiss: () => void\n id: string\n params: ToastParams\n }[]\n}\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, setState] = useState<ToastState>({toasts: []})\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState) => {\n const idx = prevState.toasts.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.toasts.slice(0)\n\n toasts.splice(idx, 1)\n\n return {...prevState, toasts}\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState) => {\n return {\n ...prevState,\n toasts: prevState.toasts\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ]),\n }\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n []\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.toasts.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ): React.ReactElement {\n const {children, space = 1, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n []\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements]\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]')\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n })\n)\n\nTree.displayName = 'Tree'\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\n\nexport function treeItemRootStyle(): FlattenSimpleInterpolation {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const $tone = 'default'\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return css`\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n &[role='none'] {\n & > [role='treeitem'] {\n ${_colorVarsStyle(base, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n & > [role='treeitem']:focus {\n ${_colorVarsStyle(base, tone.selected)}\n }\n }\n }\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.selected)}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, Flex, Text} from '../../primitives'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem__box' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused]\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","Error","length","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","JSON","stringify","useMemo","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","concat","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","arguments","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","r","clamp","g","num","max","min","screenChannel","screen","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbToHex","rgbToHsl","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgba","a","rgb","createButtonTones","opts","dark","solid","muted","mode","default","button","primary","positive","caution","critical","createButtonModes","ghost","bleed","createCardStates","enabled","card","state","disabled","hovered","pressed","selected","black","white","colors","lightest","lighter","light","darker","darkest","transparent","spots","gray","red","orange","yellow","green","cyan","blue","purple","magenta","tones","bg","fg","focusRing","defaultOpts","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","tone","bg2","accent","link","code","input","placeholder","selectable","spot","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","createInputModes","readOnly","invalid","createMutedTones","createSelectableTones","_createSelectableStates","createSolidTones","createSpot","createColorTheme","partialOpts","builders","_createColorScheme","_createColor","_multiply","_screen","hues","NEUTRAL_TONES","tints","skeletonFrom","mix","mix2","defaultTints","isNeutral","mainShade","secondaryShade","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","textWeight","container","offset","radius","shadows","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ThemeProvider","parentTheme","useContext","children","scheme","themeProp","rootColor","layer","rootLayer","restTheme","colorScheme","version","jsx","Provider","StyledThemeProvider","isRecord","useRootTheme","ThemeColorProvider","root","useTheme","useStyledTheme","MEDIA_MANAGER_CACHE","_getMediaQuery","_createMediaManager","mediaLen","mediaQuery","mq","matchMedia","getCurrentIndex","matches","disposeFns","handleChange","addListener","removeListener","disposeFn","_getMediaManager","manager","useMediaIndex","setIndex","usePrefersDark","setDark","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","BORDER_VALUE","responsiveBorderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","GRID_CSS","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","styles","responsiveInputPaddingIconRightStyle","ROOT_STYLE","css","textInputRootStyle","textInputBaseStyle","$scheme","$tone","font","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","radiusIndex","borderRadius","toBoxShadow","shadowStyle","boxShadow","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","Root","styled","div","SpanWithTextOverflow","span","Text","forwardRef","childrenProp","textOverflow","weight","restProps","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","zIndex","opacity","transition","$color","backgroundColor","userSelect","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeSasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","Avatar","as","asProp","colorKey","src","title","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","jsxs","viewBox","d","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","labelBaseStyle","Label","badgeStyle","$mode","palette","cursor","Badge","Flex","forwardedAs","rotate","keyframes","Spinner","SpinnerIcon","_colorVarsStyle","checkered","_c","_d","_e","_f","_g","_h","buttonBaseStyles","buttonTheme","buttonColorStyles","LoadingBox","Button","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","spaceProp","boxProps","isValidElement","createElement","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","Card","__unstable_checkered","__unstable_focusRing","toneProp","rootTheme","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","verticalAlign","inlineSpaceStyle","Inline","kbdStyle","kbd","KBD","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","LayerContext","useLayer","LayerProvider","zOffsetProp","maxMediaIndex","registerChild","v","parentRegisterChild","isTopLayer","LayerChildren","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","item","_itemIndex","itemIndex","wrapperStyle","BorderPath","path","ShapePath","PopoverArrow","xmlns","popoverCardStyle","$boundaryWidth","memo","PopoverCard","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","availableHeight","availableWidth","boundaryWidth","placement","referenceWidth","referenceWidthProp","strategy","xProp","yProp","margins","rootStyle","maxHeight","staticSide","split","arrowStyle","displayName","sizeMiddleware","apply","args","constrainSize","setAvailableWidth","setAvailableHeight","matchReferenceWidth","setReferenceWidth","rects","reference","boundary","Popover","boundaryElementContext","allowedAutoPlacements","arrowProp","childProp","fallbackPlacements","matchReferenceWidthProp","open","placementProp","preventOverflow","referenceElement","shadowProp","tether","tetherOffset","widthProp","boundarySize","rootBoundary","middleware","flip","mainAxis","shift","floating","middlewareData","useFloating","whileElementsMounted","autoUpdate","setArrow","arrowEl","setFloating","setReference","childRef","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","select","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","Border","Shape","TooltipArrow","Tooltip","fallbackPlacementsProp","setReferenceElement","update","isOpen","setIsOpen","handleBlur","handleFocus","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onFocus","onMouseEnter","onMouseLeave","ListBox","ResultsPopover","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","setTimeout","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_MARGINS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","hidden","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","dialogStyle","background","responsiveDialogPositionStyle","$position","DialogContext","useDialog","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","rootElement","setRootElement","localContentRef","labelId","showCloseButton","showHeader","setContentRef","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","cardElement","DialogProvider","contextValue","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","skeletonStyle","$visible","$animated","Skeleton","animated","delay","visible","setVisible","clearTimeout","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","Tab","elementRef","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","ToastContext","ToastContainer","toastId","ToastProvider","setState","toasts","toastsRef","params","duration","dismiss","timeoutId","prevState","findIndex","t","AnimatePresence","initial","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","setFocusedElement","focusedElementRef","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","level","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":"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"}
1
+ {"version":3,"file":"sanity-ui.esm.js","sources":["../src/constants.ts","../src/styles/helpers.ts","../src/styles/font/responsiveFont.ts","../src/styles/font/codeFontStyle.ts","../src/styles/font/headingFontStyle.ts","../src/styles/font/labelFontStyle.ts","../src/styles/font/textAlignStyle.ts","../src/styles/font/textFontStyle.ts","../src/hooks/useArrayProp.ts","../src/hooks/useClickOutside.ts","../../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../../node_modules/@juggle/resize-observer/lib/utils/freeze.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/lib/theme/color/button/createButtonTones.ts","../src/theme/lib/theme/color/button/createButtonModes.ts","../src/theme/lib/theme/color/card/createCardStates.ts","../src/theme/lib/theme/color/defaults.ts","../src/theme/lib/theme/color/input/createInputModes.ts","../src/theme/lib/theme/color/muted/createMuted.ts","../src/theme/lib/theme/color/selectable/createSelectableTones.ts","../src/theme/lib/theme/color/solid/createSolidTones.ts","../src/theme/lib/theme/color/spot/createSpot.ts","../src/theme/lib/theme/color/factory.ts","../src/theme/studioTheme/helpers.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/lib/media.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/constants.ts","../src/primitives/popover/floating-ui/size.ts","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: any[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, any> = {}\n\n/**\n * @internal\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex]))\n )\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from 'styled-components'\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 'styled-components'\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 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[]\n): T[] {\n const __perf_hash__ = JSON.stringify(val ?? defaultVal)\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__]\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\nimport {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb} from './convert'\nimport {HSL, RGB} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorButtonModeKey, ThemeColorButtonTones} from './types'\n\nexport function createButtonTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n mode: ThemeColorButtonModeKey\n): ThemeColorButtonTones {\n return {\n default: opts.button({\n base,\n dark,\n solid: solid.default,\n muted: muted.default,\n mode,\n }),\n primary: opts.button({\n base,\n dark,\n solid: solid.primary,\n muted: muted.primary,\n mode,\n }),\n positive: opts.button({\n base,\n dark,\n solid: solid.positive,\n muted: muted.positive,\n mode,\n }),\n caution: opts.button({\n base,\n dark,\n solid: solid.caution,\n muted: muted.caution,\n mode,\n }),\n critical: opts.button({\n base,\n dark,\n solid: solid.critical,\n muted: muted.critical,\n mode,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {createButtonTones} from './createButtonTones'\nimport {ThemeColorButton} from './types'\n\nexport function createButtonModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorButton {\n return {\n default: createButtonTones(opts, base, dark, solid, muted, 'default'),\n ghost: createButtonTones(opts, base, dark, solid, muted, 'ghost'),\n bleed: createButtonTones(opts, base, dark, solid, muted, 'bleed'),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorCard} from './types'\n\nexport function createCardStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorCard {\n return {\n enabled: opts.card({\n base,\n dark,\n name,\n state: 'enabled',\n solid,\n muted,\n }),\n disabled: opts.card({\n base,\n dark,\n name,\n state: 'disabled',\n solid,\n muted,\n }),\n hovered: opts.card({\n base,\n dark,\n name,\n state: 'hovered',\n solid,\n muted,\n }),\n pressed: opts.card({\n base,\n dark,\n name,\n state: 'pressed',\n solid,\n muted,\n }),\n selected: opts.card({\n base,\n dark,\n name,\n state: 'selected',\n solid,\n muted,\n }),\n }\n}\n","import {ThemeColorBuilderOpts} from './factory'\n\nconst black = 'hsl(0, 0%, 0%)'\nconst white = 'hsl(0, 0%, 100%)'\n\nconst colors = {\n default: {\n lightest: 'hsl(0, 0%, 95%)',\n lighter: 'hsl(0, 0%, 70%)',\n light: 'hsl(0, 0%, 65%)',\n base: 'hsl(0, 0%, 50%)',\n dark: 'hsl(0, 0%, 35%)',\n darker: 'hsl(0, 0%, 20%)',\n darkest: 'hsl(0, 0%, 5%)',\n },\n transparent: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n primary: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n positive: {\n lightest: 'hsl(120, 100%, 95%)',\n lighter: 'hsl(120, 100%, 70%)',\n light: 'hsl(120, 100%, 65%)',\n base: 'hsl(120, 100%, 50%)',\n dark: 'hsl(120, 100%, 35%)',\n darker: 'hsl(120, 100%, 20%)',\n darkest: 'hsl(120, 100%, 5%)',\n },\n caution: {\n lightest: 'hsl(60, 100%, 95%)',\n lighter: 'hsl(60, 100%, 70%)',\n light: 'hsl(60, 100%, 65%)',\n base: 'hsl(60, 100%, 50%)',\n dark: 'hsl(60, 100%, 35%)',\n darker: 'hsl(60, 100%, 20%)',\n darkest: 'hsl(60, 100%, 5%)',\n },\n critical: {\n lightest: 'hsl(0, 100%, 95%)',\n lighter: 'hsl(0, 100%, 70%)',\n light: 'hsl(0, 100%, 65%)',\n base: 'hsl(0, 100%, 50%)',\n dark: 'hsl(0, 100%, 35%)',\n darker: 'hsl(0, 100%, 20%)',\n darkest: 'hsl(0, 100%, 5%)',\n },\n}\n\nconst spots = {\n gray: 'hsl(0, 0%, 50%)',\n red: 'hsl(0, 100%, 50%)',\n orange: 'hsl(30, 100%, 50%)',\n yellow: 'hsl(60, 100%, 50%)',\n green: 'hsl(120, 100%, 50%)',\n cyan: 'hsl(180, 100%, 50%)',\n blue: 'hsl(240, 100%, 50%)',\n purple: 'hsl(270, 100%, 50%)',\n magenta: 'hsl(300, 100%, 50%)',\n}\n\nconst tones = {\n transparent: {\n bg: [colors.transparent.darkest, colors.transparent.lightest],\n fg: [colors.transparent.lightest, colors.transparent.darkest],\n border: [colors.transparent.darker, colors.transparent.lighter],\n focusRing: [colors.transparent.base, colors.transparent.base],\n },\n primary: {\n bg: [colors.primary.darkest, colors.primary.lightest],\n fg: [colors.primary.lightest, colors.primary.darkest],\n border: [colors.primary.darker, colors.primary.lighter],\n focusRing: [colors.primary.base, colors.primary.base],\n },\n positive: {\n bg: [colors.positive.darkest, colors.positive.lightest],\n fg: [colors.positive.lightest, colors.positive.darkest],\n border: [colors.positive.darker, colors.positive.lighter],\n focusRing: [colors.positive.base, colors.positive.base],\n },\n caution: {\n bg: [colors.caution.darkest, colors.caution.lightest],\n fg: [colors.caution.lightest, colors.caution.darkest],\n border: [colors.caution.darker, colors.caution.lighter],\n focusRing: [colors.caution.base, colors.caution.base],\n },\n critical: {\n bg: [colors.critical.darkest, colors.critical.lightest],\n fg: [colors.critical.lightest, colors.critical.darkest],\n border: [colors.critical.darker, colors.critical.lighter],\n focusRing: [colors.critical.base, colors.critical.base],\n },\n}\n\nexport const defaultOpts: ThemeColorBuilderOpts = {\n base: ({dark, name}) => {\n if (name === 'default') {\n return {\n bg: dark ? black : white,\n fg: dark ? white : black,\n border: dark ? colors.default.darkest : colors.default.lightest,\n focusRing: colors.primary.base,\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n }\n\n // Variants:\n // - primary\n // - positive\n // - caution\n // - critical\n return {\n bg: tones[name].bg[dark ? 0 : 1],\n fg: tones[name].fg[dark ? 0 : 1],\n border: tones[name].border[dark ? 0 : 1],\n focusRing: tones[name].focusRing[dark ? 0 : 1],\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n },\n\n solid: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.light : color.dark,\n bg2: dark ? color.light : color.dark,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: color.base,\n bg2: color.base,\n border: dark ? color.light : color.dark,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n muted: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.darker : color.lighter,\n bg2: dark ? color.darker : color.lighter,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.lightest : color.darkest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: dark ? color.darkest : color.lightest,\n bg2: dark ? color.darkest : color.lightest,\n border: dark ? color.darker : color.lighter,\n fg: dark ? color.lighter : color.darker,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n ...muted,\n enabled: {\n bg: 'transparent',\n bg2: 'transparent',\n fg: muted.enabled.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n hovered: {\n bg: muted.enabled.bg,\n bg2: muted.enabled.bg,\n fg: muted.hovered.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n }\n }\n\n if (mode === 'ghost')\n return {\n ...solid,\n enabled: muted.enabled,\n }\n\n return solid\n },\n\n card: ({base}) => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n border: black,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n input: () => {\n return {\n bg: black,\n fg: black,\n border: black,\n placeholder: black,\n }\n },\n\n selectable: ({muted, state, tone}) => {\n return muted[tone][state]\n },\n\n spot: ({key}) => {\n return spots[key]\n },\n\n syntax: () => ({\n atrule: black,\n attrName: black,\n attrValue: black,\n attribute: black,\n boolean: black,\n builtin: black,\n cdata: black,\n char: black,\n class: black,\n className: black,\n comment: black,\n constant: black,\n deleted: black,\n doctype: black,\n entity: black,\n function: black,\n hexcode: black,\n id: black,\n important: black,\n inserted: black,\n keyword: black,\n number: black,\n operator: black,\n prolog: black,\n property: black,\n pseudoClass: black,\n pseudoElement: black,\n punctuation: black,\n regex: black,\n selector: black,\n string: black,\n symbol: black,\n tag: black,\n unit: black,\n url: black,\n variable: black,\n }),\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorInput} from './types'\n\nexport function createInputModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorInput {\n return {\n default: {\n enabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n invalid: {\n enabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorMuted} from './types'\n\nexport function createMutedTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorMuted {\n return {\n default: {\n enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorSelectable, ThemeColorSelectableStates} from './types'\n\nexport function createSelectableTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorSelectable {\n return {\n default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),\n primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),\n positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),\n caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),\n critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),\n }\n}\n\nfunction _createSelectableStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n): ThemeColorSelectableStates {\n return {\n enabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'enabled',\n tone,\n }),\n hovered: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'hovered',\n tone,\n }),\n pressed: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'pressed',\n tone,\n }),\n selected: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'selected',\n tone,\n }),\n disabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'disabled',\n tone,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorSolid} from './types'\n\nexport function createSolidTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorSolid {\n return {\n default: {\n enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorSpot} from './types'\n\nexport function createSpot(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean\n): ThemeColorSpot {\n return {\n gray: opts.spot({base, dark, key: 'gray'}),\n blue: opts.spot({base, dark, key: 'blue'}),\n purple: opts.spot({base, dark, key: 'purple'}),\n magenta: opts.spot({base, dark, key: 'magenta'}),\n red: opts.spot({base, dark, key: 'red'}),\n orange: opts.spot({base, dark, key: 'orange'}),\n yellow: opts.spot({base, dark, key: 'yellow'}),\n green: opts.spot({base, dark, key: 'green'}),\n cyan: opts.spot({base, dark, key: 'cyan'}),\n }\n}\n","import {ThemeColorGenericState} from './_generic'\nimport {ThemeColorBase} from './base'\nimport {ThemeColorButtonModeKey, ThemeColorButtonStates} from './button'\nimport {createButtonModes} from './button/createButtonModes'\nimport {ThemeColorCardState} from './card'\nimport {createCardStates} from './card/createCardStates'\nimport {defaultOpts} from './defaults'\nimport {ThemeColorInputState} from './input'\nimport {createInputModes} from './input/createInputModes'\nimport {ThemeColorMuted, ThemeColorMutedTone} from './muted'\nimport {createMutedTones} from './muted/createMuted'\nimport {ThemeColorSelectableState} from './selectable'\nimport {createSelectableTones} from './selectable/createSelectableTones'\nimport {ThemeColorSolid, ThemeColorSolidTone} from './solid'\nimport {createSolidTones} from './solid/createSolidTones'\nimport {ThemeColorSpotKey} from './spot'\nimport {createSpot} from './spot/createSpot'\nimport {ThemeColorSyntax} from './syntax'\nimport {\n ThemeColorName,\n ThemeColorScheme,\n ThemeColorSchemes,\n ThemeColor,\n ThemeColorToneKey,\n} from './types'\n\n/**\n * @public\n */\nexport interface ThemeColorBuilderOpts {\n base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase\n solid: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n muted: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n card: (opts: {\n base: ThemeColorBase\n dark: boolean\n muted: ThemeColorMuted\n name: ThemeColorName\n solid: ThemeColorSolid\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorCardState\n button: (opts: {\n dark: boolean\n mode: ThemeColorButtonModeKey\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n }) => ThemeColorButtonStates\n input: (opts: {\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n dark: boolean\n mode: 'default' | 'invalid'\n state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'\n }) => ThemeColorInputState\n selectable: (opts: {\n dark: boolean\n base: ThemeColorBase\n solid: ThemeColorSolid\n muted: ThemeColorMuted\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n }) => ThemeColorSelectableState\n syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax\n spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string\n}\n\n/**\n * @public\n */\nexport type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>\n\n/**\n * @public\n */\nexport function createColorTheme(\n partialOpts: PartialThemeColorBuilderOpts = {}\n): ThemeColorSchemes {\n const builders: ThemeColorBuilderOpts = {...defaultOpts, ...partialOpts}\n\n return {\n light: _createColorScheme(builders, false),\n dark: _createColorScheme(builders, true),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColorScheme(opts: ThemeColorBuilderOpts, dark: boolean): ThemeColorScheme {\n return {\n default: _createColor(opts, dark, 'default'),\n transparent: _createColor(opts, dark, 'transparent'),\n primary: _createColor(opts, dark, 'primary'),\n positive: _createColor(opts, dark, 'positive'),\n caution: _createColor(opts, dark, 'caution'),\n critical: _createColor(opts, dark, 'critical'),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColor(\n opts: ThemeColorBuilderOpts,\n dark: boolean,\n name: ThemeColorName\n): ThemeColor {\n const base = opts.base({dark, name})\n const solid = createSolidTones(opts, base, dark, name)\n const muted = createMutedTones(opts, base, dark, name)\n\n return {\n base,\n button: createButtonModes(opts, base, dark, solid, muted),\n card: createCardStates(opts, base, dark, name, solid, muted),\n dark,\n input: createInputModes(opts, base, dark, solid, muted),\n selectable: createSelectableTones(opts, base, dark, solid, muted),\n spot: createSpot(opts, base, dark),\n syntax: opts.syntax({base, dark}),\n solid,\n muted,\n }\n}\n","import {parseColor, rgbToHex, screen as _screen, multiply as _multiply} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n return hex\n}\n","import {black, ColorTints, hues, white} from '@sanity/color'\nimport {rgba} from '../lib/color-fns'\nimport {createColorTheme} from '../lib/theme'\nimport {multiply, screen} from './helpers'\n\nconst tones: {[key: string]: ColorTints} = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.blue,\n positive: hues.green,\n caution: hues.yellow,\n critical: hues.red,\n}\n\nconst NEUTRAL_TONES = ['default', 'transparent']\n\nexport const color = createColorTheme({\n base: ({dark, name}) => {\n if (name === 'default') {\n const tints = hues.gray\n const skeletonFrom = dark ? tints[900].hex : tints[100].hex\n\n return {\n fg: dark ? white.hex : black.hex,\n bg: dark ? black.hex : white.hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: hues.blue[dark ? 500 : 500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[950].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[950].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[950].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (name === 'transparent') {\n const tints = tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 300].hex,\n focusRing: hues.blue[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const tints = tones[name] || tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: tints[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n solid: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const mix2 = dark ? multiply : screen\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = mix(base.bg, tints[dark ? 800 : 200].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n accent: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n link: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n code: {\n bg,\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'hovered') {\n const bg = mix(base.bg, tints[dark ? 300 : 600].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 300 : 600].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg: mix(base.bg, tints[dark ? 200 : 800].hex),\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n // state: \"enabled\" | unknown\n const bg = mix(base.bg, tints[dark ? 400 : 500].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 400 : 500].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 900 : 100].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n muted: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(bg, tints[dark ? 800 : 200].hex),\n muted: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n code: {\n bg,\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: rgba(skeletonFrom, 0.5),\n to: rgba(skeletonFrom, 0.25),\n },\n }\n }\n\n if (state === 'hovered') {\n // if (isNeutral) {\n // tints = tones.primary\n // }\n\n const bg = mix(base.bg, tints[dark ? 950 : 50].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 300 : 700].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n enabled: {\n ...muted.enabled,\n border: muted.enabled.bg,\n },\n hovered: {\n ...muted.hovered,\n border: muted.hovered.bg,\n },\n pressed: {\n ...muted.pressed,\n border: muted.pressed.bg,\n },\n selected: {\n ...muted.selected,\n border: muted.selected.bg,\n },\n disabled: {\n ...muted.disabled,\n border: muted.disabled.bg,\n },\n }\n }\n\n if (mode === 'ghost') {\n return {\n ...solid,\n enabled: {\n ...muted.enabled,\n border: base.border,\n },\n disabled: muted.disabled,\n }\n }\n\n return solid\n },\n\n card: ({base, dark, muted, name, solid, state}) => {\n if (state === 'hovered') {\n return muted[name].hovered\n }\n\n if (state === 'disabled') {\n return muted[name].disabled\n }\n\n const isNeutral = NEUTRAL_TONES.includes(name)\n const tints = tones[name] || tones.default\n const mix = dark ? screen : multiply\n\n if (state === 'pressed') {\n if (isNeutral) {\n return muted.primary.pressed\n }\n\n return muted[name].pressed\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n return solid.primary.enabled\n }\n\n return solid[name].enabled\n }\n\n const bg = base.bg\n const skeletonFrom = mix(base.bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n fg: base.fg,\n border: base.border,\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: tints[dark ? 400 : 600].hex,\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n input: ({base, dark, mode, state}) => {\n const mix = dark ? screen : multiply\n\n if (mode === 'invalid') {\n const tints = tones.critical\n\n return {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, tints[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'hovered') {\n return {\n bg: base.bg,\n fg: base.fg,\n border: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'disabled') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n border: mix(base.bg, hues.gray[dark ? 900 : 100].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n }\n }\n\n if (state === 'readOnly') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 200 : 800].hex),\n border: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n return {\n bg: base.bg,\n fg: base.fg,\n border: base.border,\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n },\n\n selectable: ({base, muted, tone, solid, state}) => {\n if (state === 'enabled') {\n return {\n ...muted[tone].enabled,\n bg: base.bg,\n }\n }\n\n if (state === 'pressed') {\n if (tone === 'default') {\n return muted.primary.pressed\n }\n\n return muted[tone].pressed\n }\n\n if (state === 'selected') {\n if (tone === 'default') {\n return solid.primary.enabled\n }\n\n return solid[tone].enabled\n }\n\n if (state === 'disabled') {\n return {\n ...muted[tone].disabled,\n bg: base.bg,\n }\n }\n\n return muted[tone][state]\n },\n\n spot: ({base, dark, key}) => {\n const mix = dark ? screen : multiply\n\n return mix(base.bg, hues[key][dark ? 400 : 500].hex)\n },\n\n syntax: ({base, dark}) => {\n const mix = dark ? screen : multiply\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n atrule: mix(base.bg, hues.purple[mainShade].hex),\n attrName: mix(base.bg, hues.green[mainShade].hex),\n attrValue: mix(base.bg, hues.yellow[mainShade].hex),\n attribute: mix(base.bg, hues.yellow[mainShade].hex),\n boolean: mix(base.bg, hues.purple[mainShade].hex),\n builtin: mix(base.bg, hues.purple[mainShade].hex),\n cdata: mix(base.bg, hues.yellow[mainShade].hex),\n char: mix(base.bg, hues.yellow[mainShade].hex),\n class: mix(base.bg, hues.orange[mainShade].hex),\n className: mix(base.bg, hues.cyan[mainShade].hex),\n comment: mix(base.bg, hues.gray[secondaryShade].hex),\n constant: mix(base.bg, hues.purple[mainShade].hex),\n deleted: mix(base.bg, hues.red[mainShade].hex),\n doctype: mix(base.bg, hues.gray[secondaryShade].hex),\n entity: mix(base.bg, hues.red[mainShade].hex),\n function: mix(base.bg, hues.green[mainShade].hex),\n hexcode: mix(base.bg, hues.blue[mainShade].hex),\n id: mix(base.bg, hues.purple[mainShade].hex),\n important: mix(base.bg, hues.purple[mainShade].hex),\n inserted: mix(base.bg, hues.yellow[mainShade].hex),\n keyword: mix(base.bg, hues.magenta[mainShade].hex),\n number: mix(base.bg, hues.purple[mainShade].hex),\n operator: mix(base.bg, hues.magenta[mainShade].hex),\n prolog: mix(base.bg, hues.gray[secondaryShade].hex),\n property: mix(base.bg, hues.blue[mainShade].hex),\n pseudoClass: mix(base.bg, hues.yellow[mainShade].hex),\n pseudoElement: mix(base.bg, hues.yellow[mainShade].hex),\n punctuation: mix(base.bg, hues.gray[mainShade].hex),\n regex: mix(base.bg, hues.blue[mainShade].hex),\n selector: mix(base.bg, hues.red[mainShade].hex),\n string: mix(base.bg, hues.yellow[mainShade].hex),\n symbol: mix(base.bg, hues.purple[mainShade].hex),\n tag: mix(base.bg, hues.red[mainShade].hex),\n unit: mix(base.bg, hues.orange[mainShade].hex),\n url: mix(base.bg, hues.red[mainShade].hex),\n variable: mix(base.bg, hues.red[mainShade].hex),\n }\n },\n})\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {color} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n },\n button: {\n textWeight: 'medium',\n },\n color,\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -1], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 0]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n },\n radio: {\n size: 17,\n markSize: 9,\n },\n switch: {\n width: 33,\n height: 17,\n padding: 4,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n },\n border: {\n width: 1,\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorSchemeKey, ThemeColorName} from './lib/theme'\nimport {ThemeContext} from './themeContext'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {color: rootColor, layer: rootLayer, ...restTheme} = themeProp\n const colorScheme = rootColor[scheme] || rootColor.light\n const color = colorScheme[tone] || colorScheme.default\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, color, layer}}\n }, [scheme, themeProp, tone])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone]\n )\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","/**\n * @internal\n */\nexport interface _MediaManager {\n getCurrentIndex: () => number\n subscribe: (subscriber: (index: number) => void) => () => void\n}\n\nconst MEDIA_MANAGER_CACHE = new WeakMap<number[], _MediaManager>()\n\nfunction _getMediaQuery(media: number[], index: number) {\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 _createMediaManager(media: number[]): _MediaManager {\n const mediaLen = media.length\n const sizes: {mq: MediaQueryList; index: number}[] = []\n\n if (typeof window !== 'undefined') {\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 const getCurrentIndex = () => {\n for (const {index, mq} of sizes) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (subscriber: (index: number) => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {index, mq} of sizes) {\n const handleChange = () => {\n if (mq.matches) subscriber(index)\n }\n\n if (mq.addEventListener) {\n mq.addEventListener('change', handleChange)\n } else {\n mq.addListener(handleChange)\n }\n\n disposeFns.push(() => {\n if (mq.removeEventListener) {\n mq.removeEventListener('change', handleChange)\n } else {\n mq.removeListener(handleChange)\n }\n })\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getCurrentIndex, subscribe}\n}\n\n/**\n * @internal\n */\nexport function _getMediaManager(media: number[]): _MediaManager {\n let manager = MEDIA_MANAGER_CACHE.get(media)\n\n if (!manager) {\n manager = _createMediaManager(media)\n MEDIA_MANAGER_CACHE.set(media, manager)\n }\n\n return manager\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport {useTheme} from '../../theme'\nimport {_getMediaManager} from './lib/media'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const theme = useTheme()\n const {media} = theme.sanity\n const manager = useMemo(() => _getMediaManager(media), [media])\n const [index, setIndex] = useState(manager.getCurrentIndex)\n\n useEffect(() => manager.subscribe(setIndex), [manager])\n\n return index\n}\n","import {useEffect, useMemo, useState} from 'react'\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n const mq = useMemo(() => {\n if (typeof window === 'undefined') return undefined\n\n return window.matchMedia('(prefers-color-scheme: dark)')\n }, [])\n\n const [dark, setDark] = useState(mq?.matches || false)\n\n useEffect(() => {\n if (!mq) return undefined\n\n setDark(mq.matches)\n\n const handleChange = () => setDark(mq.matches)\n\n mq.addEventListener('change', handleChange)\n\n return () => mq.removeEventListener('change', handleChange)\n }, [mq])\n\n return dark\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined\n): void {\n useEffect(() => {\n if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = '1px solid var(--card-border-color)'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}}\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}}\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}}\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}}\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}}\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {CSSObject} from 'styled-components'\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 {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","export 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: {offset: number; width: number}\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} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeColorSchemeKey, ThemeFontWeightKey} from '../../theme'\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): FlattenSimpleInterpolation {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {theme, $scheme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n const color = theme.sanity.color.input\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.family};\n font-weight: ${($weight && font.weights[$weight]) || font.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.default.enabled.fg};\n --input-placeholder-color: ${color.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.default.enabled.fg};\n --input-placeholder-color: ${color.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.default.disabled.fg};\n --input-placeholder-color: ${color.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.invalid.enabled.fg};\n --input-placeholder-color: ${color.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.default.readOnly.fg};\n --input-placeholder-color: ${color.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\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.default.enabled.bg};\n --card-fg-color: ${color.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.invalid.enabled.bg};\n --card-fg-color: ${color.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.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: ${focusRingStyle({\n border: {color: color.default.enabled.border, width: input.border.width},\n focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${focusRingStyle({focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n --card-bg-color: ${color.default.disabled.bg} !important;\n --card-fg-color: ${color.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:read-only + & {\n --card-bg-color: ${color.default.readOnly.bg} !important;\n --card-fg-color: ${color.default.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.default.hovered.bg};\n --card-fg-color: ${color.default.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from 'styled-components'\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 'styled-components'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (radiusIndex) => ({\n borderRadius: rem(radius[radiusIndex]),\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} 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 {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\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: ${theme.sanity.fonts.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: 0 0 0 1px var(--card-bg-color), 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: ${weights.bold};\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\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, theme} = props\n const {focusRing} = theme.sanity\n\n return {\n backgroundColor: $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 '-webkit-font-smoothing': '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}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const {base} = theme.sanity.color\n\n return {\n width: '100%',\n height: '100%',\n color: base.fg,\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: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeSasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeColorSpotKey, useTheme} from '../../theme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\nconst Root = styled.div<{$color: string; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const color = theme.sanity.color.spot[colorKey] || theme.sanity.color.spot.gray\n\n // @todo: remove this\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside'\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {theme} = props\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: var(--card-fg-color);\n background: var(--card-bg-color);\n box-shadow: 0 0 0 1px var(--card-bg-color), inset 0 0 0 1.5px var(--card-hairline-hard-color);\n padding: 0 ${rem(theme.sanity.space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string'\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string'\n ) as React.ReactElement[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: 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: ${fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps & ThemeProps): CSSObject {\n const {$mode, $tone, theme} = props\n const palette = theme.sanity.color[$mode === 'outline' ? 'muted' : 'solid']\n const color = palette[$tone] || palette.default\n\n return {\n backgroundColor: color.enabled.bg,\n color: color.enabled.fg,\n boxShadow: `inset 0 0 0 1px ${color.enabled.border}`,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref\n) {\n const {\n children,\n fontSize,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Label size={fontSize}>{children}</Label>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeColorBase, ThemeColorGenericState} from '../../theme'\n\n/**\n * @internal\n */\nexport function _colorVarsStyle(\n base: ThemeColorBase,\n color: ThemeColorGenericState,\n checkered = false\n): CSSObject {\n return {\n // Base\n // @todo: rename to \"--base-\"?\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 '--card-focus-ring-color': base.focusRing,\n\n // Card\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.bg2 || color.bg} 0% 50%)`\n : undefined,\n '--card-fg-color': color.fg,\n '--card-border-color': color.border,\n '--card-muted-fg-color': color.muted?.fg,\n '--card-accent-fg-color': color.accent?.fg,\n '--card-link-fg-color': color.link?.fg,\n '--card-code-bg-color': color.code?.bg,\n '--card-code-fg-color': color.code?.fg,\n '--card-skeleton-color-from': color.skeleton?.from,\n '--card-skeleton-color-to': color.skeleton?.to,\n\n // @todo: deprecate\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 {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {ButtonMode, ButtonTone} from '../../types'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): FlattenSimpleInterpolation {\n return css`\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nconst buttonTheme = {border: {width: 1}}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps\n): CSSObject[] {\n const {$mode, theme} = props\n const {focusRing} = theme.sanity\n const base = theme.sanity.color.base\n const mode = theme.sanity.color.button[$mode] || theme.sanity.color.button.default\n const color = mode[props.$tone] || mode.default\n const border = {width: buttonTheme.border.width, color: 'var(--card-border-color)'}\n\n return [\n _colorVarsStyle(base, color.enabled),\n {\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _colorVarsStyle(base, color.disabled),\n \"&:not([data-disabled='true'])\": {\n '&:focus': {\n boxShadow: focusRingStyle({base, border, focusRing}),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: focusRingBorderStyle(border),\n },\n '@media (hover: hover)': {\n '&:hover': _colorVarsStyle(base, color.hovered),\n '&:active': _colorVarsStyle(base, color.pressed),\n },\n '&[data-selected]': _colorVarsStyle(base, color.pressed),\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: 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'>,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n children,\n disabled,\n fontSize,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight]\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={iconRight ? 1 : undefined}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps\n): Array<FlattenSimpleInterpolation | (() => FlattenSimpleInterpolation)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): FlattenSimpleInterpolation {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: 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: 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): FlattenSimpleInterpolation {\n const {$checkered, $focusRing, theme} = props\n const {focusRing} = theme.sanity\n const {base, card, dark} = theme.sanity.color\n const border = {width: 0, color: 'var(--card-border-color)'}\n\n return css`\n color-scheme: ${dark ? 'dark' : 'light'};\n\n ${_colorVarsStyle(base, card.enabled, $checkered)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_colorVarsStyle(base, card.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, card.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, card.hovered, $checkered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_colorVarsStyle(base, card.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, card.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, card.hovered, $checkered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, card.pressed, $checkered)}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorProvider, ThemeColorSchemeKey, useRootTheme} from '../../theme'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function checkboxBaseStyles(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const color = theme.sanity.color.input\n const {focusRing, input, radius} = theme.sanity\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.default.enabled.border,\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${color.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: 2 !important;\n }\n }\n }\n\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.default.enabled.border},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n\n &[data-read-only] + span {\n background-color: ${color.default.readOnly.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.default.readOnly.border,\n })};\n color: ${color.default.readOnly.fg};\n }\n\n &:not([data-read-only]):disabled + span {\n background-color: ${color.default.disabled.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.default.disabled.border,\n })};\n color: ${color.default.disabled.fg};\n }\n\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {css, FlattenInterpolation, ThemeProps as StyledThemeProps} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {Theme} from '../../theme'\n\nfunction codeSyntaxHighlightingStyle({theme}: ThemeProps) {\n const color = theme.sanity.color.syntax\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(): FlattenInterpolation<StyledThemeProps<Theme>> {\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 & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {codeBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<ResponsiveFontStyleProps>(codeBaseStyle, responsiveCodeFontStyle)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n\n return (\n <Root data-ui=\"Code\" {...restProps} $size={useArrayProp(size)} $weight={weight} ref={ref}>\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(\n props: HeadingStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$accent, $muted, theme} = props\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: ${theme.sanity.fonts.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: 0 0 0 1px var(--card-bg-color), 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp]\n )\n\n return (\n <Root data-ui=\"Inline\" {...restProps} $space={useArrayProp(space)} forwardedAs={as} ref={ref}>\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {Box} from '../box'\nimport {Code} from '../code'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n}\n\nfunction kbdStyle() {\n return css`\n background: var(--card-bg-color);\n font: inherit;\n box-shadow: inset 0 0 0 1px var(--card-hairline-hard-color);\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Code as=\"span\" muted size={fontSize}>\n {children}\n </Code>\n </Box>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef]\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: React.Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\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 // 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('useLayer(): the context value is not compatible')\n }\n\n return value\n}\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n const parent = useContext(LayerContext)\n const zOffset = useArrayProp(zOffsetProp)\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n const [size, setSize] = useState(0)\n\n const registerChild = useCallback(() => {\n setSize((v) => v + 1)\n\n return () => setSize((v) => v - 1)\n }, [])\n\n const parentRegisterChild = parent?.registerChild\n\n useEffect(() => {\n if (!parentRegisterChild) return\n\n return parentRegisterChild()\n }, [parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({version: 0.0, isTopLayer: size === 0, registerChild, size, zIndex}),\n [size, registerChild, zIndex]\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex} = useLayer()\n\n return (\n <Root {...restProps} data-ui=\"Layer\" ref={ref} style={{...style, zIndex}}>\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/element')\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof window === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","import {useRef} from 'react'\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof window !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n","import {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\n})\n","import {PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\n\nexport const DEFAULT_POPOVER_PADDING = 4\n\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 27\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 11\n\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\n","import {Middleware, detectOverflow} from '@floating-ui/react-dom'\n\nexport function size(scope: {\n boundaryElement: HTMLElement | null\n constrainSize: boolean\n matchReferenceWidth?: boolean\n padding?: number\n setAvailableWidth: (v: number) => void\n setAvailableHeight: (v: number) => void\n setReferenceWidth: (v: number) => void\n}): Middleware {\n const {padding = 0} = scope\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {placement, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: scope.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n if (placement.includes('top')) {\n maxWidth = floating.width - (overflow.left + overflow.right)\n maxHeight = floating.height - overflow.top - padding\n }\n\n if (placement.includes('right')) {\n maxWidth = floating.width - overflow.right - padding\n maxHeight = floating.height - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floating.width - (overflow.left + overflow.right)\n maxHeight = floating.height - overflow.bottom - padding\n }\n\n if (placement.includes('left')) {\n maxWidth = floating.width - overflow.left - padding\n maxHeight = floating.height - (overflow.top + overflow.bottom)\n }\n\n if (scope.constrainSize) {\n scope.setAvailableWidth(maxWidth)\n scope.setAvailableHeight(maxHeight)\n }\n\n if (scope.matchReferenceWidth) {\n scope.setReferenceWidth(reference.width)\n }\n\n if (!floating.width || !floating.height) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {DEFAULT_POPOVER_ARROW_HEIGHT, DEFAULT_POPOVER_ARROW_WIDTH} from './constants'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n height: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n }\n\n [data-placement^='right'] > & {\n left: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst BorderPath = styled.path`\n fill: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled, {CSSObject} from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {ThemeProps} from '../../styles'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Card} from '../card'\nimport {Container} from '../container'\nimport {\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {PopoverArrow} from './popoverArrow'\n\nfunction popoverCardStyle(props: {$boundaryWidth?: number} & ThemeProps): CSSObject {\n const {$boundaryWidth} = props\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n flexDirection: 'column',\n\n width: 'max-content',\n minWidth: 'min-content',\n maxWidth:\n typeof $boundaryWidth === 'number'\n ? `${$boundaryWidth - DEFAULT_POPOVER_PADDING * 2}px`\n : undefined,\n }\n}\n\nconst Root = memo(styled(Card)(popoverCardStyle))\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n availableHeight?: number\n availableWidth?: number\n boundaryWidth?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: number | number[]\n referenceWidth?: number\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width?: number | 'auto' | (number | 'auto')[]\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n availableHeight,\n availableWidth,\n boundaryWidth,\n children,\n padding,\n placement,\n overflow,\n radius,\n referenceWidth: referenceWidthProp,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width = 'auto',\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 referenceWidth = referenceWidthProp\n ? referenceWidthProp - margins[1] - margins[3]\n : undefined\n\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y,\n left: x,\n zIndex,\n width: referenceWidth,\n maxWidth: availableWidth,\n maxHeight: availableHeight,\n ...style,\n }),\n [availableHeight, availableWidth, referenceWidth, strategy, style, x, y, zIndex]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = 0 - DEFAULT_POPOVER_ARROW_WIDTH\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n {...restProps}\n $boundaryWidth={boundaryWidth}\n data-placement={placement}\n data-ui=\"Popover\"\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n tone={tone}\n >\n <Container\n data-ui=\"Popover__wrapper\"\n flex={1}\n overflow={overflow}\n padding={padding}\n sizing=\"border\"\n width={width}\n >\n {children}\n </Container>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n })\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps, ResponsiveWidthProps} from '../types'\nimport {DEFAULT_POPOVER_DISTANCE, DEFAULT_POPOVER_PADDING} from './constants'\nimport {size} from './floating-ui/size'\nimport {PopoverCard} from './popoverCard'\n\n/**\n * @public\n */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps,\n ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceElement?: HTMLElement | null\n matchReferenceWidth?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\n/** @public */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins,\n arrow: arrowProp = true,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements,\n matchReferenceWidth: matchReferenceWidthProp,\n open,\n overflow = props.constrainSize ? 'auto' : 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const [availableWidth, setAvailableWidth] = useState<number | undefined>(undefined)\n const [availableHeight, setAvailableHeight] = useState<number | undefined>(undefined)\n const [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n })\n )\n }\n\n // Track sizes\n if (constrainSize || matchReferenceWidthProp) {\n ret.push(\n size({\n boundaryElement,\n constrainSize,\n matchReferenceWidth: matchReferenceWidthProp,\n padding: DEFAULT_POPOVER_PADDING,\n setAvailableHeight,\n setAvailableWidth,\n setReferenceWidth,\n })\n )\n }\n\n // Define distance between reference and floating element\n ret.push(\n offset({\n mainAxis: arrowProp ? DEFAULT_POPOVER_DISTANCE : 0,\n })\n )\n\n // Shift the popover so its sits with the boundary eleement\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n })\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n })\n )\n }\n\n ret.push(\n hide({\n boundary: boundaryElement || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n })\n )\n\n return ret\n }, [\n arrowProp,\n boundaryElement,\n constrainSize,\n fallbackPlacements,\n matchReferenceWidthProp,\n preventOverflow,\n ])\n\n const {x, y, placement, reference, floating, middlewareData, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n reference(node)\n\n const childRef = (childProp as any)?.ref\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, reference]\n )\n\n const child = useMemo(() => {\n if (!childProp || referenceElement) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (referenceElement) reference(referenceElement)\n }, [reference, referenceElement])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n availableWidth={constrainSize ? availableWidth : undefined}\n availableHeight={constrainSize ? availableHeight : undefined}\n boundaryWidth={preventOverflow ? boundarySize?.width : undefined}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n referenceWidth={matchReferenceWidthProp ? referenceWidth : undefined}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n x={x}\n y={y}\n width={width}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n })\n)\n\nPopover.displayName = 'Popover'\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function radioBaseStyle(): FlattenSimpleInterpolation {\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): FlattenSimpleInterpolation {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\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.default.enabled.bg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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.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.default.enabled.border},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${color.default.readOnly.border};\n background: ${color.default.readOnly.bg};\n\n &::after {\n background: ${color.default.readOnly.fg};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${color.default.disabled.border};\n background: ${color.default.disabled.bg};\n\n &::after {\n background: ${color.default.disabled.fg};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </Root>\n )\n})\n","import {css, CSSObject, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\n\nfunction rootStyle(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\n\n return css`\n /* enabled */\n background-color: ${color.default.enabled.bg};\n color: ${color.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${color.default.hovered.bg};\n color: ${color.default.hovered.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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.default.enabled.border},\n focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${color.default.readOnly.bg};\n color: ${color.default.readOnly.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.default.readOnly.border,\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${color.default.disabled.bg};\n color: ${color.default.disabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.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 {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2])\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n ) => CSSObject[])\n | ((props: ThemeProps) => FlattenSimpleInterpolation)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const color = theme.sanity.color.input\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.default.enabled.fg};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n --card-fg-color: ${color.default.hovered.fg};\n }\n }\n\n /* disabled */\n select:disabled + && {\n --card-fg-color: ${color.default.disabled.fg};\n }\n\n /* read-only */\n select[data-read-only] + && {\n --card-fg-color: ${color.default.readOnly.fg};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {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?: number | number[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: number[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\n\n/* Root */\nexport function switchBaseStyles(): FlattenSimpleInterpolation {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): FlattenSimpleInterpolation {\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): FlattenSimpleInterpolation {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.button.default\n\n return css`\n --switch-bg-color: ${color.default.enabled.bg};\n --switch-fg-color: ${color.default.enabled.fg};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${color.positive.enabled.bg};\n --switch-fg-color: ${color.positive.enabled.fg};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${color.default.hovered.bg};\n --switch-fg-color: ${color.default.hovered.fg};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${color.positive.hovered.bg};\n --switch-fg-color: ${color.positive.hovered.fg};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${color.default.disabled.bg};\n --switch-fg-color: ${color.default.disabled.fg};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const {input} = theme.sanity\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps\n): FlattenSimpleInterpolation {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle\n)\n\n/**\n * @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 = 1,\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={useArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: number | number[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 1,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref]\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius]\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ]\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding]\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton]\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ]\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix]\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 7.5px 7.5px;\n }\n\n /* position: absolute;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n &:not([hidden]) {\n display: block;\n }\n transform-origin: 7.5px 7.5px;\n } */\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst Border = styled.path`\n fill: var(--card-shadow-outline-color);\n`\n\nconst Shape = styled.path`\n fill: var(--card-bg-color);\n`\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {TooltipArrow} from './tooltipArrow'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n}\n\nconst Root = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp,\n padding,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 4,\n rootBoundary,\n })\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n })\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {x, y, placement, reference, floating, middlewareData, update, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n }),\n [strategy, x, y]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const [isOpen, setIsOpen] = useState(false)\n const handleBlur = useCallback(() => setIsOpen(false), [])\n const handleFocus = useCallback(() => setIsOpen(true), [])\n const handleMouseEnter = useCallback(() => setIsOpen(true), [])\n const handleMouseLeave = useCallback(() => setIsOpen(false), [])\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n setIsOpen(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) setIsOpen(false)\n }, [disabled])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) setIsOpen(false)\n }, [content])\n\n // Update reference\n useEffect(() => reference(referenceElement), [reference, referenceElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update]\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef]\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root data-ui=\"Tooltip\" {...restProps} ref={setFloating} style={rootStyle} zOffset={zOffset}>\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={2}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {isOpen && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick]\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement, PopoverMargins} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_MARGINS: PopoverMargins = [0, 1, 0, 0]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom', 'top']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_MARGINS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: number | number[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp]\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value]\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query]\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : []\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements]\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange]\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange]\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange]\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus]\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton]\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value]\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ]\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused]\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n __unstable_margins={AUTOCOMPLETE_POPOVER_MARGINS}\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n }\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children]\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {_responsive, ThemeProps} from '../../styles'\nimport {DialogPosition} from '../../types'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const color = theme.sanity.color.base\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: color.shadow.umbra,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {Layer, Portal, useLayer} from '../../utils'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: number | number[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n radius: number | number[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nconst Root = styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle\n)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Card)`\n position: relative;\n z-index: 2;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n bottom: -1px;\n border-bottom: 1px solid var(--card-hairline-soft-color);\n }\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)`\n position: relative;\n z-index: 3;\n border-top: 1px solid var(--card-hairline-soft-color);\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first interactive element in the contents\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [isTopLayer, onClose]\n )\n )\n\n useClickOutside(\n useCallback(() => {\n if (!isTopLayer || !onClickOutside) return\n\n onClickOutside()\n }, [isTopLayer, onClickOutside]),\n [rootElement]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef]\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n padding: paddingProp = 4,\n portal,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n\n const handleFocus = useCallback((event: React.FocusEvent<HTMLDivElement>) => {\n const target = event.target\n const cardElement = cardRef.current\n\n if (!cardElement) {\n return\n }\n\n if (target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n }, [])\n\n const labelId = `${id}_label`\n\n return (\n <Portal __unstable_name={portal}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset]\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n &:not([hidden]) {\n display: block;\n }\n font: inherit;\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElement, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElement, setActiveIndex]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex]\n )\n\n const handleItemMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex]\n )\n\n const handleItemMouseLeave = useCallback(() => {\n rootElement?.focus()\n setActiveIndex(-1)\n }, [rootElement, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\n if (_activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n focusFirst?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n focusLast?: boolean\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemSelect?: (index: number) => void\n originElement?: HTMLElement | null\n registerElement?: (el: HTMLElement) => () => void\n shouldFocus?: 'first' | 'last' | null\n space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\n`\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement]\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside]\n ),\n [rootElement]\n )\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape]\n )\n )\n\n // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ]\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: number | number[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements]\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements]\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ]\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref]\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef]\n )\n\n const popoverProps: PopoverProps = useMemo(() => {\n return {\n boundaryElement: deprecated_boundaryElement,\n placement: deprecated_placement,\n portal: deprecated_portal,\n radius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }\n }, [\n deprecated_boundaryElement,\n deprecated_preventOverflow,\n deprecated_placement,\n popover,\n deprecated_popoverRadius,\n deprecated_portal,\n deprecated_popoverScheme,\n ])\n\n return (\n <Popover {...popoverProps} content={menu} data-ui=\"MenuButton__popover\" open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled, {StyledComponent} from 'styled-components'\nimport {Theme} from '../../theme'\n\n/**\n * @public\n */\nexport const MenuDivider: StyledComponent<'hr', Theme> = styled.hr`\n height: 1px;\n border: 0;\n background: var(--card-hairline-soft-color);\n margin: 0;\n`\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {SelectableTone} from '../../types/selectable'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: SelectableTone\n}\n\nexport function selectableBaseStyle(): FlattenSimpleInterpolation {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$tone, theme} = props\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return css`\n ${_colorVarsStyle(base, 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 ${_colorVarsStyle(base, tone.disabled)}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_colorVarsStyle(base, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_colorVarsStyle(base, tone.disabled)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n &[data-selected] {\n ${_colorVarsStyle(base, tone.selected)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:active {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n }\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle\n)\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {SelectableTone} from '../../types/selectable'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: number | number[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter]\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick]\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) onItemClick()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n data-as={as}\n data-ui=\"MenuGroup\"\n forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Box padding={padding}>\n <Flex>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n <Box flex={1} marginLeft={icon ? space : undefined}>\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n\n <Box marginLeft={space}>\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Box>\n </Flex>\n </Box>\n </Selectable>\n </Popover>\n )\n}\n","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 2,\n hotkeys,\n icon,\n iconRight,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick]\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref]\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={tone}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...paddingProps}>\n <Flex as=\"span\">\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={1}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Box marginLeft={space} style={{marginTop: -4, marginBottom: -4}}>\n <Hotkeys fontSize={fontSize} keys={hotkeys} />\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: var(--card-skeleton-color-from);\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(\n ({$size, $style, theme}: {$size: number[]; $style: ThemeFontKey; theme: Theme}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n }\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n icon,\n id,\n focused,\n fontSize,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus]\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n })\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs]\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ninterface ToastState {\n toasts: {\n dismiss: () => void\n id: string\n params: ToastParams\n }[]\n}\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, setState] = useState<ToastState>({toasts: []})\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState) => {\n const idx = prevState.toasts.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.toasts.slice(0)\n\n toasts.splice(idx, 1)\n\n return {...prevState, toasts}\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState) => {\n return {\n ...prevState,\n toasts: prevState.toasts\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ]),\n }\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n []\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.toasts.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ): React.ReactElement {\n const {children, space = 1, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n []\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements]\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]')\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n })\n)\n\nTree.displayName = 'Tree'\n","import {css, FlattenSimpleInterpolation} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\n\nexport function treeItemRootStyle(): FlattenSimpleInterpolation {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): FlattenSimpleInterpolation {\n const {theme} = props\n const $tone = 'default'\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return css`\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n &[role='none'] {\n & > [role='treeitem'] {\n ${_colorVarsStyle(base, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n & > [role='treeitem']:focus {\n ${_colorVarsStyle(base, tone.selected)}\n }\n }\n }\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.enabled)}\n\n background-color: var(--card-bg-color);\n color: var(--card-fg-color);\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_colorVarsStyle(base, tone.hovered)}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_colorVarsStyle(base, tone.selected)}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps\n): FlattenSimpleInterpolation {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, Flex, Text} from '../../primitives'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem__box' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused]\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","Error","length","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","JSON","stringify","useMemo","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","concat","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","arguments","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","r","clamp","g","num","max","min","screenChannel","screen","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbToHex","rgbToHsl","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgba","a","rgb","createButtonTones","opts","dark","solid","muted","mode","default","button","primary","positive","caution","critical","createButtonModes","ghost","bleed","createCardStates","enabled","card","state","disabled","hovered","pressed","selected","black","white","colors","lightest","lighter","light","darker","darkest","transparent","spots","gray","red","orange","yellow","green","cyan","blue","purple","magenta","tones","bg","fg","focusRing","defaultOpts","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","tone","bg2","accent","link","code","input","placeholder","selectable","spot","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","createInputModes","readOnly","invalid","createMutedTones","createSelectableTones","_createSelectableStates","createSolidTones","createSpot","createColorTheme","partialOpts","builders","_createColorScheme","_createColor","_multiply","_screen","hues","NEUTRAL_TONES","tints","skeletonFrom","mix","mix2","defaultTints","isNeutral","mainShade","secondaryShade","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","textWeight","container","offset","radius","shadows","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ThemeProvider","parentTheme","useContext","children","scheme","themeProp","rootColor","layer","rootLayer","restTheme","colorScheme","version","jsx","Provider","StyledThemeProvider","isRecord","useRootTheme","ThemeColorProvider","root","useTheme","useStyledTheme","MEDIA_MANAGER_CACHE","_getMediaQuery","_createMediaManager","mediaLen","mediaQuery","mq","matchMedia","getCurrentIndex","matches","disposeFns","handleChange","addListener","removeListener","disposeFn","_getMediaManager","manager","useMediaIndex","setIndex","usePrefersDark","setDark","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","BORDER_VALUE","responsiveBorderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","GRID_CSS","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","styles","responsiveInputPaddingIconRightStyle","ROOT_STYLE","css","textInputRootStyle","textInputBaseStyle","$scheme","$tone","font","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","radiusIndex","borderRadius","toBoxShadow","shadowStyle","boxShadow","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","Root","styled","div","SpanWithTextOverflow","span","Text","forwardRef","childrenProp","textOverflow","weight","restProps","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","zIndex","opacity","transition","$color","backgroundColor","userSelect","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeSasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","Avatar","as","asProp","colorKey","src","title","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","jsxs","viewBox","d","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","labelBaseStyle","Label","badgeStyle","$mode","palette","cursor","Badge","Flex","forwardedAs","rotate","keyframes","Spinner","SpinnerIcon","_colorVarsStyle","checkered","_c","_d","_e","_f","_g","_h","buttonBaseStyles","buttonTheme","buttonColorStyles","LoadingBox","Button","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","spaceProp","boxProps","isValidElement","createElement","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","Card","__unstable_checkered","__unstable_focusRing","toneProp","rootTheme","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","verticalAlign","inlineSpaceStyle","Inline","kbdStyle","kbd","KBD","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","LayerContext","useLayer","LayerProvider","zOffsetProp","maxMediaIndex","registerChild","v","parentRegisterChild","isTopLayer","LayerChildren","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","item","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_MARGINS","args","placement","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","constrainSize","setAvailableWidth","setAvailableHeight","matchReferenceWidth","setReferenceWidth","reset","BorderPath","path","ShapePath","PopoverArrow","xmlns","popoverCardStyle","$boundaryWidth","memo","PopoverCard","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","availableHeight","availableWidth","boundaryWidth","referenceWidth","referenceWidthProp","strategy","xProp","yProp","margins","rootStyle","staticSide","split","arrowStyle","displayName","Popover","boundaryElementContext","arrowProp","childProp","fallbackPlacements","matchReferenceWidthProp","open","placementProp","preventOverflow","referenceElement","shadowProp","widthProp","boundarySize","middleware","flip","mainAxis","shift","hide","middlewareData","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","select","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","Border","Shape","TooltipArrow","Tooltip","fallbackPlacementsProp","setReferenceElement","update","isOpen","setIsOpen","handleBlur","handleFocus","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onFocus","onMouseEnter","onMouseLeave","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","setTimeout","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_MARGINS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","dialogStyle","background","responsiveDialogPositionStyle","$position","DialogContext","useDialog","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","rootElement","setRootElement","localContentRef","labelId","showCloseButton","showHeader","setContentRef","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","cardElement","DialogProvider","contextValue","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","skeletonStyle","$visible","$animated","Skeleton","animated","delay","visible","setVisible","clearTimeout","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","Tab","elementRef","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","ToastContext","ToastContainer","toastId","ToastProvider","setState","toasts","toastsRef","params","duration","dismiss","timeoutId","prevState","findIndex","t","AnimatePresence","initial","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","setFocusedElement","focusedElementRef","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","level","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":"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"}