@sanity/ui 2.0.0-alpha.7 → 2.0.0-alpha.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.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/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/studioTheme/helpers.ts","../src/theme/lib/theme/color/cssVariables/tints.ts","../src/theme/lib/theme/color/cssVariables/tones.ts","../src/theme/lib/theme/color/cssVariables/cardVariables.ts","../src/theme/lib/theme/color/cssVariables/createCssVars.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/theme/lib/theme/color/cssVariables/utils.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/toneContext/toneContext.ts","../src/theme/toneContext/toneProvider.tsx","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/usePrefersReducedMotion.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/theme/toneContext/useToneContext.tsx","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/spotColors.ts","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/getLayerContext.ts","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/constants.ts","../src/primitives/popover/floating-ui/size.ts","../src/primitives/popover/helpers.ts","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/hooks/useDelayedState.ts","../src/primitives/tooltip/constants.ts","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/constants.ts","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/hooks/useMounted.ts","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\n/**\n * @internal\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","import {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\nimport {CSSObject} from '../types/styled'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex])),\n )\n}\n","import {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('code', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[],\n): T[] {\n // JSON.stringify is fast, but it's not faster than useMemo's referencial equality check\n const __perf_hash__ = useMemo(() => JSON.stringify(val ?? defaultVal), [defaultVal, val])\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__],\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>,\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null,\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\nimport {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB, RGBA} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB, RGBA} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB, RGBA} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbaToRGBA(rgba: string): RGBA {\n const values = rgba.replace(/rgba\\(|\\)/g, '').split(',')\n\n return {\n r: parseInt(values[0]),\n g: parseInt(values[1]),\n b: parseInt(values[2]),\n a: parseFloat(values[3]),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'\nimport {HSL, RGB, RGBA} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB | RGBA {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n if (color.startsWith('rgba(')) {\n return rgbaToRGBA(color)\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {\n parseColor,\n rgbToHex,\n screen as _screen,\n multiply as _multiply,\n rgba,\n} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n","/**\n * This file creates a translation between the tints and the studio colors\n * Providing readable names, and allowing to mix colors and tints in the same ThemeColor.\n * e.g. for positive theme: `{\"bg_base\": \"white\", \"\"bg-base-hover\"\": \"gray/50\", \"\"bg-base-active\"\": \"cyan/50\"}\n * This is not possible in the previous configuration, as each ThemeColor uses only one tint.\n */\nimport {ColorTintKey, ColorTints, ColorTint, black, hues, white} from '@sanity/color'\nimport {rgba} from '../../../color-fns'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\n\nexport const colorKeys = [\n 'text-primary',\n 'text-secondary',\n 'text-inactive',\n // TODO: Can this be replaced by other of the text colors? It's used by the code html element if it's inside a text\n 'text-code',\n 'text-muted',\n 'text-link',\n 'text-accent',\n 'bg-base',\n 'bg-base-hover',\n 'bg-base-active',\n 'bg-accent',\n 'bg-accent-hover',\n 'bg-accent-active',\n 'bg-tint',\n // TODO: Can we replace this with bg_tint? It's used by the code html element if it's inside a text\n 'bg-tint-code',\n\n 'icon-default',\n 'icon-inverted',\n 'border-base',\n 'border-base-hover',\n 'border-accent',\n 'border-accent-inverted',\n\n // Colors starting with -base won't be affected by the mix function\n 'base-bg-card', // This is used by the card when a tone is defined, it will also override the bg-base in the rest of the components.\n 'base-bg-raw', // This is the same color as bg-base, but it won't be overridden by the card bg color, used in selectable items.\n\n 'base-shadow-outline-color',\n 'base-shadow-umbra-color',\n 'base-shadow-penumbra-color',\n 'base-shadow-ambient-color',\n 'base-text-color', // Color used by the buttons for default mode text\n\n 'skeleton-from',\n 'skeleton-to',\n] as const\n\nexport type ColorKey = (typeof colorKeys)[number]\n\ntype ColorWithOpacity = {\n type: 'colorWithOpacity'\n tint: ColorTintKey\n /**\n * Number between 0 and 1\n */\n opacity: number\n}\n\ntype DefaultColor = {\n type: 'colorTint'\n value: ColorTint\n}\n\ntype ColorTintsDictionary = Record<ColorKey, ColorTintKey | DefaultColor | ColorWithOpacity>\nconst defaultTints: Record<ThemeColorSchemeKey, ColorTintsDictionary> = {\n light: {\n 'text-primary': '900',\n 'text-secondary': '600',\n 'text-inactive': '500',\n 'text-code': '600',\n 'text-muted': '600',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['600'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['500'],\n },\n 'bg-base': {\n type: 'colorTint',\n value: white,\n },\n 'bg-base-hover': '50',\n 'bg-base-active': '100',\n 'bg-accent': '500',\n 'bg-accent-hover': '600',\n 'bg-accent-active': '700',\n 'bg-tint': '50',\n 'bg-tint-code': '50',\n 'icon-default': '500',\n 'icon-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'border-base': '100',\n 'border-base-hover': '200',\n 'border-accent': '500',\n 'border-accent-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'base-bg-card': '50',\n 'base-bg-raw': {\n type: 'colorTint',\n value: white,\n },\n 'base-text-color': {type: 'colorTint', value: white},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.2,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.1,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.07,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.06,\n },\n 'skeleton-from': '100',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n dark: {\n 'text-primary': '50',\n 'text-secondary': '300',\n 'text-inactive': '400',\n 'text-code': '400',\n 'text-muted': '400',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['400'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['400'],\n },\n 'bg-base': {type: 'colorTint', value: black},\n 'bg-base-hover': '900',\n 'bg-base-active': '800',\n 'bg-accent': '500',\n 'bg-accent-hover': '400',\n 'bg-accent-active': '300',\n 'bg-tint': '900',\n 'bg-tint-code': '950',\n 'icon-default': '300',\n 'icon-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'border-base': '800',\n 'border-base-hover': '700',\n 'border-accent': '300',\n 'border-accent-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'base-bg-card': '950',\n 'base-text-color': {type: 'colorTint', value: black},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.4,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.24,\n },\n 'base-bg-raw': {\n type: 'colorTint',\n value: black,\n },\n 'skeleton-from': '900',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n}\n\nexport const colorTints: Record<\n ThemeColorSchemeKey,\n Record<ThemeColorName, ColorTintsDictionary>\n> = {\n light: {\n default: {\n ...defaultTints.light,\n 'base-bg-card': {type: 'colorTint', value: white},\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n primary: {\n ...defaultTints.light,\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n positive: {\n ...defaultTints.light,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[50]},\n 'bg-base-active': '50',\n 'bg-accent': '400',\n 'bg-accent-hover': '500',\n 'bg-accent-active': '600',\n 'border-accent': '400',\n },\n transparent: defaultTints.light,\n caution: defaultTints.light,\n critical: {...defaultTints.light, 'text-inactive': '300'},\n },\n dark: {\n default: {\n ...defaultTints.dark,\n 'base-bg-card': {type: 'colorTint', value: black},\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.24,\n },\n },\n primary: {\n ...defaultTints.dark,\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n },\n positive: {\n ...defaultTints.dark,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[900]},\n 'bg-base-active': '900',\n 'bg-accent': '400',\n 'bg-accent-hover': '300',\n 'bg-accent-active': '200',\n 'border-accent': '400',\n },\n transparent: defaultTints.dark,\n caution: defaultTints.dark,\n critical: {...defaultTints.dark, 'text-inactive': '700'},\n },\n}\n\nexport const getColorValue = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): ColorTint => {\n const value = colorTints[scheme][tone][key]\n\n if (typeof value === 'string') {\n return tints[value]\n }\n\n if (value.type === 'colorWithOpacity') {\n const base = tints[value.tint]\n\n return {\n hex: rgba(base.hex, value.opacity),\n title: `${base.title} ${Math.round(value.opacity * 100)}%`,\n }\n }\n\n return value.value\n}\n\nexport const getColorHex = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): string => {\n return getColorValue(tints, scheme, tone, key).hex\n}\n","import {ColorTints} from '@sanity/color'\nimport {multiply, screen} from '../../../../studioTheme/helpers'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {ColorKey, colorKeys, getColorHex} from './tints'\n\nexport const getToneCssVar = (tone: ThemeColorName, key: ColorKey): string => `--${tone}-${key}`\n\nexport const createTonesVariables = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n baseBg: string,\n): Record<string, string> => {\n const tonesVariables: Record<string, string> = {}\n const keys = Object.keys(tones) as ThemeColorName[]\n const mix = scheme === 'dark' ? screen : multiply\n const needsMixing = defaultTone !== 'default'\n\n keys.forEach((_tone: ThemeColorName) => {\n const tone = _tone == 'default' ? defaultTone : _tone\n const tint = tones[tone]\n\n colorKeys.forEach((key) => {\n const colorHex = getColorHex(tint, scheme, tone, key)\n const varName = getToneCssVar(_tone, key)\n const willBeMixed = needsMixing && !key.startsWith('base-')\n\n tonesVariables[varName] = willBeMixed ? mix(baseBg, colorHex) : colorHex\n })\n })\n\n // If we are changing the default tone, we need to update the bg-base to match with the new base bg color.\n // As components are using this bg-base for the background color, and it needs to match with the card bg color.\n if (defaultTone !== 'default') {\n tonesVariables[getToneCssVar('default', 'bg-base')] = tonesCssVariables.default['base-bg-card']\n }\n\n return tonesVariables\n}\n\nconst themeNames: ThemeColorName[] = [\n 'default',\n 'transparent',\n 'primary',\n 'positive',\n 'caution',\n 'critical',\n]\n\nexport const tonesCssVariables: Record<\n ThemeColorName,\n Record<ColorKey, string>\n> = themeNames.reduce(\n (acc, tone) => {\n acc[tone] = colorKeys.reduce(\n (acc, key) => {\n acc[key] = `var(${getToneCssVar(tone, key)})`\n\n return acc\n },\n {} as Record<ColorKey, string>,\n )\n\n return acc\n },\n {} as Record<ThemeColorName, Record<ColorKey, string>>,\n)\n","import {tonesCssVariables} from './tones'\n\n/**\n * @internal\n * This variables can be changed by other components besides the `Card` component itself.\n */\nexport const mutableCardVariables = {\n 'bg-color': '--card-bg-color',\n 'muted-fg-color': '--card-muted-fg-color',\n 'icon-color': '--card-icon-color',\n 'fg-color': '--card-fg-color',\n 'bg-image': '--card-bg-image',\n 'accent-color': '--card-accent-fg-color',\n} as const\n\n/**\n * @internal\n * This are the only variables that are exposed, as they can be updated and used by other components.\n */\nexport const mutableVariables: Record<keyof typeof mutableCardVariables, string> = Object.keys(\n mutableCardVariables,\n).reduce(\n (acc, key) => {\n const item = key as keyof typeof mutableCardVariables\n\n acc[item] = `var(${mutableCardVariables[item]})`\n\n return acc\n },\n {} as Record<keyof typeof mutableCardVariables, string>,\n)\n\n/**\n * @internal\n * This variables can not be changed by other components, they are here for backwards compatibility.\n * Shouldn't be used inside any component in @sanity/ui\n */\nconst legacyFixedVariables = [\n '--card-shadow-outline-color',\n '--card-shadow-umbra-color',\n '--card-shadow-penumbra-color',\n '--card-shadow-ambient-color',\n '--card-focus-ring-color',\n '--card-link-fg-color',\n '--card-code-bg-color',\n '--card-code-fg-color',\n '--card-skeleton-color-from',\n '--card-skeleton-color-to',\n '--card-link-color',\n '--card-hairline-soft-color',\n '--card-hairline-hard-color',\n '--card-bg2-color',\n] as const\n\nconst allVariables = [...Object.values(mutableCardVariables), ...legacyFixedVariables] as const\n\ntype CardCssVariable = (typeof allVariables)[number]\n\n/**\n * @internal\n */\nexport const cardVariables: Record<CardCssVariable, string> = {\n '--card-shadow-outline-color': tonesCssVariables.default['base-shadow-outline-color'],\n '--card-shadow-umbra-color': tonesCssVariables.default['base-shadow-umbra-color'],\n '--card-shadow-penumbra-color': tonesCssVariables.default['base-shadow-penumbra-color'],\n '--card-shadow-ambient-color': tonesCssVariables.default['base-shadow-ambient-color'],\n '--card-focus-ring-color': tonesCssVariables.positive['bg-accent'],\n '--card-icon-color': tonesCssVariables.default['icon-default'],\n '--card-bg-image': 'inherit',\n\n // Card\n '--card-bg-color': tonesCssVariables.default['bg-base'],\n\n '--card-fg-color': tonesCssVariables.default['text-primary'],\n\n '--card-muted-fg-color': tonesCssVariables.default['text-secondary'],\n '--card-accent-fg-color': tonesCssVariables.default['text-accent'],\n '--card-link-fg-color': tonesCssVariables.default['text-link'],\n '--card-code-bg-color': tonesCssVariables.default['bg-tint-code'],\n '--card-code-fg-color': tonesCssVariables.default['text-code'],\n\n '--card-skeleton-color-from': tonesCssVariables.default['skeleton-from'],\n '--card-skeleton-color-to': tonesCssVariables.default['skeleton-to'],\n\n // @todo: deprecate\n '--card-link-color': tonesCssVariables.default['text-link'],\n '--card-hairline-soft-color': tonesCssVariables.default['border-base'],\n '--card-hairline-hard-color': tonesCssVariables.default['border-base'],\n\n // Card\n '--card-bg2-color': tonesCssVariables.default['bg-tint'],\n}\n","import {ColorTints} from '@sanity/color'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {cardVariables, mutableVariables} from './cardVariables'\nimport {getColorHex} from './tints'\nimport {createTonesVariables, tonesCssVariables} from './tones'\n\n/**\n * @beta\n */\nexport const createCssVars = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n): Record<string, string> => {\n const baseBg = getColorHex(tones[defaultTone], scheme, defaultTone, 'base-bg-card')\n const tonesVars = createTonesVariables(scheme, tones, defaultTone, baseBg)\n\n return {...tonesVars, ...cardVariables}\n}\n\n/**\n * @beta\n */\nexport const cssVars = {\n ...tonesCssVariables,\n /**\n * This variables are mutable, they can be updated by other components.\n * The main component that updates them is the card, these are the only ones that should be exposed for use from the cards.\n */\n mutable: mutableVariables,\n}\n","import {ColorTints, hues} from '@sanity/color'\nimport {ThemeColorName} from '../lib/theme'\n\nexport const tones: Record<ThemeColorName, ColorTints> = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.gray,\n positive: hues.cyan,\n caution: hues.yellow,\n critical: hues.red,\n} as const\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {tones} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n focusRing: {offset: -1, width: 2},\n },\n card: {\n focusRing: {offset: -1, width: 1},\n },\n color: {\n tones: tones,\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This is necessary until workshop is updated.\n base: {bg: '#fffff'},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 21,\n height: 13,\n padding: 2,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n border: {\n width: 1,\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","/**\n * @internal\n * Transform css variables object to a style declaration type string\n */\nexport function cssObjectToCssString(rules: Record<string, string>): string {\n return Object.keys(rules).reduce((acc, key) => {\n return `${acc}${key}: ${rules[key]}; `\n }, '')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToneContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toneContext')\n\nglobalScope[key] = globalScope[key] || createContext<ToneContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ToneContext: React.Context<ToneContextValue | null> = globalScope[key]\n","import {useMemo} from 'react'\nimport {ThemeColorName, ThemeColorSchemeKey, useRootTheme} from '..'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ToneProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ToneProvider(props: ToneProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n const value: ToneContextValue = useMemo(\n () => ({\n version: 0.0,\n scheme: scheme || root.scheme,\n tone,\n }),\n [root.scheme, scheme, tone],\n )\n\n return <ToneContext.Provider value={value}>{children}</ToneContext.Provider>\n}\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider, createGlobalStyle} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {createCssVars} from './lib/theme/color/cssVariables'\nimport {cssObjectToCssString} from './lib/theme/color/cssVariables/utils'\nimport {ThemeContext} from './themeContext'\nimport {ToneProvider} from './toneContext/toneProvider'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\nconst GlobalVariables = createGlobalStyle<{$vars?: string}>`\n :root {\n ${({$vars}) => $vars}\n }\n`\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {layer: rootLayer, ...restTheme} = themeProp\n\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, layer}}\n }, [themeProp])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone],\n )\n\n const cssVariables = useMemo(() => {\n if (!themeProp?.color.tones) return\n\n return cssObjectToCssString(createCssVars(scheme, themeProp?.color.tones))\n }, [scheme, themeProp?.color.tones])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <GlobalVariables $vars={cssVariables} />\n <StyledThemeProvider theme={theme}>\n <ToneProvider tone={tone} scheme={scheme}>\n {children}\n </ToneProvider>\n </StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n * @deprecated\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n * @deprecated Use `toneContext` instead.\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","import {useSyncExternalStore} from 'react'\nimport {useTheme} from '../../theme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\nconst MEDIA_STORE_CACHE = new WeakMap<number[], _MediaStore>()\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(media: number[]): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const theme = useTheme()\n const {media} = theme.sanity\n\n let store = MEDIA_STORE_CACHE.get(media)\n\n if (!store) {\n store = _createMediaStore(media)\n MEDIA_STORE_CACHE.set(media, store)\n }\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-color-scheme: dark)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return false\n}\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-reduced-motion: reduce)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return false\n}\n\n/**\n * Returns true if motion should be reduced\n * @public\n */\nexport function usePrefersReducedMotion(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToneContext(): ToneContextValue {\n const value: unknown = useContext(ToneContext)\n\n if (!value) {\n throw new Error('useToneContext(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToneContext(): the context value is not compatible')\n }\n\n return value as any as ToneContextValue\n}\n","import {cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = `1px solid ${cssVars.default['border-base']}`\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {EMPTY_ARRAY} from '../../constants'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","import {FocusRing, cssVars} from '../../theme'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: FocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : cssVars.mutable['bg-color']\n\n return [\n focusRingInsetWidth > 0 &&\n `inset 0 0 0 ${focusRingInsetWidth}px ${cssVars.positive['border-accent']}`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 &&\n `0 0 0 ${focusRingOutsetWidth}px ${cssVars.positive['border-accent']}`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $tone: ThemeColorToneKey\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $tone: ThemeColorToneKey\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.family};\n font-weight: ${($weight && font.weights[$weight]) || font.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${cssVars.critical['text-primary']};\n --input-placeholder-color: ${cssVars.critical['text-inactive']};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $tone, theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.text\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: ${cssVars.mutable['bg-color']};\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n ${mutableCardVariables['bg-color']}: ${cssVars[$tone]['bg-base']};\n ${mutableCardVariables['fg-color']}: ${cssVars[$tone]['text-primary']};\n\n /* enabled */\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars[$tone]['border-base'],\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.critical['bg-tint']};\n ${mutableCardVariables['fg-color']}: ${cssVars.critical['text-primary']};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.critical['border-base'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${focusRingStyle({\n border: {color: cssVars[$tone]['border-base'], width: input.border.width},\n focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${focusRingStyle({focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* readOnly */\n *:read-only + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow, cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} ${cssVars.default['base-shadow-outline-color']}`\n const umbra = toBoxShadow(shadow.umbra, cssVars.default['base-shadow-umbra-color'])\n const penumbra = toBoxShadow(shadow.penumbra, cssVars.default['base-shadow-penumbra-color'])\n const ambient = toBoxShadow(shadow.ambient, cssVars.default['base-shadow-ambient-color'])\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\n\n return css`\n color: ${cssVars.mutable['fg-color']};\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n background-color: ${cssVars.default['bg-tint-code']};\n color: ${cssVars.default['text-code']};\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: ${cssVars.mutable['icon-color']};\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {\n gray,\n blue,\n purple,\n magenta,\n red,\n orange,\n yellow,\n green,\n cyan,\n ColorTint,\n} from '@sanity/color'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {ThemeColorSpotKey} from './types'\n\nexport const spotColor: Record<ThemeColorSpotKey, Record<ThemeColorSchemeKey, ColorTint>> = {\n gray: {\n dark: gray['400'],\n light: gray['500'],\n },\n blue: {\n dark: blue['400'],\n light: blue['500'],\n },\n purple: {\n dark: purple['400'],\n light: purple['500'],\n },\n magenta: {\n dark: magenta['400'],\n light: magenta['500'],\n },\n red: {\n dark: red['400'],\n light: red['500'],\n },\n orange: {\n dark: orange['400'],\n light: orange['500'],\n },\n yellow: {\n dark: yellow['400'],\n light: yellow['500'],\n },\n green: {\n dark: green['400'],\n light: green['500'],\n },\n cyan: {\n dark: cyan['400'],\n light: cyan['500'],\n },\n}\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n position: 'absolute',\n boxSizing: 'border-box',\n zIndex: 0,\n opacity: 0,\n transition: 'all 0.2s linear',\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n\n '& > svg': {\n width: '11px',\n height: '7px',\n position: 'absolute',\n top: '-5px',\n left: '50%',\n transform: 'translateX(-6px)',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: 0,\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: 1,\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: 1,\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nexport function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color, theme} = props\n const {focusRing} = theme.sanity.avatar\n\n return {\n backgroundColor: $color,\n position: 'relative',\n boxSizing: 'border-box',\n userSelect: 'none',\n boxShadow: `0 0 0 1px ${cssVars.mutable['bg-color']}`,\n\n '&[data-status=\"inactive\"]': {\n opacity: 0.5,\n },\n\n '&>svg': {\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n margin: 0,\n padding: 0,\n border: 0,\n font: 'inherit',\n color: 'inherit',\n outline: 'none',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:focus': {\n boxShadow: focusRingStyle({focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(): CSSObject {\n return {\n width: '100%',\n height: '100%',\n color: cssVars.default['text-primary'],\n alignItems: 'center',\n justifyContent: 'center',\n textTransform: 'uppercase',\n textAlign: 'center',\n borderRadius: '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: cssVars.mutable['bg-color'],\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n strokeWidth: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {useTheme} from '../../theme'\n\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {spotColor} from './spotColors'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\nimport {ThemeColorSpotKey} from './types'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\nconst Root = styled.div<{$color: string; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const {scheme} = useToneContext()\n\n const color = spotColor[colorKey][scheme].hex\n\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {theme} = props\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: ${cssVars.mutable['fg-color']};\n background: ${cssVars.mutable['bg-color']};\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n inset 0 0 0 1.5px ${cssVars.default['border-base']});\n padding: 0 ${rem(theme.sanity.space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode,\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string',\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string',\n ) as React.ReactElement[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n forwardedAs?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$mode, $tone} = props\n\n return {\n backgroundColor: $mode === 'outline' ? cssVars[$tone]['bg-base'] : cssVars[$tone]['bg-tint'],\n [mutableCardVariables['fg-color']]: cssVars[$tone]['text-secondary'],\n boxShadow: $mode === 'outline' ? `inset 0 0 0 1px ${cssVars[$tone]['border-base']}` : undefined,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {\n children,\n fontSize,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n // @ts-expect-error -- some dollar prefixed typings aren't inferred correctly https://github.com/styled-components/styled-components/issues/4062\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {ButtonMode, ButtonTone} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): ReturnType<typeof css> {\n return css`\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nconst buttonTheme = {border: {width: 1}}\nconst defaultBoxShadow = '0px 2px 0px 0px rgba(112, 128, 155, 0.19);'\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode, theme, $tone} = props\n const {focusRing} = theme.sanity.button\n const shadow = props.$mode !== 'bleed'\n const border = {\n width: buttonTheme.border.width,\n color:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent']\n : $mode === 'ghost'\n ? cssVars[$tone]['border-base']\n : cssVars[$tone]['bg-base'],\n }\n\n return [\n {\n // This is going to be used by the text elements inside the button\n [mutableCardVariables['fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n [mutableCardVariables['muted-fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-secondary'],\n [mutableCardVariables['icon-color']]:\n $mode === 'default' ? cssVars[$tone]['icon-inverted'] : cssVars[$tone]['icon-default'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n\n // Override the default variables for elements used inside buttons\n [getToneCssVar('default', 'bg-tint-code')]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-tint-code'],\n ...($mode === 'default' && {\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-link')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-accent')]: cssVars[$tone]['base-text-color'],\n }),\n\n '&:disabled, &[data-disabled=\"true\"]': {\n /* Updates the variables for the */\n [mutableCardVariables['fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n },\n },\n {\n backgroundColor:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n color:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': {\n backgroundColor:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n color: cssVars.primary['text-inactive'],\n boxShadow: focusRingBorderStyle({\n ...border,\n color: $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.primary['border-base'],\n }),\n },\n \"&:not([data-disabled='true'])\": {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: {bg: cssVars.positive['border-accent']},\n border: {width: 2, color: cssVars.default['bg-base']},\n focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n '&:active': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n '&[data-hovered]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n },\n '&[data-selected]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars, useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n muted?: boolean\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${cssVars.mutable['bg-color']};\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as'>,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n children,\n disabled,\n fontSize = 1,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n muted = false,\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={space}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={iconRight ? 1 : undefined}>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {ThemeColorToneKey, cssVars} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n * Card overrides in disabled states\n */\nexport function _colorVarStyleDisabled(checkered = false): CSSObject {\n return {\n [getToneCssVar('default', 'text-link')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-accent')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-code')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-primary')]: cssVars.default['text-secondary'],\n\n [mutableCardVariables['fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['accent-color']]: cssVars.primary['base-bg-card'],\n [mutableCardVariables['bg-color']]: cssVars.primary['bg-tint'],\n [mutableCardVariables['bg-image']]: checkered\n ? `repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`\n : undefined,\n }\n}\n\n/**\n * @internal\n * Card overrides in selected states\n */\nexport function _colorVarStyleSelected(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-accent'],\n [mutableCardVariables['fg-color']]: cssVars.default['bg-base'],\n [mutableCardVariables['muted-fg-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['accent-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['icon-color']]: cssVars.primary['bg-base'],\n }\n}\n\n/**\n * @internal\n * Card overrides in hover\n */\nexport function _colorVarStyleHover(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-hover'],\n [getToneCssVar('default', 'bg-tint')]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Card overrides in active / pressed states\n */\nexport function _colorVarStyleActive(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Selectable needs to redefine bg-color and fg-color\n */\nexport function _selectableVarStyle(tone: ThemeColorToneKey): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: 'inherit',\n [mutableCardVariables['fg-color']]:\n tone === 'default' ? cssVars.default['text-primary'] : cssVars.default['text-secondary'],\n }\n}\n\n/**\n * @internal\n * Selectable overrides in disabled states, same as card but with different bg-color\n */\nexport function _selectableVarStyleDisabled(): CSSObject {\n return {\n ..._colorVarStyleDisabled(),\n [mutableCardVariables['bg-color']]: undefined,\n }\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleDisabled,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {createCssVars, cssVars} from '../../theme/lib/theme/color/cssVariables'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: ${cssVars.mutable['bg-image']};\n `}\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, theme, $tone, $scheme, $updateCssVars} = props\n const {focusRing} = theme.sanity.card\n\n const border = {width: 0, color: cssVars.positive['border-accent']}\n\n return css`\n /* A new css vars context is created, allowing for override of the default tone and changing the scheme */\n ${$updateCssVars && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n color-scheme: ${$scheme === 'dark' ? 'dark' : 'light'};\n ${$checkered &&\n `--card-bg-image: repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.default['text-primary']};\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../../theme'\nimport {ToneProvider} from '../../theme/toneContext/toneProvider'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /**\n * @internal\n * Used by the popover, as it creates a new html element that it's ouside of the previous scope of the card.\n * So if it's inheriting styles from the parent, it needs to create a new cars context\n */\n updateCssVars?: boolean\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nconst Wrapper = ({\n shouldAddContext,\n scheme,\n tone,\n children,\n}: {\n shouldAddContext: boolean\n scheme: ThemeColorSchemeKey\n tone: ThemeColorName\n children: React.ReactElement\n}): React.ReactElement => {\n // Avoid creating a new react context if the card is just inheriting styles from the parent.\n if (shouldAddContext) {\n return (\n <ToneProvider scheme={scheme} tone={tone}>\n {children}\n </ToneProvider>\n )\n }\n\n return children\n}\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme: schemeProp,\n selected,\n shadow,\n tone: toneProp = 'default',\n updateCssVars = false,\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const toneContext = useToneContext()\n const tone = toneProp === 'inherit' ? toneContext.tone : toneProp\n const scheme = schemeProp ?? toneContext.scheme\n const shouldAddContext = scheme !== toneContext.scheme || tone !== toneContext.tone\n\n return (\n <Wrapper shouldAddContext={shouldAddContext} scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={scheme}\n data-ui=\"Card\"\n data-tone={tone}\n $scheme={scheme ?? toneContext.scheme}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n $updateCssVars={updateCssVars || shouldAddContext}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </Wrapper>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input, radius} = theme.sanity\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${cssVars.default['bg-base']};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.2 !important;\n }\n }\n }\n &:checked + span {\n background: ${cssVars.default['text-secondary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['text-secondary'],\n width: input.border.width,\n })};\n color: ${cssVars.default['bg-base']};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &[data-error]&:checked + span {\n background-color: ${cssVars.critical['text-secondary']};\n color: ${cssVars.default['bg-base']};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.critical['text-secondary']},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &:disabled&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &[data-read-only] + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {purple, green, yellow, orange, cyan, gray, red, blue, magenta} from '@sanity/color'\nimport {css} from 'styled-components'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nfunction codeSyntaxHighlightingStyle(scheme: ThemeColorSchemeKey) {\n const dark = scheme === 'dark'\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n '&.atrule': {color: purple[mainShade].hex},\n '&.attr-name': {color: green[mainShade].hex},\n '&.attr-value': {color: yellow[mainShade].hex},\n '&.attribute': {color: yellow[mainShade].hex},\n '&.boolean': {color: purple[mainShade].hex},\n '&.builtin': {color: purple[mainShade].hex},\n '&.cdata': {color: yellow[mainShade].hex},\n '&.char': {color: yellow[mainShade].hex},\n '&.class': {color: orange[mainShade].hex},\n '&.class-name': {color: cyan[mainShade].hex},\n '&.comment': {color: gray[secondaryShade].hex},\n '&.constant': {color: purple[mainShade].hex},\n '&.deleted': {color: red[mainShade].hex},\n '&.doctype': {color: gray[secondaryShade].hex},\n '&.entity': {color: red[mainShade].hex},\n '&.function': {color: green[mainShade].hex},\n '&.hexcode': {color: blue[mainShade].hex},\n '&.id': {color: purple[mainShade].hex},\n '&.important': {color: purple[mainShade].hex},\n '&.inserted': {color: yellow[mainShade].hex},\n '&.keyword': {color: magenta[mainShade].hex},\n '&.number': {color: purple[mainShade].hex},\n '&.operator': {color: magenta[mainShade].hex},\n '&.prolog': {color: gray[secondaryShade].hex},\n '&.property': {color: blue[mainShade].hex},\n '&.pseudo-class': {color: yellow[mainShade].hex},\n '&.pseudo-element': {color: yellow[mainShade].hex},\n '&.punctuation': {color: gray[mainShade].hex},\n '&.regex': {color: blue[mainShade].hex},\n '&.selector': {color: red[mainShade].hex},\n '&.string': {color: yellow[mainShade].hex},\n '&.symbol': {color: purple[mainShade].hex},\n '&.tag': {color: red[mainShade].hex},\n '&.unit': {color: orange[mainShade].hex},\n '&.url': {color: red[mainShade].hex},\n '&.variable': {color: red[mainShade].hex},\n }\n}\n\nexport interface CodeBaseStyleProps {\n $scheme: ThemeColorSchemeKey\n}\n\nexport function codeBaseStyle(props: CodeBaseStyleProps): ReturnType<typeof css> {\n return css`\n color: ${cssVars.default['text-code']};\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle(props.$scheme)}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {codeBaseStyle, CodeBaseStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<CodeBaseStyleProps & ResponsiveFontStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n const {scheme} = useToneContext()\n\n return (\n <Root\n data-ui=\"Code\"\n {...restProps}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n $scheme={scheme}\n >\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n\n return css`\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp],\n )\n\n return (\n <Root\n data-ui=\"Inline\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n >\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars} from '../../theme'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\nfunction kbdStyle() {\n return css`\n background: ${cssVars.default['bg-tint']};\n font: inherit;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" muted size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Box>\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef],\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {Context, createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n\n/**\n * @internal\n */\nexport function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {\n return element.contains(node) || element === node\n}\n","import {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = useArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {FocusEvent, forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst Root = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, onActivate, onFocus, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const forwardedRef = useForwardedRef(ref)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = forwardedRef.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [forwardedRef, isTopLayer, onFocus],\n )\n\n return (\n <Root\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={forwardedRef}\n style={{...style, zIndex}}\n >\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/element')\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","import {useRef} from 'react'\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof document !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\n})\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 27\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 11\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n left: ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n right: ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {Elements, Middleware, detectOverflow} from '@floating-ui/react-dom'\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n availableWidth: number\n availableHeight: number\n elements: Elements\n referenceWidth: number\n}\n\nexport function size(options: {\n apply: (args: SizeMiddlewareApplyOptions) => void\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n padding?: number\n}): Middleware {\n const {apply, margins, padding = 0} = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n apply({\n availableWidth: maxWidth - margins[1] - margins[3],\n availableHeight: maxHeight - margins[0] - margins[2],\n elements,\n referenceWidth: reference.width - margins[1] - margins[3],\n })\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {Theme} from '../../theme'\nimport {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n theme: Theme\n width: PopoverWidth[]\n}): number | undefined {\n const {mediaIndex, theme, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? theme.sanity.container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\nimport {DEFAULT_POPOVER_ARROW_HEIGHT, DEFAULT_POPOVER_ARROW_WIDTH} from './constants'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n height: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n }\n\n [data-placement^='right'] > & {\n left: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst BorderPath = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst ShapePath = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Card} from '../card'\nimport {Flex} from '../flex'\nimport {DEFAULT_POPOVER_ARROW_WIDTH, DEFAULT_POPOVER_MARGINS} from './constants'\nimport {PopoverArrow} from './popoverArrow'\n\nconst Root = styled(Card)({\n '&:not([hidden])': {\n display: 'flex',\n },\n flexDirection: 'column',\n width: 'max-content',\n minWidth: 'min-content',\n})\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n overflow,\n radius,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n const {zIndex} = useLayer()\n const toneContext = useToneContext()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y,\n left: x,\n width,\n zIndex,\n ...style,\n }),\n [strategy, style, width, x, y, zIndex],\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = 0 - DEFAULT_POPOVER_ARROW_WIDTH\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n data-ui=\"Popover\"\n {...restProps}\n data-tone={tone}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n // The popover creates a new html element, so it's out of context of the css variables generated in the cards.\n updateCssVars\n tone={tone === 'inherit' ? toneContext.tone : tone}\n style={rootStyle}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n }),\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n MutableRefObject,\n RefCallback,\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize, useMediaIndex} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\nexport type {PopoverUpdateCallback}\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n matchReferenceWidth?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\n}\n\n/** @public */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n arrow: arrowProp = true,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n matchReferenceWidth,\n floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n updateRef,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const widthArrayProp = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({mediaIndex, theme, width: widthArrayProp})\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>()\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = forwardedRef.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, forwardedRef, matchReferenceWidth, maxWidth, open])\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n\n // Define distance between reference and floating element\n ret.push(\n offset({\n mainAxis: arrowProp ? DEFAULT_POPOVER_DISTANCE : 0,\n }),\n )\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements, referenceWidth}) {\n // not fresh, so use refs\n\n referenceWidthRef.current = referenceWidth\n\n const _currentWidth = widthRef.current\n const _maxWidth = maxWidthRef.current\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (_currentWidth !== undefined) {\n elements.floating.style.width = `${_currentWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(\n availableWidth,\n _maxWidth ?? Infinity,\n )}px`\n\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n },\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary eleement\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n arrowProp,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n preventOverflow,\n referenceBoundary,\n ])\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const childRef = (childProp as any)?.ref\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, refs],\n )\n\n const child = useMemo(() => {\n if (!childProp || referenceElement) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (updateRef) {\n if (typeof updateRef === 'function') {\n updateRef(update)\n } else if (updateRef) {\n updateRef.current = update\n }\n }\n }, [update, updateRef])\n\n useEffect(() => {\n refs.setReference(referenceElement || null)\n }, [referenceElement, refs])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidthRef.current : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Popover'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.radio\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${cssVars.default['bg-base']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${cssVars.default['text-secondary']};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n &::after {\n background: ${cssVars.critical['text-secondary']};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.select\n\n return css`\n /* enabled */\n background-color: ${cssVars.default['bg-base']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${cssVars.default['bg-base-hover']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: rem(size.lineHeight)}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(): ReturnType<typeof css> {\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n }\n\n /* disabled */\n select:disabled + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n\n /* read-only */\n select[data-read-only] + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>,\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.switch\n\n return css`\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n weight,\n tone = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-tone={tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $space={useArrayProp(0)}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const toneContext = useToneContext()\n const tone = toneProp === 'default' ? toneContext.tone : toneProp\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n tone,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-tone={tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $space={space}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {useRef} from 'react'\nimport {useState, useCallback, SetStateAction} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n const [state, setState] = useState(initialState)\n const delayedAction = useRef<NodeJS.Timeout | undefined>()\n\n const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n const action = () => {\n setState(nextState)\n }\n\n // A new state change has been initiated, cancel the previous one.\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n delayedAction.current = undefined\n }\n\n if (!delay) return action()\n delayedAction.current = setTimeout(action, delay)\n }, [])\n\n return [state, onStateChange]\n}\n","import {Placement} from '@floating-ui/react-dom'\n\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n left: ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n right: ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 7.5px 7.5px;\n }\n\n /* position: absolute;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n &:not([hidden]) {\n display: block;\n }\n transform-origin: 7.5px 7.5px;\n } */\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst Border = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst Shape = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../../lib/globalScope'\nimport {TooltipDelayGroupContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tooltipDelayGroup')\n\nglobalScope[key] = globalScope[key] || createContext<TooltipDelayGroupContextValue | null>(null)\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext: React.Context<TooltipDelayGroupContextValue | null> =\n globalScope[key]\n","import {useContext} from 'react'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n const value = useContext(TooltipDelayGroupContext)\n\n return value\n}\n","import {useMemo} from 'react'\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\nimport {useTooltipDelayGroup} from './useTooltipDelayGroup'\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: React.ReactNode\n /**\n * @public Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(\n props: TooltipDelayGroupProviderProps,\n): React.ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const isInsideContext = useTooltipDelayGroup()\n\n if (isInsideContext) {\n throw new Error(\n 'TooltipDelayGroupProvider cannot be nested inside another TooltipDelayGroupProvider',\n )\n }\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n isGroupActive: isGroupActive,\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n size,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n useId,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {Delay} from '../types'\nimport {DEFAULT_FALLBACK_PLACEMENTS} from './constants'\nimport {TooltipArrow} from './tooltipArrow'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n /**\n * @public Adds a delay to open or close the tooltip. Defaults to 0.\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n */\n delay?: Delay\n}\n\nconst Root = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 3,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n delay,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 4,\n rootBoundary,\n mainAxis: false,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Set width and height on the floating element\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements}) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth - 4 * 2}px`, // the padding is `4px`\n maxHeight: `${availableHeight - 4 * 2}px`, // the padding is `4px`\n })\n },\n }),\n )\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n }),\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\n const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n const isInsideGroup = delayGroupContext !== null\n const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n const handleIsOpenChange = useCallback(\n (open: boolean) => {\n if (isInsideGroup) {\n // When it's inside a group, the open or close status will be handled by the group.\n if (open) {\n delayGroupContext.setIsGroupActive(open, openDelay)\n delayGroupContext.setOpenTooltipId(tooltipId, openDelay)\n } else {\n const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n const groupDeactivateDelay =\n closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n delayGroupContext.setIsGroupActive(open, groupDeactivateDelay)\n delayGroupContext.setOpenTooltipId(null, closeDelay)\n }\n } else {\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, open ? openDelay : closeDelay)\n }\n },\n [isInsideGroup, delayGroupContext, openDelay, tooltipId, closeDelay, setIsOpen],\n )\n\n const handleBlur = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\n const handleFocus = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseEnter = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseLeave = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement, handleIsOpenChange])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) handleIsOpenChange(false)\n }, [content, handleIsOpenChange])\n\n // Update reference\n useEffect(() => refs.setReference(referenceElement), [referenceElement, refs])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update],\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef],\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root\n data-ui=\"Tooltip\"\n {...restProps}\n ref={setFloating}\n style={floatingStyles}\n zOffset={zOffset}\n >\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={3}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {showTooltip && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {Radius} from '../../types'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption,\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n },\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>,\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children],\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","/**\n * Left/right border offsets for header + footer components (in px).\n */\nexport const BORDER_OFFSET_X: number = 12\n","import {_responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle(): CSSObject {\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: cssVars.default['base-shadow-umbra-color'],\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {\n containsOrEqualsElement,\n focusFirstDescendant,\n focusLastDescendant,\n isHTMLElement,\n} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, CardProps, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, cssVars, useTheme} from '../../theme'\nimport {DialogPosition, Radius} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement, useLayer, usePortal} from '../../utils'\nimport {BORDER_OFFSET_X} from './constants'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\ninterface DialogHeaderProps extends CardProps {\n $hasScrolledFromTop: boolean\n $isContentScrollable: boolean\n}\ninterface DialogFooterProps extends CardProps {\n $hasScrolledToBottom: boolean\n $isContentScrollable: boolean\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst Root = styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle,\n)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Card)<DialogHeaderProps>`\n position: relative;\n z-index: 2;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n bottom: -1px;\n border-bottom: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && props.$hasScrolledFromTop ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)<DialogFooterProps>`\n position: relative;\n z-index: 3;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n top: -1px;\n border-top: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && !props.$hasScrolledToBottom ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n const [isContentScrollable, setIsContentScrollable] = useState(false)\n const [hasScrolledFromTop, setHasScrolledFromTop] = useState(false)\n const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false)\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutside(\n useCallback(\n (event: MouseEvent) => {\n if (!isTopLayer || !onClickOutside) return\n\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n },\n [boundaryElement, isTopLayer, onClickOutside, portalElement],\n ),\n [rootElement],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef],\n )\n\n const handleContentUpdate = useCallback(() => {\n if (localContentRef.current) {\n setIsContentScrollable(\n localContentRef.current.clientHeight < localContentRef.current.scrollHeight,\n )\n setHasScrolledFromTop(localContentRef.current.scrollTop > 0)\n setHasScrolledToBottom(\n localContentRef.current.scrollTop >=\n localContentRef.current.scrollHeight - localContentRef.current.clientHeight,\n )\n }\n }, [])\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(handleContentUpdate)\n\n if (localContentRef.current) {\n resizeObserver.observe(localContentRef.current)\n }\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [contentRef, handleContentUpdate])\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader\n $isContentScrollable={isContentScrollable}\n $hasScrolledFromTop={hasScrolledFromTop}\n >\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} size={1} weight=\"medium\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1} onScroll={handleContentUpdate}>\n {children}\n </DialogContent>\n\n {footer && (\n <DialogFooter\n $isContentScrollable={isContentScrollable}\n $hasScrolledToBottom={hasScrolledToBottom}\n >\n {footer}\n </DialogFooter>\n )}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 4,\n portal: portalProp,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>()\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\nimport {Radius} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n &:not([hidden]) {\n display: block;\n }\n font: inherit;\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>,\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElement, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElement, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex],\n )\n\n const handleItemMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex],\n )\n\n const handleItemMouseLeave = useCallback(() => {\n // Set the active index to -2 to deactivate all menu items\n // when the user moves the mouse away from the menu item.\n // We avoid using -1 because it would focus the first menu item,\n // which would be incorrect when the user hovers over a gap\n // between two menu items or a menu divider.\n setActiveIndex(-2)\n rootElement?.focus()\n }, [setActiveIndex, rootElement])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\n if (_activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n focusFirst?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n focusLast?: boolean\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemSelect?: (index: number) => void\n originElement?: HTMLElement | null\n registerElement?: (el: HTMLElement) => () => void\n shouldFocus?: 'first' | 'last' | null\n space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\n`\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement],\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside],\n ),\n [rootElement],\n )\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape],\n ),\n )\n\n // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ],\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement, Radius} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: Radius | Radius[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>,\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ],\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref],\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n boundaryElement: deprecated_boundaryElement,\n overflow: 'auto',\n placement: deprecated_placement,\n portal: deprecated_portal,\n preventOverflow: deprecated_preventOverflow,\n radius: deprecated_popoverRadius,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }),\n [\n deprecated_boundaryElement,\n deprecated_placement,\n deprecated_popoverRadius,\n deprecated_popoverScheme,\n deprecated_portal,\n deprecated_preventOverflow,\n popover,\n ],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\n/**\n * @public\n */\nexport const MenuDivider = styled.hr`\n height: 1px;\n border: 0;\n background: ${cssVars.default['border-base']};\n margin: 0;\n`\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleHover,\n _selectableVarStyle,\n _selectableVarStyleDisabled,\n} from '../../styles/colorVars'\n\nimport {ThemeColorSchemeKey, ThemeColorToneKey, createCssVars, cssVars} from '../../theme'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: ThemeColorToneKey\n $scheme: ThemeColorSchemeKey\n}\n\nexport function selectableBaseStyle(): ReturnType<typeof css> {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $scheme} = props\n\n return css`\n ${$tone !== 'default' && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n ${_selectableVarStyle($tone)}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars[$tone]['text-secondary']};\n outline: none;\n\n /* &:is(button) - Looks like a button in default mode */\n &[data-as='button'] {\n &:disabled {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected] {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle,\n)\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius, SelectableTone} from '../../types'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>,\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) onItemClick()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n data-as={as}\n data-ui=\"MenuGroup\"\n forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n $scheme={scheme}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={space} padding={padding}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n </Selectable>\n </Popover>\n )\n}\n","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {ThemeColorToneKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: ThemeColorToneKey\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n hotkeys,\n icon,\n iconRight,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick],\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref],\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={disabled ? 'default' : tone}\n $scheme={scheme}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Flex as=\"span\" gap={space} align=\"center\" {...paddingProps}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Hotkeys fontSize={fontSize} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n )}\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-to']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']}\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: ${cssVars.default['skeleton-from']};\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: ${cssVars.default['skeleton-from']};\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle,\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(({\n $size,\n $style,\n theme,\n}: {\n $size: number[]\n $style: ThemeFontKey\n theme: Theme\n}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <CustomButton\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n radius=\"full\"\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport styled from 'styled-components'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>,\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {useEffect, useReducer} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n // Use useReducer instead of useState as it's more low-level and creates the least amount of functions for the garbage collector to clean up\n const [mounted, mount] = useReducer(() => true, false)\n\n useEffect(mount, [mount])\n\n return mounted\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState, startTransition} from 'react'\nimport styled from 'styled-components'\nimport {useMounted} from '../../hooks/useMounted'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, _setState] = useState<ToastState>([])\n\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n // Wrap setState in startTransition to allow React to give input state updates higher priority\n const setState: typeof _setState = (state) => startTransition(() => _setState(state))\n\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState): ToastState => {\n const idx = prevState.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.slice(0)\n\n toasts.splice(idx, 1)\n\n return toasts\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState): ToastState => {\n return prevState\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ])\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n [],\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n const mounted = useMounted()\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n {mounted && (\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const {children, space = 1, onFocus, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n }),\n)\n\nTree.displayName = 'Tree'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {cssVars} from '../../theme'\nimport {cardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(): ReturnType<typeof css> {\n return css`\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n &[role='none'] {\n & > [role='treeitem'] {\n ${cardVariables}\n\n background-color:${cssVars.mutable['bg-color']};\n color: var(--treeitem-fg-color);\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_colorVarStyleHover()}\n }\n\n & > [role='treeitem']:focus {\n ${_colorVarStyleSelected()}\n }\n }\n }\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${cardVariables}\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.mutable['fg-color']};\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_colorVarStyleHover()}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_colorVarStyleSelected()}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, BoxProps, Flex, Text} from '../../primitives'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: BoxProps['as']\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n linkAs,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","concat","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","arguments","length","undefined","Error","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","useMemo","JSON","stringify","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size$1","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_ref","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","multiply$1","r","clamp","g","num","max","min","screenChannel","screen","screen$1","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbaToRGBA","rgba","replace","split","a","rgbToHex","_ref2","rgbToHsl","_ref3","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgb","bg","fg","_multiply","_screen","colorKeys","defaultTints","light","hues","blue","red","white","tint","opacity","dark","black","gray","colorTints","default","primary","positive","transparent","caution","critical","getColorValue","tints","scheme","tone","title","getColorHex","getToneCssVar","createTonesVariables","tones","defaultTone","baseBg","tonesVariables","mix","needsMixing","_tone","colorHex","varName","willBeMixed","tonesCssVariables","themeNames","acc","mutableCardVariables","mutableVariables","item","cardVariables","createCssVars","tonesVars","cssVars","mutable","cyan","yellow","code","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","focusRing","offset","button","textWeight","card","container","radius","shadows","umbra","penumbra","ambient","input","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","select","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","cssObjectToCssString","rules","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ToneContext","ToneProvider","children","root","useRootTheme","version","jsx","Provider","GlobalVariables","createGlobalStyle","__template","_ref4","$vars","ThemeProvider","parentTheme","useContext","themeProp","layer","rootLayer","restTheme","cssVariables","jsxs","StyledThemeProvider","isRecord","ThemeColorProvider","useTheme","useStyledTheme","MEDIA_STORE_CACHE","_getMediaQuery","_createMediaStore","mediaLen","getSizes","mediaQuery","mq","matchMedia","getSnapshot","matches","onStoreChange","disposeFns","handleChange","disposeFn","getServerSnapshot","getServerSnapshot$2","useMediaIndex","store","useSyncExternalStore","MEDIA_QUERY_CACHE","getMatchMedia","getMatchMedia$1","getSnapshot$1","getServerSnapshot$1","usePrefersDark","usePrefersReducedMotion","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","useToneContext","BORDER_VALUE","responsiveBorderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","opts","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","GRID_CSS","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","styles","responsiveInputPaddingIconRightStyle","_c","ROOT_STYLE","css","textInputRootStyle","textInputBaseStyle","$tone","font","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","borderRadius","toBoxShadow","shadow","shadowStyle","outline","boxShadow","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","Root","styled","div","SpanWithTextOverflow","span","Text","forwardRef","accent","childrenProp","muted","textOverflow","weight","restProps","spotColor","purple","magenta","orange","green","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","zIndex","transition","$color","backgroundColor","userSelect","WebkitFontSmoothing","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeDasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","Avatar","as","asProp","colorKey","src","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","viewBox","d","id","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","badgeStyle","$mode","cursor","Badge","mode","Flex","forwardedAs","rotate","keyframes","Spinner","SpinnerIcon","buttonBaseStyles","buttonTheme","defaultBoxShadow","combineBoxShadow","_len","boxShadows","_key","buttonColorStyles","LoadingBox","Button","disabled","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","selected","spaceProp","boxProps","isValidElement","createElement","_colorVarStyleDisabled","checkered","_colorVarStyleSelected","_colorVarStyleHover","_colorVarStyleActive","_selectableVarStyle","_selectableVarStyleDisabled","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","$scheme","$updateCssVars","Wrapper","_ref5","shouldAddContext","Card","__unstable_checkered","__unstable_focusRing","pressed","schemeProp","toneProp","updateCssVars","toneContext","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","className","indeterminate","readOnly","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","mainShade","secondaryShade","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","verticalAlign","inlineSpaceStyle","Inline","kbdStyle","kbd","KBD","labelBaseStyle","Label","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","__publicField","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","state","getLayerContext","contextValue","LayerContext","useLayer","err","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","LayerProvider","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","parentLevel","level","maxMediaIndex","setChildLayers","isTopLayer","childLevel","parentDispose","prevLen","nextState","v","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","becameTopLayer","handleFocus","rootElement","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","handleScroll2","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","apply","margins","args","placement","platform","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","floatingW","floatingH","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","calcCurrentWidth","params","w","currentWidth","calcMaxWidth","boundaryWidth","BorderPath","path","ShapePath","PopoverArrow","xmlns","PopoverCard","memo","PopoverCard2","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","strategy","xProp","yProp","rootStyle","staticSide","arrowStyle","displayName","Popover","Popover2","_d","_e","_f","_g","_h","boundaryElementContext","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","open","placementProp","preventOverflow","referenceBoundary","referenceElement","shadowProp","widthProp","updateRef","boundarySize","widthArrayProp","widthRef","maxWidthRef","referenceWidthRef","floatingElement","middleware","flip","mainAxis","_ref6","_currentWidth","_maxWidth","shift","hide","middlewareData","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInputClearButton","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","useDelayedState","initialState","setState","delayedAction","onStateChange","delay","action","clearTimeout","setTimeout","Border","Shape","TooltipArrow","TooltipDelayGroupContext","useTooltipDelayGroup","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","isInsideContext","openDelay","closeDelay","close","Tooltip","fallbackPlacementsProp","setReferenceElement","_ref7","assign","floatingStyles","tooltipId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","minimumGroupDeactivateDelay","groupDeactivateDelay","handleBlur","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onMouseEnter","onMouseLeave","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","_ref8","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","BORDER_OFFSET_X","dialogStyle","background","responsiveDialogPositionStyle","$position","DialogContext","useDialog","isTargetWithinScope","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","$isContentScrollable","$hasScrolledFromTop","DialogContent","DialogFooter","$hasScrolledToBottom","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","portalProp","setRootElement","localContentRef","labelId","showCloseButton","showHeader","isContentScrollable","setIsContentScrollable","hasScrolledFromTop","setHasScrolledFromTop","hasScrolledToBottom","setHasScrolledToBottom","setContentRef","handleContentUpdate","onScroll","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","rootClickTimeoutRef","handleRootClick","DialogProvider","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","from","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","onOpen","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","skeletonStyle","_ref9","$visible","_ref10","$animated","Skeleton","animated","visible","setVisible","_ref11","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","CustomButton","Tab","elementRef","focusedRef","_isReactElement","CustomInline","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","useMounted","ToastContext","ToastContainer","toastId","ToastProvider","_setState","toastsRef","startTransition","duration","dismiss","timeoutId","prevState","findIndex","t","toasts","AnimatePresence","initial","_ref12","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","Tree2","setFocusedElement","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","linkAs","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":";;;;;;;;;;AAGO,MAAMA,cAAuB,EAAC;AAK9B,MAAMC,eAAsC,CAAA,CAAC;AAK7C,MAAMC,qBAA6E,GAAA;EACxFC,GAAK,EAAA,QAAA;EACLC,KAAO,EAAA,MAAA;EACPC,MAAQ,EAAA,KAAA;EACRC,IAAM,EAAA;AACR,CAAA;ACXgB,SAAAC,cAAAA,CAAeC,MAAgBC,KAA+C,EAAA;EAC5F,OAAOD,IAAK,CAAAE,MAAA,CAAkB,CAACC,KAAA,EAAOC,GAAQ,KAAA;IAC5CD,KAAA,CAAMC,GAAG,CAAI,GAAAH,KAAA;IAEN,OAAAE,KAAA;EACT,CAAA,EAAG,CAAE,CAAA,CAAA;AACP;AAKO,SAASE,IAAIC,UAAgC,EAAA;EAClD,IAAIA,UAAe,KAAA,CAAA,EAAU,OAAA,CAAA;EAEtB,OAAA,EAAA,CAAGC,oBAAa,EAAE,EAAA,KAAA,CAAA;AAC3B;AAKgB,SAAAC,WAAAA,CACdC,KACA,EAAAC,MAAA,EACAC,QACa,EAAA;EACb,MAAMC,UAAa,GAAA,CAAAF,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQG,GAAI,CAAAF,QAAA,CAAA,KAAa,EAAC;EAE7C,OAAOC,UAAW,CAAAC,GAAA,CAAI,CAACC,SAAA,EAAWC,UAAe,KAAA;IAC/C,IAAIA,UAAe,KAAA,CAAA,EAAU,OAAAD,SAAA;IAEtB,OAAA;MAAC,CAAC,gCAAiC,CAAAP,MAAA,CAAAE,KAAA,CAAMM,aAAa,CAAC,CAAA,EAAC,KAAK,CAAA,GAAGD;KAAS;EAAA,CACjF,CAAA;AACH;AAKgB,SAAAE,aAAAA,CAA0BC,KAA0BC,UAAuB,EAAA;EACzF,IAAID,GAAQ,KAAA,KAAA,CAAA,EAAW,OAAOC,UAAc,IAAA1B,WAAA;EAE5C,OAAO2B,MAAMC,OAAQ,CAAAH,GAAG,CAAI,GAAAA,GAAA,GAAM,CAACA,GAAG,CAAA;AACxC;AAKO,SAASI,mBACdA,CAAAC,KAAA,EACAC,KACA,EACoB;EAAA,IADpBC,YAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAyBjC,WACL;EACpB,IAAI,CAAC2B,KAAA,CAAMC,OAAQ,CAAAI,YAAY,CAAG,EAAA;IAC1B,MAAA,IAAII,MAAM,uCAAuC,CAAA;EACzD;EAEI,IAAAJ,YAAA,CAAaE,WAAW,CAAG,EAAA;IACtB,OAAA,IAAA;EACT;EAEO,OAAAlB,WAAA,CAAYc,MAAMO,MAAO,CAAApB,KAAA,EAAOe,YAAA,EAAeM,UACpD,IAAA/B,cAAA,CAAewB,KAAO,EAAAlB,GAAA,CAAIiB,MAAMO,MAAO,CAAAE,KAAA,CAAMD,UAAU,CAAC,CAAC,CAAA,CAC3D;AACF;AC3DgB,SAAAE,cAAAA,CACdC,SACAV,KACa,EAAA;EACb,MAAM;IAACW,KAAA;IAAOC,OAAS;IAAAb;EAAA,CAAS,GAAAC,KAAA;EAChC,MAAM;IAACa,KAAA;IAAO3B;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAC7B,MAAM;IAACQ,MAAQ;IAAAC,KAAA;IAAOC;EAAO,CAAA,GAAIH,MAAMH,OAAO,CAAA;EAC9C,MAAMO,UAAc,GAAAL,OAAA,IAAWI,OAAQ,CAAAJ,OAAO,KAAMI,OAAQ,CAAAE,OAAA;EAGtD,MAAAC,WAAA,GAAcJ,MAAM,CAAC,CAAA;EAE3B,MAAMK,IAAkB,GAAA;IACtBC,QAAU,EAAA,UAAA;IACVC,UAAY,EAAAR,MAAA;IACZG,UAAA;IACAM,OAAS,EAAA,OAAA;IACTC,MAAQ,EAAA,CAAA;IAER,UAAY,EAAA;MACVC,OAAS,EAAA,IAAA;MACTC,OAAS,EAAA,OAAA;MACTC,MAAQ,EAAA;IACV,CAAA;IAEA,SAAW,EAAA;MACTF,OAAS,EAAA,IAAA;MACTC,OAAS,EAAA,OAAA;MACTC,MAAQ,EAAA;IACV,CAAA;IAEA,oBAAsB,EAAA;MACpBD,OAAS,EAAA;IACX,CAAA;IAEA,iBAAmB,EAAA;MACjBA,OAAS,EAAA;IACX;EAAA,CACF;EAGA,IAAI,CAACf,KAAO,EAAA;IAEN,IAAA,CAACF,eAAemB,MAAQ,EAAA;MAE1BC,OAAA,CAAQC,KAAK,uCAAyC,EAAA;QAACpB;QAASC,KAAO;QAAAX,KAAA;QAAOoB;OAAK,CAAA;MAEnFX,cAAA,CAAemB,MAAS,GAAA,IAAA;IAC1B;IAEA,OAAO,CAACR,IAAI,CAAA;EACd;EAEM,MAAAW,IAAA,GAAO9C,WAAY,CAAAC,KAAA,EAAOyB,KAAO,EAACqB,SAAc,IAAAC,QAAA,CAASlB,KAAM,CAAAiB,SAAS,CAAK,IAAAb,WAAW,CAAC,CAAA;EAExF,OAAA,CAACC,IAAM,EAAA,GAAGW,IAAI,CAAA;AACvB;AAEO,SAASE,SAASC,IAAgC,EAAA;EACjD,MAAA;IAACC;IAAgBC,eAAiB;IAAAH,QAAA,EAAAA;IAAUI,QAAU;IAAAC,aAAA;IAAeC;EAAc,CAAA,GAAAL,IAAA;EACzF,MAAMM,YAAYL,cAAiB,GAAAC,eAAA;EACnC,MAAMK,YAAYF,UAAa,GAAAC,SAAA;EACzB,MAAAE,UAAA,GAAA,CAAcD,YAAYJ,QAAY,IAAA,CAAA;EAC5C,MAAMM,iBAAiBC,IAAK,CAAAC,KAAA,CAAOZ,YAAW,KAAS,GAAA,CAAC,IAAI,CAAI,GAAA,CAAA;EAC1D,MAAAa,gBAAA,GAAA,CAAoBL,YAAYE,cAAkB,IAAA,CAAA;EAEjD,OAAA;IACLV,QAAA,EAAUnD,IAAImD,SAAQ,CAAA;IACtBM,UAAY,EAAA,OAAA,CAAQvD,MAAU,CAAAuD,UAAA,EAAA,KAAA,CAAA,CAAMvD,OAAAiD,SAAQ,EAAA,GAAA,CAAA;IAC5CK,aAAA,EAAexD,IAAIwD,aAAa,CAAA;IAChCS,SAAW,EAAA,aAAA,CAAc/D,MAAI,CAAAF,GAAA,CAAAsD,eAAe,CAAC,EAAA,GAAA,CAAA;IAE7C,UAAY,EAAA;MACVY,SAAW,EAAA,OAAA,CAAQhE,MAAI,CAAAF,GAAA,CAAA,CAAA,GAAI0D,SAAS,CAAC,EAAA,SAAA;IACvC,CAAA;IAEA,SAAW,EAAA;MACTS,YAAc,EAAA;IAChB,CAAA;IAEA,+BAAiC,EAAA;MAC/BhB,QAAA,EAAU,QAAQjD,MAAc,CAAA2D,cAAA,EAAA,eAAA,CAAA;MAChCnB,MAAA,EAAQ1C,IAAIgE,gBAAgB;IAC9B,CAAA;IAEA,sBAAwB,EAAA;MACtBb,QAAA,EAAU,QAAQjD,MAAQ,CAAAqD,QAAA,EAAA,eAAA,CAAA;MAC1Bb,MAAA,EAAQ1C,IAAI4D,UAAU;IACxB;EAAA,CACF;AACF;AC3FO,SAASQ,wBAAwBlD,KAA2D,EAAA;EAC1F,OAAAS,cAAA,CAAe,QAAQT,KAAK,CAAA;AACrC;ACFO,SAASmD,sBAAsBnD,KAA2D,EAAA;EACxF,OAAAS,cAAA,CAAe,WAAWT,KAAK,CAAA;AACxC;ACFO,SAASoD,oBAAoBpD,KAA2D,EAAA;EACtF,OAAAS,cAAA,CAAe,SAAST,KAAK,CAAA;AACtC;ACFO,SAASqD,yBACdrD,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAEhB,OAAOf,YAAYc,KAAM,CAAAO,MAAA,CAAOpB,OAAOc,KAAM,CAAAsD,MAAA,EAASC,SAAc,IAAA;IAClE,OAAO;MAACA;IAAS,CAAA;EAAA,CAClB,CAAA;AACH;ACRO,SAASC,mBAAmBxD,KAA2D,EAAA;EACrF,OAAAS,cAAA,CAAe,QAAQT,KAAK,CAAA;AACrC;ACDgB,SAAAyD,YAAAA,CACd/D,KACAC,UACK,EAAA;EAEC,MAAA+D,aAAA,GAAgBC,OAAQ,CAAA,MAAMC,IAAK,CAAAC,SAAA,CAAUnE,GAAO,IAAA,IAAA,GAAAA,GAAA,GAAAC,UAAU,CAAG,EAAA,CAACA,UAAY,EAAAD,GAAG,CAAC,CAAA;EAEjF,OAAAiE,OAAA,CACL,MAAMlE,aAAc,CAAAC,GAAA,EAAKC,UAAU,CAAA;EAAA;EAAA;EAInC,CAAC+D,aAAa,CAAA,CAChB;AACF;AChBA,SAASI,YAAAA,CACPC,SACAC,WACe,EAAA;EACT,MAAAC,GAAA,GAAM,CAACF,OAAO,CAAA;EAEpB,KAAA,MAAWG,MAAMF,WAAa,EAAA;IACxB,IAAApE,KAAA,CAAMC,OAAQ,CAAAqE,EAAE,CAAG,EAAA;MACjBD,GAAA,CAAAE,IAAA,CAAK,GAAGD,EAAE,CAAA;IAAA,CACT,MAAA;MACLD,GAAA,CAAIE,KAAKD,EAAE,CAAA;IACb;EACF;EAEO,OAAAD,GAAA,CAAIG,OAAOC,OAAO,CAAA;AAC3B;AAKO,SAASC,eACdA,CAAAC,QAAA,EAGkC;EAAA,IAFlCP,WAAyD,GAAA9D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAAjC,WAAA;EAAA,IACzDuG,eACkC,GAAAtE,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAClC,MAAM,CAAC2D,OAAA,EAASU,UAAU,CAAA,GAAIC,SAA6B,IAAI,CAAA;EACzD,MAAA,CAACC,UAAUC,WAAW,CAAA,GAAIF,SAAS,MAAMZ,YAAA,CAAaC,OAAS,EAAAC,WAAW,CAAC,CAAA;EAC3E,MAAAa,WAAA,GAAcC,OAAOH,QAAQ,CAAA;EAEnCI,SAAA,CAAU,MAAM;IACd,MAAMC,eAAeH,WAAY,CAAAI,OAAA;IAC3B,MAAAC,YAAA,GAAepB,YAAa,CAAAC,OAAA,EAASC,WAAW,CAAA;IAElD,IAAAgB,YAAA,CAAa7E,MAAW,KAAA+E,YAAA,CAAa/E,MAAQ,EAAA;MAC/CyE,WAAA,CAAYM,YAAY,CAAA;MACxBL,WAAA,CAAYI,OAAU,GAAAC,YAAA;MAEtB;IACF;IAEA,KAAA,MAAWhB,MAAMc,YAAc,EAAA;MAC7B,IAAI,CAACE,YAAA,CAAaC,QAAS,CAAAjB,EAAE,CAAG,EAAA;QAC9BU,WAAA,CAAYM,YAAY,CAAA;QACxBL,WAAA,CAAYI,OAAU,GAAAC,YAAA;QAEtB;MACF;IACF;IAEA,KAAA,MAAWhB,MAAMgB,YAAc,EAAA;MAC7B,IAAI,CAACF,YAAA,CAAaG,QAAS,CAAAjB,EAAE,CAAG,EAAA;QAC9BU,WAAA,CAAYM,YAAY,CAAA;QACxBL,WAAA,CAAYI,OAAU,GAAAC,YAAA;QAEtB;MACF;IACF;EAAA,CACC,EAAA,CAACnB,OAAS,EAAAC,WAAW,CAAC,CAAA;EAEzBe,SAAA,CAAU,MAAM;IACd,IAAI,CAACR,QAAA,EAAiB,OAAA,KAAA,CAAA;IAEhB,MAAAa,qBAAA,GAAyBC,GAAoB,IAAA;MACjD,MAAMC,SAASD,GAAI,CAAAC,MAAA;MAEf,IAAA,EAAEA,kBAAkBC,IAAO,CAAA,EAAA;QAC7B;MACF;MAEA,IAAIf,eAAmB,IAAA,CAACA,eAAgB,CAAAgB,QAAA,CAASF,MAAM,CAAG,EAAA;QACxD;MACF;MAEA,KAAA,MAAWpB,MAAMS,QAAU,EAAA;QACzB,IAAIW,MAAW,KAAApB,EAAA,IAAMA,EAAG,CAAAsB,QAAA,CAASF,MAAM,CAAG,EAAA;UACxC;QACF;MACF;MAEAf,QAAA,CAASc,GAAG,CAAA;IAAA,CACd;IAEOI,MAAA,CAAAC,gBAAA,CAAiB,aAAaN,qBAAqB,CAAA;IAE1D,OAAO,MAAM;MACJK,MAAA,CAAAE,mBAAA,CAAoB,aAAaP,qBAAqB,CAAA;IAAA,CAC/D;EACC,CAAA,EAAA,CAACZ,eAAiB,EAAAD,QAAA,EAAUI,QAAQ,CAAC,CAAA;EAEjC,OAAAF,UAAA;AACT;AClGA,IAAImB,eAAe,GAAG,EAAE;ACCxB,IAAIC,qBAAqB,GAAG,SAAAA,CAAA,EAAY;EACpC,OAAOD,eAAe,CAACE,IAAI,CAAC,UAAUC,EAAE,EAAE;IAAE,OAAOA,EAAE,CAACC,aAAa,CAAC7F,MAAM,GAAG,CAAC;EAAC,CAAE,CAAC;AACtF,CAAC;ACFD,IAAI8F,sBAAsB,GAAG,SAAAA,CAAA,EAAY;EACrC,OAAOL,eAAe,CAACE,IAAI,CAAC,UAAUC,EAAE,EAAE;IAAE,OAAOA,EAAE,CAACG,cAAc,CAAC/F,MAAM,GAAG,CAAC;EAAC,CAAE,CAAC;AACvF,CAAC;ACHD,IAAIgG,GAAG,GAAG,+DAA+D;AACzE,IAAIC,sBAAsB,GAAG,SAAAA,CAAA,EAAY;EACrC,IAAIC,KAAK;EACT,IAAI,OAAOC,UAAU,KAAK,UAAU,EAAE;IAClCD,KAAK,GAAG,IAAIC,UAAU,CAAC,OAAO,EAAE;MAC5BC,OAAO,EAAEJ;IACrB,CAAS,CAAC;EACL,CAAA,MACI;IACDE,KAAK,GAAGG,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;IACrCJ,KAAK,CAACK,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IACtCL,KAAK,CAACE,OAAO,GAAGJ,GAAG;EACtB;EACDV,MAAM,CAACkB,aAAa,CAACN,KAAK,CAAC;AAC/B,CAAC;ACdD,IAAIO,wBAAwB;AAC5B,CAAC,UAAUA,wBAAwB,EAAE;EACjCA,wBAAwB,CAAC,YAAY,CAAC,GAAG,YAAY;EACrDA,wBAAwB,CAAC,aAAa,CAAC,GAAG,aAAa;EACvDA,wBAAwB,CAAC,0BAA0B,CAAC,GAAG,0BAA0B;AACrF,CAAC,EAAEA,wBAAwB,KAAKA,wBAAwB,GAAG,CAAA,CAAE,CAAC,CAAC;ACLxD,IAAIC,MAAM,GAAG,SAAAA,CAAUC,GAAG,EAAE;EAAE,OAAOC,MAAM,CAACF,MAAM,CAACC,GAAG,CAAC;AAAG,CAAA;ACCjE,IAAIE,kBAAkB,GAAI,YAAY;EAClC,SAASA,kBAAkBA,CAACC,UAAU,EAAEC,SAAS,EAAE;IAC/C,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1BL,MAAM,CAAC,IAAI,CAAC;EACf;EACD,OAAOG,kBAAkB;AAC7B,CAAC,EAAG;ACPJ,IAAIG,eAAe,GAAI,YAAY;EAC/B,SAASA,eAAeA,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAE3F,MAAM,EAAE;IAC1C,IAAI,CAACyF,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAAC3F,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACvD,GAAG,GAAG,IAAI,CAACiJ,CAAC;IACjB,IAAI,CAAC9I,IAAI,GAAG,IAAI,CAAC6I,CAAC;IAClB,IAAI,CAAC9I,MAAM,GAAG,IAAI,CAACF,GAAG,GAAG,IAAI,CAACuD,MAAM;IACpC,IAAI,CAACtD,KAAK,GAAG,IAAI,CAACE,IAAI,GAAG,IAAI,CAAC+I,KAAK;IACnC,OAAOT,MAAM,CAAC,IAAI,CAAC;EACtB;EACDM,eAAe,CAACI,SAAS,CAACC,MAAM,GAAG,YAAY;IAC3C,IAAIC,EAAE,GAAG,IAAI;MAAEL,CAAC,GAAGK,EAAE,CAACL,CAAC;MAAEC,CAAC,GAAGI,EAAE,CAACJ,CAAC;MAAEjJ,GAAG,GAAGqJ,EAAE,CAACrJ,GAAG;MAAEC,KAAK,GAAGoJ,EAAE,CAACpJ,KAAK;MAAEC,MAAM,GAAGmJ,EAAE,CAACnJ,MAAM;MAAEC,IAAI,GAAGkJ,EAAE,CAAClJ,IAAI;MAAE+I,KAAK,GAAGG,EAAE,CAACH,KAAK;MAAE3F,MAAM,GAAG8F,EAAE,CAAC9F,MAAM;IAC3I,OAAO;MAAEyF,CAAC,EAAEA,CAAC;MAAEC,CAAC,EAAEA,CAAC;MAAEjJ,GAAG,EAAEA,GAAG;MAAEC,KAAK,EAAEA,KAAK;MAAEC,MAAM,EAAEA,MAAM;MAAEC,IAAI,EAAEA,IAAI;MAAE+I,KAAK,EAAEA,KAAK;MAAE3F,MAAM,EAAEA;KAAQ;EAC/G,CAAK;EACDwF,eAAe,CAACO,QAAQ,GAAG,UAAUC,SAAS,EAAE;IAC5C,OAAO,IAAIR,eAAe,CAACQ,SAAS,CAACP,CAAC,EAAEO,SAAS,CAACN,CAAC,EAAEM,SAAS,CAACL,KAAK,EAAEK,SAAS,CAAChG,MAAM,CAAC;EAC/F,CAAK;EACD,OAAOwF,eAAe;AAC1B,CAAC,EAAG;ACrBJ,IAAIS,KAAK,GAAG,SAAAA,CAAUtC,MAAM,EAAE;EAAE,OAAOA,MAAM,YAAYuC,UAAU,IAAI,SAAS,IAAIvC,MAAM;CAAG;AAC7F,IAAIwC,QAAQ,GAAG,SAAAA,CAAUxC,MAAM,EAAE;EAC7B,IAAIsC,KAAK,CAACtC,MAAM,CAAC,EAAE;IACf,IAAImC,EAAE,GAAGnC,MAAM,CAACyC,OAAO,EAAE;MAAET,KAAK,GAAGG,EAAE,CAACH,KAAK;MAAE3F,MAAM,GAAG8F,EAAE,CAAC9F,MAAM;IAC/D,OAAO,CAAC2F,KAAK,IAAI,CAAC3F,MAAM;EAC3B;EACD,IAAIqG,EAAE,GAAG1C,MAAM;IAAE2C,WAAW,GAAGD,EAAE,CAACC,WAAW;IAAEC,YAAY,GAAGF,EAAE,CAACE,YAAY;EAC7E,OAAO,EAAED,WAAW,IAAIC,YAAY,IAAI5C,MAAM,CAAC6C,cAAc,CAAA,CAAE,CAAChI,MAAM,CAAC;AAC3E,CAAC;AACD,IAAIiI,SAAS,GAAG,SAAAA,CAAUtB,GAAG,EAAE;EAC3B,IAAIW,EAAE;EACN,IAAIX,GAAG,YAAYuB,OAAO,EAAE;IACxB,OAAO,IAAI;EACd;EACD,IAAIC,KAAK,GAAG,CAACb,EAAE,GAAGX,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,GAAG,CAACyB,aAAa,MAAM,IAAI,IAAId,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACe,WAAW;EAClI,OAAO,CAAC,EAAEF,KAAK,IAAIxB,GAAG,YAAYwB,KAAK,CAACD,OAAO,CAAC;AACpD,CAAC;AACD,IAAII,iBAAiB,GAAG,SAAAA,CAAUnD,MAAM,EAAE;EACtC,QAAQA,MAAM,CAACoD,OAAO;IAClB,KAAK,OAAO;MACR,IAAIpD,MAAM,CAACqD,IAAI,KAAK,OAAO,EAAE;QACzB;MACH;IACL,KAAK,OAAO;IACZ,KAAK,OAAO;IACZ,KAAK,OAAO;IACZ,KAAK,QAAQ;IACb,KAAK,QAAQ;IACb,KAAK,QAAQ;IACb,KAAK,KAAK;MACN,OAAO,IAAI;EAClB;EACD,OAAO,KAAK;AAChB,CAAC;ACjCM,IAAIC,QAAM,GAAG,OAAOnD,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,CAAE,CAAA;ACM/D,IAAIoD,KAAK,GAAG,IAAIC,OAAO,EAAE;AACzB,IAAIC,YAAY,GAAG,aAAa;AAChC,IAAIC,cAAc,GAAG,cAAc;AACnC,IAAIC,EAAE,GAAI,eAAe,CAAEC,IAAI,CAACN,QAAM,CAACO,SAAS,IAAIP,QAAM,CAACO,SAAS,CAACC,SAAS,CAAC;AAC/E,IAAIC,cAAc,GAAG,SAAAA,CAAUC,KAAK,EAAE;EAAE,OAAOC,UAAU,CAACD,KAAK,IAAI,GAAG,CAAC;CAAG;AAC1E,IAAIpH,MAAI,GAAG,SAAAsH,CAAUvC,UAAU,EAAEC,SAAS,EAAEuC,WAAW,EAAE;EACrD,IAAIxC,UAAU,KAAK,KAAK,CAAC,EAAE;IAAEA,UAAU,GAAG,CAAC;EAAG;EAC9C,IAAIC,SAAS,KAAK,KAAK,CAAC,EAAE;IAAEA,SAAS,GAAG,CAAC;EAAG;EAC5C,IAAIuC,WAAW,KAAK,KAAK,CAAC,EAAE;IAAEA,WAAW,GAAG,KAAK;EAAG;EACpD,OAAO,IAAIzC,kBAAkB,CAAC,CAACyC,WAAW,GAAGvC,SAAS,GAAGD,UAAU,KAAK,CAAC,EAAE,CAACwC,WAAW,GAAGxC,UAAU,GAAGC,SAAS,KAAK,CAAC,CAAC;AAC3H,CAAC;AACD,IAAIwC,SAAS,GAAG7C,MAAM,CAAC;EACnB8C,yBAAyB,EAAEzH,MAAI,CAAE,CAAA;EACjC0H,aAAa,EAAE1H,MAAI,CAAE,CAAA;EACrB2H,cAAc,EAAE3H,MAAI,CAAE,CAAA;EACtB4H,WAAW,EAAE,IAAI3C,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC,CAAC;AACF,IAAI4C,iBAAiB,GAAG,SAAAA,CAAUzE,MAAM,EAAE0E,kBAAkB,EAAE;EAC1D,IAAIA,kBAAkB,KAAK,KAAK,CAAC,EAAE;IAAEA,kBAAkB,GAAG,KAAK;EAAG;EAClE,IAAInB,KAAK,CAACoB,GAAG,CAAC3E,MAAM,CAAC,IAAI,CAAC0E,kBAAkB,EAAE;IAC1C,OAAOnB,KAAK,CAACqB,GAAG,CAAC5E,MAAM,CAAC;EAC3B;EACD,IAAIwC,QAAQ,CAACxC,MAAM,CAAC,EAAE;IAClBuD,KAAK,CAACsB,GAAG,CAAC7E,MAAM,EAAEoE,SAAS,CAAC;IAC5B,OAAOA,SAAS;EACnB;EACD,IAAIU,EAAE,GAAGC,gBAAgB,CAAC/E,MAAM,CAAC;EACjC,IAAIgF,GAAG,GAAG1C,KAAK,CAACtC,MAAM,CAAC,IAAIA,MAAM,CAACiF,eAAe,IAAIjF,MAAM,CAACyC,OAAO,EAAE;EACrE,IAAIyC,aAAa,GAAG,CAACvB,EAAE,IAAImB,EAAE,CAACK,SAAS,KAAK,YAAY;EACxD,IAAIhB,WAAW,GAAGT,cAAc,CAACE,IAAI,CAACkB,EAAE,CAACM,WAAW,IAAI,EAAE,CAAC;EAC3D,IAAIC,mBAAmB,GAAG,CAACL,GAAG,IAAIvB,YAAY,CAACG,IAAI,CAACkB,EAAE,CAACQ,SAAS,IAAI,EAAE,CAAC;EACvE,IAAIC,qBAAqB,GAAG,CAACP,GAAG,IAAIvB,YAAY,CAACG,IAAI,CAACkB,EAAE,CAACU,SAAS,IAAI,EAAE,CAAC;EACzE,IAAIC,UAAU,GAAGT,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACW,UAAU,CAAC;EACxD,IAAIC,YAAY,GAAGV,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACY,YAAY,CAAC;EAC5D,IAAIC,aAAa,GAAGX,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACa,aAAa,CAAC;EAC9D,IAAIC,WAAW,GAAGZ,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACc,WAAW,CAAC;EAC1D,IAAIC,SAAS,GAAGb,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACgB,cAAc,CAAC;EAC3D,IAAIC,WAAW,GAAGf,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACkB,gBAAgB,CAAC;EAC/D,IAAIC,YAAY,GAAGjB,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACoB,iBAAiB,CAAC;EACjE,IAAIC,UAAU,GAAGnB,GAAG,GAAG,CAAC,GAAGjB,cAAc,CAACe,EAAE,CAACsB,eAAe,CAAC;EAC7D,IAAIC,iBAAiB,GAAGT,WAAW,GAAGF,YAAY;EAClD,IAAIY,eAAe,GAAGb,UAAU,GAAGE,aAAa;EAChD,IAAIY,oBAAoB,GAAGJ,UAAU,GAAGJ,WAAW;EACnD,IAAIS,kBAAkB,GAAGX,SAAS,GAAGI,YAAY;EACjD,IAAIQ,4BAA4B,GAAG,CAAClB,qBAAqB,GAAG,CAAC,GAAGvF,MAAM,CAAC4C,YAAY,GAAG4D,kBAAkB,GAAGxG,MAAM,CAAC0G,YAAY;EAC9H,IAAIC,0BAA0B,GAAG,CAACtB,mBAAmB,GAAG,CAAC,GAAGrF,MAAM,CAAC2C,WAAW,GAAG4D,oBAAoB,GAAGvG,MAAM,CAAC4G,WAAW;EAC1H,IAAIC,cAAc,GAAG3B,aAAa,GAAGmB,iBAAiB,GAAGE,oBAAoB,GAAG,CAAC;EACjF,IAAIO,eAAe,GAAG5B,aAAa,GAAGoB,eAAe,GAAGE,kBAAkB,GAAG,CAAC;EAC9E,IAAIO,YAAY,GAAG/B,GAAG,GAAGA,GAAG,CAAChD,KAAK,GAAG+B,cAAc,CAACe,EAAE,CAAC9C,KAAK,CAAC,GAAG6E,cAAc,GAAGF,0BAA0B;EAC3G,IAAIK,aAAa,GAAGhC,GAAG,GAAGA,GAAG,CAAC3I,MAAM,GAAG0H,cAAc,CAACe,EAAE,CAACzI,MAAM,CAAC,GAAGyK,eAAe,GAAGL,4BAA4B;EACjH,IAAIQ,cAAc,GAAGF,YAAY,GAAGV,iBAAiB,GAAGM,0BAA0B,GAAGJ,oBAAoB;EACzG,IAAIW,eAAe,GAAGF,aAAa,GAAGV,eAAe,GAAGG,4BAA4B,GAAGD,kBAAkB;EACzG,IAAIW,KAAK,GAAG5F,MAAM,CAAC;IACf8C,yBAAyB,EAAEzH,MAAI,CAACU,IAAI,CAAC8J,KAAK,CAACL,YAAY,GAAGM,gBAAgB,CAAC,EAAE/J,IAAI,CAAC8J,KAAK,CAACJ,aAAa,GAAGK,gBAAgB,CAAC,EAAElD,WAAW,CAAC;IACvIG,aAAa,EAAE1H,MAAI,CAACqK,cAAc,EAAEC,eAAe,EAAE/C,WAAW,CAAC;IACjEI,cAAc,EAAE3H,MAAI,CAACmK,YAAY,EAAEC,aAAa,EAAE7C,WAAW,CAAC;IAC9DK,WAAW,EAAE,IAAI3C,eAAe,CAAC+D,WAAW,EAAEH,UAAU,EAAEsB,YAAY,EAAEC,aAAa;EAC7F,CAAK,CAAC;EACFzD,KAAK,CAACsB,GAAG,CAAC7E,MAAM,EAAEmH,KAAK,CAAC;EACxB,OAAOA,KAAK;AAChB,CAAC;AACD,IAAIG,gBAAgB,GAAG,SAAAA,CAAUtH,MAAM,EAAEuH,WAAW,EAAE7C,kBAAkB,EAAE;EACtE,IAAIvC,EAAE,GAAGsC,iBAAiB,CAACzE,MAAM,EAAE0E,kBAAkB,CAAC;IAAEJ,aAAa,GAAGnC,EAAE,CAACmC,aAAa;IAAEC,cAAc,GAAGpC,EAAE,CAACoC,cAAc;IAAEF,yBAAyB,GAAGlC,EAAE,CAACkC,yBAAyB;EACtL,QAAQkD,WAAW;IACf,KAAKjG,wBAAwB,CAACkG,wBAAwB;MAClD,OAAOnD,yBAAyB;IACpC,KAAK/C,wBAAwB,CAACmG,UAAU;MACpC,OAAOnD,aAAa;IACxB;MACI,OAAOC,cAAc;EAC5B;AACL,CAAC;AC3ED,IAAImD,mBAAmB,GAAI,YAAY;EACnC,SAASA,mBAAmBA,CAAC1H,MAAM,EAAE;IACjC,IAAImH,KAAK,GAAG1C,iBAAiB,CAACzE,MAAM,CAAC;IACrC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACwE,WAAW,GAAG2C,KAAK,CAAC3C,WAAW;IACpC,IAAI,CAACF,aAAa,GAAG/C,MAAM,CAAC,CAAC4F,KAAK,CAAC7C,aAAa,CAAC,CAAC;IAClD,IAAI,CAACC,cAAc,GAAGhD,MAAM,CAAC,CAAC4F,KAAK,CAAC5C,cAAc,CAAC,CAAC;IACpD,IAAI,CAACF,yBAAyB,GAAG9C,MAAM,CAAC,CAAC4F,KAAK,CAAC9C,yBAAyB,CAAC,CAAC;EAC7E;EACD,OAAOqD,mBAAmB;AAC9B,CAAC,EAAG;ACXJ,IAAIC,qBAAqB,GAAG,SAAAA,CAAUC,IAAI,EAAE;EACxC,IAAIpF,QAAQ,CAACoF,IAAI,CAAC,EAAE;IAChB,OAAOC,QAAQ;EAClB;EACD,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,MAAM,GAAGH,IAAI,CAACI,UAAU;EAC5B,OAAOD,MAAM,EAAE;IACXD,KAAK,IAAI,CAAC;IACVC,MAAM,GAAGA,MAAM,CAACC,UAAU;EAC7B;EACD,OAAOF,KAAK;AAChB,CAAC;ACRD,IAAIG,2BAA2B,GAAG,SAAAA,CAAA,EAAY;EAC1C,IAAIC,eAAe,GAAGL,QAAQ;EAC9B,IAAIM,SAAS,GAAG,EAAE;EAClB7H,eAAe,CAAC8H,OAAO,CAAC,SAASC,eAAeA,CAAC5H,EAAE,EAAE;IACjD,IAAIA,EAAE,CAACC,aAAa,CAAC7F,MAAM,KAAK,CAAC,EAAE;MAC/B;IACH;IACD,IAAIyN,OAAO,GAAG,EAAE;IAChB7H,EAAE,CAACC,aAAa,CAAC0H,OAAO,CAAC,SAASG,aAAaA,CAACC,EAAE,EAAE;MAChD,IAAIC,KAAK,GAAG,IAAIf,mBAAmB,CAACc,EAAE,CAACxI,MAAM,CAAC;MAC9C,IAAI0I,WAAW,GAAGf,qBAAqB,CAACa,EAAE,CAACxI,MAAM,CAAC;MAClDsI,OAAO,CAACzJ,IAAI,CAAC4J,KAAK,CAAC;MACnBD,EAAE,CAACG,gBAAgB,GAAGrB,gBAAgB,CAACkB,EAAE,CAACxI,MAAM,EAAEwI,EAAE,CAACjB,WAAW,CAAC;MACjE,IAAImB,WAAW,GAAGR,eAAe,EAAE;QAC/BA,eAAe,GAAGQ,WAAW;MAChC;IACb,CAAS,CAAC;IACFP,SAAS,CAACtJ,IAAI,CAAC,SAAS+J,sBAAsBA,CAAA,EAAG;MAC7CnI,EAAE,CAAC3G,QAAQ,CAAC+O,IAAI,CAACpI,EAAE,CAACqI,QAAQ,EAAER,OAAO,EAAE7H,EAAE,CAACqI,QAAQ,CAAC;IAC/D,CAAS,CAAC;IACFrI,EAAE,CAACC,aAAa,CAACqI,MAAM,CAAC,CAAC,EAAEtI,EAAE,CAACC,aAAa,CAAC7F,MAAM,CAAC;EAC3D,CAAK,CAAC;EACF,KAAK,IAAImO,EAAE,GAAG,CAAC,EAAEC,WAAW,GAAGd,SAAS,EAAEa,EAAE,GAAGC,WAAW,CAACpO,MAAM,EAAEmO,EAAE,EAAE,EAAE;IACrE,IAAIlP,QAAQ,GAAGmP,WAAW,CAACD,EAAE,CAAC;IAC9BlP,QAAQ,EAAE;EACb;EACD,OAAOoO,eAAe;AAC1B,CAAC;AC7BD,IAAIgB,+BAA+B,GAAG,SAAAA,CAAUpB,KAAK,EAAE;EACnDxH,eAAe,CAAC8H,OAAO,CAAC,SAASC,eAAeA,CAAC5H,EAAE,EAAE;IACjDA,EAAE,CAACC,aAAa,CAACqI,MAAM,CAAC,CAAC,EAAEtI,EAAE,CAACC,aAAa,CAAC7F,MAAM,CAAC;IACnD4F,EAAE,CAACG,cAAc,CAACmI,MAAM,CAAC,CAAC,EAAEtI,EAAE,CAACG,cAAc,CAAC/F,MAAM,CAAC;IACrD4F,EAAE,CAAC0I,kBAAkB,CAACf,OAAO,CAAC,SAASG,aAAaA,CAACC,EAAE,EAAE;MACrD,IAAIA,EAAE,CAACY,QAAQ,EAAE,EAAE;QACf,IAAIzB,qBAAqB,CAACa,EAAE,CAACxI,MAAM,CAAC,GAAG8H,KAAK,EAAE;UAC1CrH,EAAE,CAACC,aAAa,CAAC7B,IAAI,CAAC2J,EAAE,CAAC;QAC5B,CAAA,MACI;UACD/H,EAAE,CAACG,cAAc,CAAC/B,IAAI,CAAC2J,EAAE,CAAC;QAC7B;MACJ;IACb,CAAS,CAAC;EACV,CAAK,CAAC;AACN,CAAC;ACZD,IAAIa,OAAO,GAAG,SAAAA,CAAA,EAAY;EACtB,IAAIvB,KAAK,GAAG,CAAC;EACboB,+BAA+B,CAACpB,KAAK,CAAC;EACtC,OAAOvH,qBAAqB,CAAA,CAAE,EAAE;IAC5BuH,KAAK,GAAGG,2BAA2B,CAAA,CAAE;IACrCiB,+BAA+B,CAACpB,KAAK,CAAC;EACzC;EACD,IAAInH,sBAAsB,CAAA,CAAE,EAAE;IAC1BG,sBAAsB,EAAE;EAC3B;EACD,OAAOgH,KAAK,GAAG,CAAC;AACpB,CAAC;AChBD,IAAIwB,OAAO;AACX,IAAInB,SAAS,GAAG,EAAE;AAClB,IAAIoB,MAAM,GAAG,SAAAA,CAAA,EAAY;EAAE,OAAOpB,SAAS,CAACY,MAAM,CAAC,CAAC,CAAC,CAACX,OAAO,CAAC,UAAUoB,EAAE,EAAE;IAAE,OAAOA,EAAE,CAAE,CAAA;EAAG,CAAA,CAAC;AAAC,CAAE;AAChG,IAAIC,cAAc,GAAG,SAAAA,CAAU3P,QAAQ,EAAE;EACrC,IAAI,CAACwP,OAAO,EAAE;IACV,IAAII,QAAQ,GAAG,CAAC;IAChB,IAAIC,IAAI,GAAGzI,QAAQ,CAAC0I,cAAc,CAAC,EAAE,CAAC;IACtC,IAAIC,MAAM,GAAG;MAAEC,aAAa,EAAE;KAAM;IACpC,IAAIC,gBAAgB,CAAC,YAAY;MAAE,OAAOR,MAAM,CAAE,CAAA;IAAG,CAAA,CAAC,CAACS,OAAO,CAACL,IAAI,EAAEE,MAAM,CAAC;IAC5EP,OAAO,GAAG,SAAAA,CAAA,EAAY;MAAEK,IAAI,CAACM,WAAW,GAAG,EAAE,CAACvQ,MAAM,CAACgQ,QAAQ,GAAGA,QAAQ,EAAE,GAAGA,QAAQ,EAAE,CAAC;IAAC,CAAE;EAC9F;EACDvB,SAAS,CAACtJ,IAAI,CAAC/E,QAAQ,CAAC;EACxBwP,OAAO,EAAE;AACb,CAAC;ACZD,IAAIY,mBAAmB,GAAG,SAAAA,CAAUV,EAAE,EAAE;EACpCC,cAAc,CAAC,SAASU,cAAcA,CAAA,EAAG;IACrCC,qBAAqB,CAACZ,EAAE,CAAC;EACjC,CAAK,CAAC;AACN,CAAC;ACFD,IAAIa,QAAQ,GAAG,CAAC;AAChB,IAAIC,UAAU,GAAG,SAAAA,CAAA,EAAY;EAAE,OAAO,CAAC,CAACD,QAAQ;AAAC,CAAE;AACnD,IAAIE,YAAY,GAAG,GAAG;AACtB,IAAIC,cAAc,GAAG;EAAEC,UAAU,EAAE,IAAI;EAAEX,aAAa,EAAE,IAAI;EAAEY,SAAS,EAAE,IAAI;EAAEC,OAAO,EAAE;CAAM;AAC9F,IAAIC,MAAM,GAAG,CACT,QAAQ,EACR,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,MAAM,EACN,OAAO,CACV;AACD,IAAIC,IAAI,GAAG,SAAAA,CAAUC,OAAO,EAAE;EAC1B,IAAIA,OAAO,KAAK,KAAK,CAAC,EAAE;IAAEA,OAAO,GAAG,CAAC;EAAG;EACxC,OAAOC,IAAI,CAACC,GAAG,CAAE,CAAA,GAAGF,OAAO;AAC/B,CAAC;AACD,IAAIG,SAAS,GAAG,KAAK;AACrB,IAAIC,SAAS,GAAI,YAAY;EACzB,SAASA,SAASA,CAAA,EAAG;IACjB,IAAIC,KAAK,GAAG,IAAI;IAChB,IAAI,CAACC,OAAO,GAAG,IAAI;IACnB,IAAI,CAACnM,QAAQ,GAAG,YAAY;MAAE,OAAOkM,KAAK,CAACE,QAAQ,CAAE,CAAA;KAAG;EAC3D;EACDH,SAAS,CAACjJ,SAAS,CAACqJ,GAAG,GAAG,UAAUR,OAAO,EAAE;IACzC,IAAIK,KAAK,GAAG,IAAI;IAChB,IAAIL,OAAO,KAAK,KAAK,CAAC,EAAE;MAAEA,OAAO,GAAGP,YAAY;IAAG;IACnD,IAAIU,SAAS,EAAE;MACX;IACH;IACDA,SAAS,GAAG,IAAI;IAChB,IAAIM,KAAK,GAAGV,IAAI,CAACC,OAAO,CAAC;IACzBZ,mBAAmB,CAAC,YAAY;MAC5B,IAAIsB,mBAAmB,GAAG,KAAK;MAC/B,IAAI;QACAA,mBAAmB,GAAGnC,OAAO,CAAA,CAAE;MAClC,CAAA,SACO;QACJ4B,SAAS,GAAG,KAAK;QACjBH,OAAO,GAAGS,KAAK,GAAGV,IAAI,EAAE;QACxB,IAAI,CAACP,UAAU,CAAA,CAAE,EAAE;UACf;QACH;QACD,IAAIkB,mBAAmB,EAAE;UACrBL,KAAK,CAACG,GAAG,CAAC,IAAI,CAAC;QAClB,CAAA,MACI,IAAIR,OAAO,GAAG,CAAC,EAAE;UAClBK,KAAK,CAACG,GAAG,CAACR,OAAO,CAAC;QACrB,CAAA,MACI;UACDK,KAAK,CAACM,KAAK,CAAA,CAAE;QAChB;MACJ;IACb,CAAS,CAAC;EACV,CAAK;EACDP,SAAS,CAACjJ,SAAS,CAACoJ,QAAQ,GAAG,YAAY;IACvC,IAAI,CAACK,IAAI,CAAA,CAAE;IACX,IAAI,CAACJ,GAAG,CAAA,CAAE;EAClB,CAAK;EACDJ,SAAS,CAACjJ,SAAS,CAAC+H,OAAO,GAAG,YAAY;IACtC,IAAImB,KAAK,GAAG,IAAI;IAChB,IAAI3B,EAAE,GAAG,SAAAA,CAAA,EAAY;MAAE,OAAO2B,KAAK,CAACrC,QAAQ,IAAIqC,KAAK,CAACrC,QAAQ,CAACkB,OAAO,CAAC9I,QAAQ,CAACyK,IAAI,EAAEnB,cAAc,CAAC;IAAC,CAAE;IACxGtJ,QAAQ,CAACyK,IAAI,GAAGnC,EAAE,CAAE,CAAA,GAAGlG,QAAM,CAAClD,gBAAgB,CAAC,kBAAkB,EAAEoJ,EAAE,CAAC;EAC9E,CAAK;EACD0B,SAAS,CAACjJ,SAAS,CAACwJ,KAAK,GAAG,YAAY;IACpC,IAAIN,KAAK,GAAG,IAAI;IAChB,IAAI,IAAI,CAACC,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,GAAG,KAAK;MACpB,IAAI,CAACtC,QAAQ,GAAG,IAAIiB,gBAAgB,CAAC,IAAI,CAAC9K,QAAQ,CAAC;MACnD,IAAI,CAAC+K,OAAO,CAAA,CAAE;MACdY,MAAM,CAACxC,OAAO,CAAC,UAAUwD,IAAI,EAAE;QAAE,OAAOtI,QAAM,CAAClD,gBAAgB,CAACwL,IAAI,EAAET,KAAK,CAAClM,QAAQ,EAAE,IAAI,CAAC;MAAG,CAAA,CAAC;IAClG;EACT,CAAK;EACDiM,SAAS,CAACjJ,SAAS,CAACyJ,IAAI,GAAG,YAAY;IACnC,IAAIP,KAAK,GAAG,IAAI;IAChB,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACf,IAAI,CAACtC,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAC+C,UAAU,CAAA,CAAE;MAC3CjB,MAAM,CAACxC,OAAO,CAAC,UAAUwD,IAAI,EAAE;QAAE,OAAOtI,QAAM,CAACjD,mBAAmB,CAACuL,IAAI,EAAET,KAAK,CAAClM,QAAQ,EAAE,IAAI,CAAC;MAAG,CAAA,CAAC;MAClG,IAAI,CAACmM,OAAO,GAAG,IAAI;IACtB;EACT,CAAK;EACD,OAAOF,SAAS;AACpB,CAAC,CAAA,CAAG;AACJ,IAAIY,SAAS,GAAG,IAAIZ,SAAS,EAAE;AAC/B,IAAIa,WAAW,GAAG,SAAAA,CAAUC,CAAC,EAAE;EAC3B,CAAC3B,QAAQ,IAAI2B,CAAC,GAAG,CAAC,IAAIF,SAAS,CAACL,KAAK,CAAA,CAAE;EACvCpB,QAAQ,IAAI2B,CAAC;EACb,CAAC3B,QAAQ,IAAIyB,SAAS,CAACJ,IAAI,EAAE;AACjC,CAAC;AC/FD,IAAIO,mBAAmB,GAAG,SAAAA,CAAUjM,MAAM,EAAE;EACxC,OAAO,CAACsC,KAAK,CAACtC,MAAM,CAAC,IACd,CAACmD,iBAAiB,CAACnD,MAAM,CAAC,IAC1B+E,gBAAgB,CAAC/E,MAAM,CAAC,CAAC5D,OAAO,KAAK,QAAQ;AACxD,CAAC;AACD,IAAI8P,iBAAiB,GAAI,YAAY;EACjC,SAASA,iBAAiBA,CAAClM,MAAM,EAAEuH,WAAW,EAAE;IAC5C,IAAI,CAACvH,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACuH,WAAW,GAAGA,WAAW,IAAIjG,wBAAwB,CAAC6K,WAAW;IACtE,IAAI,CAACxD,gBAAgB,GAAG;MACpBhH,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE;IACvB,CAAS;EACJ;EACDsK,iBAAiB,CAACjK,SAAS,CAACmH,QAAQ,GAAG,YAAY;IAC/C,IAAIxM,IAAI,GAAG0K,gBAAgB,CAAC,IAAI,CAACtH,MAAM,EAAE,IAAI,CAACuH,WAAW,EAAE,IAAI,CAAC;IAChE,IAAI0E,mBAAmB,CAAC,IAAI,CAACjM,MAAM,CAAC,EAAE;MAClC,IAAI,CAAC2I,gBAAgB,GAAG/L,IAAI;IAC/B;IACD,IAAI,IAAI,CAAC+L,gBAAgB,CAAChH,UAAU,KAAK/E,IAAI,CAAC+E,UAAU,IACjD,IAAI,CAACgH,gBAAgB,CAAC/G,SAAS,KAAKhF,IAAI,CAACgF,SAAS,EAAE;MACvD,OAAO,IAAI;IACd;IACD,OAAO,KAAK;EACpB,CAAK;EACD,OAAOsK,iBAAiB;AAC5B,CAAC,EAAG;AC7BJ,IAAIE,oBAAoB,GAAI,YAAY;EACpC,SAASA,oBAAoBA,CAACC,cAAc,EAAEvS,QAAQ,EAAE;IACpD,IAAI,CAAC4G,aAAa,GAAG,EAAE;IACvB,IAAI,CAACE,cAAc,GAAG,EAAE;IACxB,IAAI,CAACuI,kBAAkB,GAAG,EAAE;IAC5B,IAAI,CAACL,QAAQ,GAAGuD,cAAc;IAC9B,IAAI,CAACvS,QAAQ,GAAGA,QAAQ;EAC3B;EACD,OAAOsS,oBAAoB;AAC/B,CAAC,EAAG;ACLJ,IAAIE,WAAW,GAAG,IAAI9I,OAAO,EAAE;AAC/B,IAAI+I,mBAAmB,GAAG,SAAAA,CAAUpD,kBAAkB,EAAEnJ,MAAM,EAAE;EAC5D,KAAK,IAAIwM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrD,kBAAkB,CAACtO,MAAM,EAAE2R,CAAC,IAAI,CAAC,EAAE;IACnD,IAAIrD,kBAAkB,CAACqD,CAAC,CAAC,CAACxM,MAAM,KAAKA,MAAM,EAAE;MACzC,OAAOwM,CAAC;IACX;EACJ;EACD,OAAO,CAAC,CAAC;AACb,CAAC;AACD,IAAIC,wBAAwB,GAAI,YAAY;EACxC,SAASA,wBAAwBA,CAAA,EAAG,CACnC;EACDA,wBAAwB,CAACC,OAAO,GAAG,UAAUL,cAAc,EAAEvS,QAAQ,EAAE;IACnE,IAAI6S,MAAM,GAAG,IAAIP,oBAAoB,CAACC,cAAc,EAAEvS,QAAQ,CAAC;IAC/DwS,WAAW,CAACzH,GAAG,CAACwH,cAAc,EAAEM,MAAM,CAAC;EAC/C,CAAK;EACDF,wBAAwB,CAACzC,OAAO,GAAG,UAAUqC,cAAc,EAAErM,MAAM,EAAE4M,OAAO,EAAE;IAC1E,IAAID,MAAM,GAAGL,WAAW,CAAC1H,GAAG,CAACyH,cAAc,CAAC;IAC5C,IAAIQ,gBAAgB,GAAGF,MAAM,CAACxD,kBAAkB,CAACtO,MAAM,KAAK,CAAC;IAC7D,IAAI0R,mBAAmB,CAACI,MAAM,CAACxD,kBAAkB,EAAEnJ,MAAM,CAAC,GAAG,CAAC,EAAE;MAC5D6M,gBAAgB,IAAIvM,eAAe,CAACzB,IAAI,CAAC8N,MAAM,CAAC;MAChDA,MAAM,CAACxD,kBAAkB,CAACtK,IAAI,CAAC,IAAIqN,iBAAiB,CAAClM,MAAM,EAAE4M,OAAO,IAAIA,OAAO,CAACE,GAAG,CAAC,CAAC;MACrFf,WAAW,CAAC,CAAC,CAAC;MACdD,SAAS,CAACT,QAAQ,CAAA,CAAE;IACvB;EACT,CAAK;EACDoB,wBAAwB,CAACM,SAAS,GAAG,UAAUV,cAAc,EAAErM,MAAM,EAAE;IACnE,IAAI2M,MAAM,GAAGL,WAAW,CAAC1H,GAAG,CAACyH,cAAc,CAAC;IAC5C,IAAIW,KAAK,GAAGT,mBAAmB,CAACI,MAAM,CAACxD,kBAAkB,EAAEnJ,MAAM,CAAC;IAClE,IAAIiN,eAAe,GAAGN,MAAM,CAACxD,kBAAkB,CAACtO,MAAM,KAAK,CAAC;IAC5D,IAAImS,KAAK,IAAI,CAAC,EAAE;MACZC,eAAe,IAAI3M,eAAe,CAACyI,MAAM,CAACzI,eAAe,CAAC4M,OAAO,CAACP,MAAM,CAAC,EAAE,CAAC,CAAC;MAC7EA,MAAM,CAACxD,kBAAkB,CAACJ,MAAM,CAACiE,KAAK,EAAE,CAAC,CAAC;MAC1CjB,WAAW,CAAC,CAAC,CAAC,CAAC;IAClB;EACT,CAAK;EACDU,wBAAwB,CAACZ,UAAU,GAAG,UAAUQ,cAAc,EAAE;IAC5D,IAAIlB,KAAK,GAAG,IAAI;IAChB,IAAIwB,MAAM,GAAGL,WAAW,CAAC1H,GAAG,CAACyH,cAAc,CAAC;IAC5CM,MAAM,CAACxD,kBAAkB,CAACgE,KAAK,CAAE,CAAA,CAAC/E,OAAO,CAAC,UAAUI,EAAE,EAAE;MAAE,OAAO2C,KAAK,CAAC4B,SAAS,CAACV,cAAc,EAAE7D,EAAE,CAACxI,MAAM,CAAC;IAAG,CAAA,CAAC;IAC/G2M,MAAM,CAACjM,aAAa,CAACqI,MAAM,CAAC,CAAC,EAAE4D,MAAM,CAACjM,aAAa,CAAC7F,MAAM,CAAC;EACnE,CAAK;EACD,OAAO4R,wBAAwB;AACnC,CAAC,EAAG;AC7CJ,IAAItC,gBAAc,GAAI,YAAY;EAC9B,SAASA,cAAcA,CAACrQ,QAAQ,EAAE;IAC9B,IAAIc,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;MACxB,MAAM,IAAIuS,SAAS,CAAC,gFAAgF,CAAC;IACxG;IACD,IAAI,OAAOtT,QAAQ,KAAK,UAAU,EAAE;MAChC,MAAM,IAAIsT,SAAS,CAAC,+FAA+F,CAAC;IACvH;IACDX,wBAAwB,CAACC,OAAO,CAAC,IAAI,EAAE5S,QAAQ,CAAC;EACnD;EACDqQ,cAAc,CAAClI,SAAS,CAAC+H,OAAO,GAAG,UAAUhK,MAAM,EAAE4M,OAAO,EAAE;IAC1D,IAAIhS,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;MACxB,MAAM,IAAIuS,SAAS,CAAC,2FAA2F,CAAC;IACnH;IACD,IAAI,CAACtK,SAAS,CAAC9C,MAAM,CAAC,EAAE;MACpB,MAAM,IAAIoN,SAAS,CAAC,sFAAsF,CAAC;IAC9G;IACDX,wBAAwB,CAACzC,OAAO,CAAC,IAAI,EAAEhK,MAAM,EAAE4M,OAAO,CAAC;EAC/D,CAAK;EACDzC,cAAc,CAAClI,SAAS,CAAC8K,SAAS,GAAG,UAAU/M,MAAM,EAAE;IACnD,IAAIpF,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;MACxB,MAAM,IAAIuS,SAAS,CAAC,6FAA6F,CAAC;IACrH;IACD,IAAI,CAACtK,SAAS,CAAC9C,MAAM,CAAC,EAAE;MACpB,MAAM,IAAIoN,SAAS,CAAC,wFAAwF,CAAC;IAChH;IACDX,wBAAwB,CAACM,SAAS,CAAC,IAAI,EAAE/M,MAAM,CAAC;EACxD,CAAK;EACDmK,cAAc,CAAClI,SAAS,CAAC4J,UAAU,GAAG,YAAY;IAC9CY,wBAAwB,CAACZ,UAAU,CAAC,IAAI,CAAC;EACjD,CAAK;EACD1B,cAAc,CAACkD,QAAQ,GAAG,YAAY;IAClC,OAAO,gDAAgD;EAC/D,CAAK;EACD,OAAOlD,cAAc;AACzB,CAAC,EAAG;AChCS,MAAAmD,eAAA,GACX,OAAOpM,QAAA,KAAa,WAAe,IAAA,OAAOf,WAAW,WAAe,IAAAA,MAAA,CAAOgK,cACvE,GAAAhK,MAAA,CAAOgK,cACP,GAAAoD,gBAAAA;ACqCC,MAAMC,uBAAuBC,0BAA2B,CAAA,CAAA;AAE/D,SAASC,+BAAwDA,CAAA,EAAA;EACxD,OAAA;IACLC,SAAAA,CAAUlP,SAASmP,UAAY,EAAA;MAC7B,MAAMvB,iBAAiB,IAAIiB,eAAA,CAAgBO,IAAA,IAAa;QAAA,IAAZ,CAACpF,KAAK,CAAM,GAAAoF,IAAA;QAC3CD,UAAA,CAAA;UACTE,cAAcrF,KAAM,CAAAjE,WAAA;UACpBuJ,MAAQ,EAAA;YACN/L,KAAO,EAAAyG,KAAA,CAAMnE,aAAc,CAAA,CAAC,CAAE,CAAA3C,UAAA;YAC9BtF,MAAQ,EAAAoM,KAAA,CAAMnE,aAAc,CAAA,CAAC,CAAE,CAAA1C;UACjC,CAAA;UACAzF,OAAS,EAAA;YACP6F,KAAA,EAAOyG,MAAMjE,WAAY,CAAAxC,KAAA;YACzB3F,MAAA,EAAQoM,MAAMjE,WAAY,CAAAnI;UAC5B;QAAA,CACD,CAAA;MAAA,CACF,CAAA;MAEDgQ,cAAA,CAAerC,QAAQvL,OAAO,CAAA;MAE9B,OAAO,MAAM;QACX4N,cAAA,CAAeU,UAAUtO,OAAO,CAAA;QAChC4N,cAAA,CAAeR,UAAW,CAAA,CAAA;MAAA,CAC5B;IACF;EAAA,CACF;AACF;AAEA,SAAS4B,0BAAmDA,CAAA,EAAA;EACpD,MAAAO,YAAA,GAAA,mBAAmBxK,OAAiC,EAAA;EACpD,MAAAyK,gBAAA,GAAA,mBAAuBzK,OAA+C,EAAA;EAErE,OAAA;IACLmK,SAAAA,CAAUlP,SAASmP,UAAY,EAAA;MAC7B,MAAMM,WAAc,GAAAD,gBAAA,CAAiBrJ,GAAI,CAAAnG,OAAO,KAAK,EAAC;MAElD,IAAA0P,OAAA,GAAUH,YAAa,CAAApJ,GAAA,CAAInG,OAAO,CAAA;MAEtC,IAAI,CAACwP,gBAAA,CAAiBtJ,GAAI,CAAAlG,OAAO,CAAG,EAAA;QACjBwP,gBAAA,CAAApJ,GAAA,CAAIpG,SAASyP,WAAW,CAAA;QAEzC,MAAMjP,WAAWyO,+BAAgC,EAAA;QAGjDS,OAAA,GAAUlP,QAAS,CAAA0O,SAAA,CAAUlP,OAAS,EAAC2P,WAAgB,IAAA;UACrD,KAAA,MAAWC,OAAOH,WAAa,EAAA;YAC7BG,GAAA,CAAID,WAAW,CAAA;UACjB;QAAA,CACD,CAAA;MACH;MAEAF,WAAA,CAAYrP,KAAK+O,UAAU,CAAA;MAE3B,OAAO,MAAM;QAGL,MAAAU,GAAA,GAAMJ,WAAY,CAAAhB,OAAA,CAAQU,UAAU,CAAA;QAE1C,IAAIU,MAAM,CAAI,CAAA,EAAA;UACAJ,WAAA,CAAAnF,MAAA,CAAOuF,KAAK,CAAC,CAAA;QAC3B;QAEI,IAAAJ,WAAA,CAAYrT,WAAW,CAAG,EAAA;UAExB,IAAAsT,OAAA,EAAiBA,OAAA,EAAA;QACvB;MAAA,CACF;IACF;EAAA,CACF;AACF;AC5GO,SAASI,eAAe9P,OAAiD,EAAA;EAC9E,MAAM,CAAC7B,IAAA,EAAM4R,OAAO,CAAA,GAAIpP,SAA6B,IAAI,CAAA;EAEzDK,SAAA,CAAU,MAAM;IACd,IAAI,CAAChB,OAAA,EAAgB,OAAA,KAAA,CAAA;IAEd,OAAA+O,oBAAA,CAAqBG,SAAU,CAAAlP,OAAA,EAAS+P,OAAO,CAAA;EAAA,CACxD,EAAG,CAAC/P,OAAO,CAAC,CAAA;EAEL,OAAA7B,IAAA;AACT;ACTO,SAAS6R,eAAehQ,OAAqD,EAAA;EAC5E,MAAAiQ,WAAA,GAAcH,eAAe9P,OAAO,CAAA;EAE1C,OAAA,CAAOiQ,2CAAaZ,YAAgB,KAAA,IAAA;AACtC;ACPO,SAASa,iBAAiBC,SAAiD,EAAA;EAChF,OAAOnP,UAAU,MAAM;IACrBW,gBAAA,CAAiB,WAAWwO,SAAS,CAAA;IAE9B,OAAA,MAAMvO,mBAAoB,CAAA,SAAA,EAAWuO,SAAS,CAAA;EAAA,CACvD,EAAG,CAACA,SAAS,CAAC,CAAA;AAChB;ACTA,SAASC,eAAAA,CAAgBC,GAAWC,CAAW,EAAA;EAC7C,OAAOD,CAAI,GAAAC,CAAA;AACb;AAOgB,SAAAC,UAAAC,CAASH,GAAeC,CAAoB,EAAA;EACnD,OAAA;IACLG,CAAG,EAAA5R,IAAA,CAAK8J,KAAM,CAAA+H,OAAA,CAAMN,eAAgB,CAAAC,CAAA,CAAEI,CAAI,GAAA,GAAA,EAAKH,CAAE,CAAAG,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC,CAAA;IAChEE,CAAG,EAAA9R,IAAA,CAAK8J,KAAM,CAAA+H,OAAA,CAAMN,eAAgB,CAAAC,CAAA,CAAEM,CAAI,GAAA,GAAA,EAAKL,CAAE,CAAAK,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC,CAAA;IAChEN,CAAG,EAAAxR,IAAA,CAAK8J,KAAM,CAAA+H,OAAA,CAAMN,eAAgB,CAAAC,CAAA,CAAEA,CAAI,GAAA,GAAA,EAAKC,CAAE,CAAAD,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC;EAAA,CAClE;AACF;AAEA,SAASK,QAAME,GAAa,EAAA;EAC1B,OAAO/R,KAAKgS,GAAI,CAAAhS,IAAA,CAAKiS,IAAIF,GAAK,EAAA,GAAG,GAAG,CAAC,CAAA;AACvC;ACnBA,SAASG,aAAAA,CAAcV,GAAWC,CAAW,EAAA;EACpC,OAAAD,CAAA,GAAIC,IAAID,CAAI,GAAAC,CAAA;AACrB;AAOgB,SAAAU,QAAAC,CAAOZ,GAAeC,CAAoB,EAAA;EACjD,OAAA;IACLG,CAAG,EAAA5R,IAAA,CAAK8J,KAAM,CAAA+H,KAAA,CAAMK,aAAc,CAAAV,CAAA,CAAEI,CAAI,GAAA,GAAA,EAAKH,CAAE,CAAAG,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC,CAAA;IAC9DE,CAAG,EAAA9R,IAAA,CAAK8J,KAAM,CAAA+H,KAAA,CAAMK,aAAc,CAAAV,CAAA,CAAEM,CAAI,GAAA,GAAA,EAAKL,CAAE,CAAAK,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC,CAAA;IAC9DN,CAAG,EAAAxR,IAAA,CAAK8J,KAAM,CAAA+H,KAAA,CAAMK,aAAc,CAAAV,CAAA,CAAEA,CAAI,GAAA,GAAA,EAAKC,CAAE,CAAAD,CAAA,GAAI,GAAG,CAAA,GAAI,GAAG,CAAC;EAAA,CAChE;AACF;AAEA,SAASK,MAAME,GAAa,EAAA;EAC1B,OAAO/R,KAAKgS,GAAI,CAAAhS,IAAA,CAAKiS,IAAIF,GAAK,EAAA,GAAG,GAAG,CAAC,CAAA;AACvC;AChBO,SAASM,SAASC,GAAkB,EAAA;EACrC,IAAAA,GAAA,CAAI/U,WAAW,CAAG,EAAA;IACpB,MAAMgV,IAAO,GAAAD,GAAA,CAAIzC,KAAM,CAAA,CAAA,EAAG,CAAC,CAAA;IAC3B,MAAM2C,IAAO,GAAAF,GAAA,CAAIzC,KAAM,CAAA,CAAA,EAAG,CAAC,CAAA;IAC3B,MAAM4C,IAAO,GAAAH,GAAA,CAAIzC,KAAM,CAAA,CAAA,EAAG,CAAC,CAAA;IAEpB,OAAA;MACL+B,CAAG,EAAAc,QAAA,CAASH,IAAO,GAAAA,IAAA,EAAM,EAAE,CAAA;MAC3BT,CAAG,EAAAY,QAAA,CAASF,IAAO,GAAAA,IAAA,EAAM,EAAE,CAAA;MAC3BhB,CAAG,EAAAkB,QAAA,CAASD,IAAO,GAAAA,IAAA,EAAM,EAAE;IAAA,CAC7B;EACF;EAEO,OAAA;IACLb,GAAGc,QAAS,CAAAJ,GAAA,CAAIzC,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE,CAAA;IAC/BiC,GAAGY,QAAS,CAAAJ,GAAA,CAAIzC,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE,CAAA;IAC/B2B,GAAGkB,QAAS,CAAAJ,GAAA,CAAIzC,MAAM,CAAG,EAAA,CAAC,GAAG,EAAE;EAAA,CACjC;AACF;AAKO,SAAS8C,WAAWC,IAAoB,EAAA;EAC7C,MAAMrW,SAASqW,IAAK,CAAAC,OAAA,CAAQ,cAAc,EAAE,CAAA,CAAEC,MAAM,GAAG,CAAA;EAEhD,OAAA;IACLlB,CAAG,EAAAc,QAAA,CAASnW,MAAO,CAAA,CAAC,CAAC,CAAA;IACrBuV,CAAG,EAAAY,QAAA,CAASnW,MAAO,CAAA,CAAC,CAAC,CAAA;IACrBiV,CAAG,EAAAkB,QAAA,CAASnW,MAAO,CAAA,CAAC,CAAC,CAAA;IACrBwW,CAAG,EAAApM,UAAA,CAAWpK,MAAO,CAAA,CAAC,CAAC;EAAA,CACzB;AACF;AAKO,SAASyW,QAASA,CAAAC,KAAA,EAAwB;EAAA,IAAxB;IAACrB,CAAG;IAAAE,CAAA;IAAGN;GAAiB,GAAAyB,KAAA;EAC/C,OAAO,GAAQ,GAAA,CAAA,CAAA,CAAA,IAAK,EAAO,KAAArB,CAAA,IAAK,EAAO,CAAA,IAAAE,CAAA,IAAK,CAAK,CAAA,GAAAN,CAAA,EAAGzB,QAAS,CAAA,EAAE,CAAE,CAAAF,KAAA,CAAM,CAAC,CAAA;AAC1E;AAMO,SAASqD,QAASA,CAAAC,KAAA,EAAqB;EAAA,IAArB;IAACvB,CAAG;IAAAE,CAAA;IAAGN;GAAc,GAAA2B,KAAA;EAEvCvB,CAAA,IAAA,GAAA;EACAE,CAAA,IAAA,GAAA;EACAN,CAAA,IAAA,GAAA;EAGL,MAAM4B,IAAO,GAAApT,IAAA,CAAKiS,GAAI,CAAAL,CAAA,EAAGE,GAAGN,CAAC,CAAA;EAC7B,MAAM6B,IAAO,GAAArT,IAAA,CAAKgS,GAAI,CAAAJ,CAAA,EAAGE,GAAGN,CAAC,CAAA;EAC7B,MAAM8B,QAAQD,IAAO,GAAAD,IAAA;EAErB,IAAIG,CAAI,GAAA,CAAA;EACR,IAAI9B,CAAI,GAAA,CAAA;EACR,IAAI+B,CAAI,GAAA,CAAA;EAIR,IAAIF,KAAS,IAAA,CAAA,EAAOC,CAAA,GAAA,CAAA,CAAA,KAAA,IAEXF,IAAQ,IAAAzB,CAAA,EAAS2B,CAAA,GAAA,CAAAzB,CAAA,GAAIN,KAAK8B,KAAS,GAAA,CAAA,CAAA,KAAA,IAEnCD,IAAQ,IAAAvB,CAAA,EAAQyB,CAAA,GAAA,CAAA/B,CAAA,GAAII,KAAK0B,KAAQ,GAAA,CAAA,CAAA,KAEhCC,CAAA,GAAA,CAAA3B,CAAA,GAAIE,KAAKwB,KAAQ,GAAA,CAAA;EAEvBC,CAAA,GAAAvT,IAAA,CAAK8J,KAAM,CAAAyJ,CAAA,GAAI,EAAE,CAAA;EAGrB,IAAIA,CAAI,GAAA,CAAA,EAAQA,CAAA,IAAA,GAAA;EAGhBC,CAAA,GAAA,CAAKH,OAAOD,IAAQ,IAAA,CAAA;EAGhB3B,CAAA,GAAA6B,KAAA,IAAS,IAAI,CAAI,GAAAA,KAAA,IAAS,IAAItT,IAAK,CAAAyT,GAAA,CAAI,CAAI,GAAAD,CAAA,GAAI,CAAC,CAAA,CAAA;EAGpD/B,CAAA,GAAI,CAAE,CAAAA,CAAA,GAAI,GAAK,EAAAiC,OAAA,CAAQ,CAAC,CAAA;EACxBF,CAAA,GAAI,CAAE,CAAAA,CAAA,GAAI,GAAK,EAAAE,OAAA,CAAQ,CAAC,CAAA;EAEjB,OAAA;IAACH,CAAG;IAAA9B,CAAA;IAAG+B;GAAC;AACjB;AAKO,SAASG,SAASC,GAAe,EAAA;EAEhC,MAAAnC,CAAA,GAAImC,IAAInC,CAAI,GAAA,GAAA;EACZ,MAAA+B,CAAA,GAAII,IAAIJ,CAAI,GAAA,GAAA;EAElB,MAAMK,KAAK,CAAI,GAAA7T,IAAA,CAAKyT,IAAI,CAAI,GAAAD,CAAA,GAAI,CAAC,CAAK,IAAA/B,CAAA;EAChC,MAAAjN,CAAA,GAAIqP,KAAK,CAAI,GAAA7T,IAAA,CAAKyT,IAAMG,GAAI,CAAAL,CAAA,GAAI,EAAM,GAAA,CAAA,GAAK,CAAC,CAAA,CAAA;EAC5C,MAAAO,CAAA,GAAIN,IAAIK,CAAI,GAAA,CAAA;EAElB,IAAIjC,CAAI,GAAA,CAAA;EACR,IAAIE,CAAI,GAAA,CAAA;EACR,IAAIN,CAAI,GAAA,CAAA;EAER,IAAI,CAAK,IAAAoC,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,EAAI,EAAA;IACxB3B,CAAA,GAAAiC,CAAA;IACA/B,CAAA,GAAAtN,CAAA;IACAgN,CAAA,GAAA,CAAA;EAAA,WACK,EAAM,IAAAoC,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,GAAK,EAAA;IACjC3B,CAAA,GAAApN,CAAA;IACAsN,CAAA,GAAA+B,CAAA;IACArC,CAAA,GAAA,CAAA;EAAA,WACK,GAAO,IAAAoC,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,GAAK,EAAA;IAClC3B,CAAA,GAAA,CAAA;IACAE,CAAA,GAAA+B,CAAA;IACArC,CAAA,GAAAhN,CAAA;EAAA,WACK,GAAO,IAAAoP,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,GAAK,EAAA;IAClC3B,CAAA,GAAA,CAAA;IACAE,CAAA,GAAAtN,CAAA;IACAgN,CAAA,GAAAqC,CAAA;EAAA,WACK,GAAO,IAAAD,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,GAAK,EAAA;IAClC3B,CAAA,GAAApN,CAAA;IACAsN,CAAA,GAAA,CAAA;IACAN,CAAA,GAAAqC,CAAA;EAAA,WACK,GAAO,IAAAD,GAAA,CAAIL,CAAK,IAAAK,GAAA,CAAIL,IAAI,GAAK,EAAA;IAClC3B,CAAA,GAAAiC,CAAA;IACA/B,CAAA,GAAA,CAAA;IACAN,CAAA,GAAAhN,CAAA;EACN;EAEO,OAAA;IACLoN,CAAG,EAAA5R,IAAA,CAAK8J,KAAO,CAAA,CAAA8H,CAAA,GAAIkC,KAAK,GAAG,CAAA;IAC3BhC,CAAG,EAAA9R,IAAA,CAAK8J,KAAO,CAAA,CAAAgI,CAAA,GAAIgC,KAAK,GAAG,CAAA;IAC3BtC,CAAG,EAAAxR,IAAA,CAAK8J,KAAO,CAAA,CAAA0H,CAAA,GAAIsC,KAAK,GAAG;EAAA,CAC7B;AACF;ACzIA,MAAMC,SAAY,GAAA,wBAAA;AAElB,MAAMC,MAAS,GAAA,uEAAA;AAEf,SAASC,WAAWC,GAAa,EAAA;EAC/B,KAAA,MAAWL,KAAKK,GAAK,EAAA;IACnB,IAAIH,SAAU,CAAAnE,OAAA,CAAQiE,CAAC,CAAA,KAAM,CAAI,CAAA,EAAA;MACxB,OAAA,KAAA;IACT;EACF;EAEO,OAAA,IAAA;AACT;AAEA,SAASM,MAAMD,GAAa,EAAA;EACtB,IAAAA,GAAA,CAAI,CAAC,CAAM,KAAA,GAAA,EAAY,OAAA,KAAA;EAG3B,IAAI,EAAEA,GAAA,CAAI3W,MAAW,KAAA,CAAA,IAAK2W,IAAI3W,MAAW,KAAA,CAAA,CAAA,EAAW,OAAA,KAAA;EAEpD,OAAO0W,UAAW,CAAAC,GAAA,CAAIrE,KAAM,CAAA,CAAC,CAAC,CAAA;AAChC;AAEA,SAASuE,SAASF,GAAkB,EAAA;EAC5B,MAAAG,GAAA,GAAML,MAAO,CAAAM,IAAA,CAAKJ,GAAG,CAAA;EAE3B,IAAI,CAACG,GAAK,EAAA;IACR,MAAM,IAAI5W,KAAA,CAAM,wCAAyC,CAAArB,MAAA,CAAA8X,GAAA,EAAG,GAAG,CAAA,CAAA;EACjE;EAEA,OAAO;IAACX,CAAG,EAAAb,QAAA,CAAS2B,IAAI,CAAC,CAAC;IAAG5C,CAAG,EAAA9K,UAAA,CAAW0N,GAAI,CAAA,CAAC,CAAC,CAAG;IAAAb,CAAA,EAAG7M,WAAW0N,GAAI,CAAA,CAAC,CAAC;GAAC;AAC3E;AAKO,SAASE,WAAWC,KAA4B,EAAA;EACrD,IAAI,CAACA,KAAA,EAAO,OAAO;IAAC5C,CAAG,EAAA,CAAA;IAAGE,CAAG,EAAA,CAAA;IAAGN,GAAG;GAAC;EAEhC,IAAA,OAAOgD,UAAU,QAAU,EAAA;IACvB,MAAA,IAAI/W,MAAM,+BAA+B,CAAA;EACjD;EAEI,IAAA0W,KAAA,CAAMK,KAAK,CAAG,EAAA;IAChB,OAAOnC,SAASmC,KAAK,CAAA;EACvB;EAEI,IAAAA,KAAA,CAAMC,UAAW,CAAA,MAAM,CAAG,EAAA;IACrB,OAAAd,QAAA,CAASS,QAAS,CAAAI,KAAK,CAAC,CAAA;EACjC;EAEI,IAAAA,KAAA,CAAMC,UAAW,CAAA,OAAO,CAAG,EAAA;IAC7B,OAAO9B,WAAW6B,KAAK,CAAA;EACzB;EAEA,MAAM,IAAI/W,KAAA,CAAM,wCAAyC,CAAArB,MAAA,CAAAoY,KAAA,EAAK,GAAG,CAAA,CAAA;AACnE;ACtDgB,SAAA5B,IAAAA,CAAK4B,OAAgBzB,CAAmB,EAAA;EAChD,MAAA2B,GAAA,GAAMH,WAAWC,KAAK,CAAA;EAErB,OAAA,OAAA,CAAQpY,MAAI,CAAAsY,GAAA,CAAA9C,CAAA,EAAC,GAAI,CAAA,CAAAxV,MAAA,CAAAsY,GAAA,CAAI5C,GAAC,GAAI,CAAA,CAAA1V,MAAA,CAAAsY,GAAA,CAAIlD,CAAC,EAAA,GAAA,CAAA,CAAIpV,MAAC,CAAA2W,CAAA,EAAA,GAAA,CAAA;AAC7C;ACDgB,SAAArB,QAAAA,CAASiD,IAAYC,EAAoB,EAAA;EACjD,MAAApD,CAAA,GAAI+C,WAAWI,EAAE,CAAA;EACjB,MAAAlD,CAAA,GAAI8C,WAAWK,EAAE,CAAA;EACvB,MAAMtC,GAAM,GAAAU,QAAA,CAAS6B,UAAU,CAAArD,CAAA,EAAGC,CAAC,CAAC,CAAA;EAEpC,IAAIA,EAAEsB,CAAG,EAAA;IACA,OAAAH,IAAA,CAAKN,GAAK,EAAAb,CAAA,CAAEsB,CAAC,CAAA;EACtB;EAEO,OAAAT,GAAA;AACT;AAEgB,SAAAH,MAAAA,CAAOwC,IAAYC,EAAoB,EAAA;EAC/C,MAAApD,CAAA,GAAI+C,WAAWI,EAAE,CAAA;EACjB,MAAAlD,CAAA,GAAI8C,WAAWK,EAAE,CAAA;EACvB,MAAMtC,GAAM,GAAAU,QAAA,CAAS8B,QAAQ,CAAAtD,CAAA,EAAGC,CAAC,CAAC,CAAA;EAElC,IAAIA,EAAEsB,CAAG,EAAA;IACA,OAAAH,IAAA,CAAKN,GAAK,EAAAb,CAAA,CAAEsB,CAAC,CAAA;EACtB;EAEO,OAAAT,GAAA;AACT;ACpBO,MAAMyC,SAAY,GAAA,CACvB,cAAA,EACA,gBAAA,EACA,eAAA;AAAA;AAEA,WAAA,EACA,YAAA,EACA,WAAA,EACA,aAAA,EACA,SAAA,EACA,eAAA,EACA,gBAAA,EACA,WAAA,EACA,iBAAA,EACA,kBAAA,EACA,SAAA;AAAA;AAEA,cAAA,EAEA,cAAA,EACA,eAAA,EACA,aAAA,EACA,mBAAA,EACA,eAAA,EACA,wBAAA;AAAA;AAGA,cAAA;AAAA;AACA,aAAA;AAAA;AAEA,2BAAA,EACA,yBAAA,EACA,4BAAA,EACA,2BAAA,EACA,iBAAA;AAAA;AAEA,eAAA,EACA,aAAA,CACF;AAmBA,MAAMC,YAAkE,GAAA;EACtEC,KAAO,EAAA;IACL,cAAgB,EAAA,KAAA;IAChB,gBAAkB,EAAA,KAAA;IAClB,eAAiB,EAAA,KAAA;IACjB,WAAa,EAAA,KAAA;IACb,YAAc,EAAA,KAAA;IACd,WAAa,EAAA;MACXlP,IAAM,EAAA,WAAA;MACNjK,KAAA,EAAOoZ,IAAK,CAAAC,IAAA,CAAK,KAAK;IACxB,CAAA;IACA,aAAe,EAAA;MACbpP,IAAM,EAAA,WAAA;MACNjK,KAAA,EAAOoZ,IAAK,CAAAE,GAAA,CAAI,KAAK;IACvB,CAAA;IACA,SAAW,EAAA;MACTrP,IAAM,EAAA,WAAA;MACNjK,KAAO,EAAAuZ;IACT,CAAA;IACA,eAAiB,EAAA,IAAA;IACjB,gBAAkB,EAAA,KAAA;IAClB,WAAa,EAAA,KAAA;IACb,iBAAmB,EAAA,KAAA;IACnB,kBAAoB,EAAA,KAAA;IACpB,SAAW,EAAA,IAAA;IACX,cAAgB,EAAA,IAAA;IAChB,cAAgB,EAAA,KAAA;IAChB,eAAiB,EAAA;MACftP,IAAM,EAAA,WAAA;MACNjK,KAAO,EAAAuZ;IACT,CAAA;IACA,aAAe,EAAA,KAAA;IACf,mBAAqB,EAAA,KAAA;IACrB,eAAiB,EAAA,KAAA;IACjB,wBAA0B,EAAA;MACxBtP,IAAM,EAAA,WAAA;MACNjK,KAAO,EAAAuZ;IACT,CAAA;IACA,cAAgB,EAAA,IAAA;IAChB,aAAe,EAAA;MACbtP,IAAM,EAAA,WAAA;MACNjK,KAAO,EAAAuZ;IACT,CAAA;IACA,iBAAmB,EAAA;MAACtP,IAAM,EAAA,WAAA;MAAajK,OAAOuZ;IAAK,CAAA;IACnD,2BAA6B,EAAA;MAC3BtP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,yBAA2B,EAAA;MACzBxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,4BAA8B,EAAA;MAC5BxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,2BAA6B,EAAA;MAC3BxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,eAAiB,EAAA,KAAA;IACjB,aAAe,EAAA;MACbxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,IAAA;MACNC,OAAS,EAAA;IACX;EACF,CAAA;EACAC,IAAM,EAAA;IACJ,cAAgB,EAAA,IAAA;IAChB,gBAAkB,EAAA,KAAA;IAClB,eAAiB,EAAA,KAAA;IACjB,WAAa,EAAA,KAAA;IACb,YAAc,EAAA,KAAA;IACd,WAAa,EAAA;MACXzP,IAAM,EAAA,WAAA;MACNjK,KAAA,EAAOoZ,IAAK,CAAAC,IAAA,CAAK,KAAK;IACxB,CAAA;IACA,aAAe,EAAA;MACbpP,IAAM,EAAA,WAAA;MACNjK,KAAA,EAAOoZ,IAAK,CAAAE,GAAA,CAAI,KAAK;IACvB,CAAA;IACA,SAAW,EAAA;MAACrP,IAAM,EAAA,WAAA;MAAajK,OAAO2Z;IAAK,CAAA;IAC3C,eAAiB,EAAA,KAAA;IACjB,gBAAkB,EAAA,KAAA;IAClB,WAAa,EAAA,KAAA;IACb,iBAAmB,EAAA,KAAA;IACnB,kBAAoB,EAAA,KAAA;IACpB,SAAW,EAAA,KAAA;IACX,cAAgB,EAAA,KAAA;IAChB,cAAgB,EAAA,KAAA;IAChB,eAAA,EAAiB;MAAC1P,IAAM,EAAA,WAAA;MAAajK,OAAOoZ,IAAK,CAAAQ,IAAA,CAAK,GAAG;IAAC,CAAA;IAC1D,aAAe,EAAA,KAAA;IACf,mBAAqB,EAAA,KAAA;IACrB,eAAiB,EAAA,KAAA;IACjB,wBAAA,EAA0B;MAAC3P,IAAM,EAAA,WAAA;MAAajK,OAAOoZ,IAAK,CAAAQ,IAAA,CAAK,GAAG;IAAC,CAAA;IACnE,cAAgB,EAAA,KAAA;IAChB,iBAAmB,EAAA;MAAC3P,IAAM,EAAA,WAAA;MAAajK,OAAO2Z;IAAK,CAAA;IACnD,2BAA6B,EAAA;MAC3B1P,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,yBAA2B,EAAA;MACzBxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,4BAA8B,EAAA;MAC5BxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,2BAA6B,EAAA;MAC3BxP,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,KAAA;MACNC,OAAS,EAAA;IACX,CAAA;IACA,aAAe,EAAA;MACbxP,IAAM,EAAA,WAAA;MACNjK,KAAO,EAAA2Z;IACT,CAAA;IACA,eAAiB,EAAA,KAAA;IACjB,aAAe,EAAA;MACb1P,IAAM,EAAA,kBAAA;MACNuP,IAAM,EAAA,IAAA;MACNC,OAAS,EAAA;IACX;EACF;AACF,CAAA;AAEO,MAAMI,UAGT,GAAA;EACFV,KAAO,EAAA;IACLW,OAAS,EAAA;MACP,GAAGZ,YAAa,CAAAC,KAAA;MAChB,cAAgB,EAAA;QAAClP,IAAM,EAAA,WAAA;QAAajK,OAAOuZ;MAAK,CAAA;MAChD,WAAa,EAAA,KAAA;MACb,iBAAmB,EAAA,KAAA;MACnB,kBAAoB,EAAA;QAACtP,IAAM,EAAA,WAAA;QAAajK,OAAO2Z;MAAK,CAAA;MACpD,eAAiB,EAAA;IACnB,CAAA;IACAI,OAAS,EAAA;MACP,GAAGb,YAAa,CAAAC,KAAA;MAChB,WAAa,EAAA,KAAA;MACb,iBAAmB,EAAA,KAAA;MACnB,kBAAoB,EAAA;QAAClP,IAAM,EAAA,WAAA;QAAajK,OAAO2Z;MAAK,CAAA;MACpD,eAAiB,EAAA;IACnB,CAAA;IACAK,QAAU,EAAA;MACR,GAAGd,YAAa,CAAAC,KAAA;MAChB,eAAA,EAAiB;QAAClP,IAAM,EAAA,WAAA;QAAajK,OAAOoZ,IAAK,CAAAQ,IAAA,CAAK,EAAE;MAAC,CAAA;MACzD,gBAAkB,EAAA,IAAA;MAClB,WAAa,EAAA,KAAA;MACb,iBAAmB,EAAA,KAAA;MACnB,kBAAoB,EAAA,KAAA;MACpB,eAAiB,EAAA;IACnB,CAAA;IACAK,aAAaf,YAAa,CAAAC,KAAA;IAC1Be,SAAShB,YAAa,CAAAC,KAAA;IACtBgB,UAAU;MAAC,GAAGjB,YAAa,CAAAC,KAAA;MAAO,iBAAiB;IAAK;EAC1D,CAAA;EACAO,IAAM,EAAA;IACJI,OAAS,EAAA;MACP,GAAGZ,YAAa,CAAAQ,IAAA;MAChB,cAAgB,EAAA;QAACzP,IAAM,EAAA,WAAA;QAAajK,OAAO2Z;MAAK,CAAA;MAChD,cAAgB,EAAA;QAAC1P,IAAM,EAAA,WAAA;QAAajK,OAAOuZ;MAAK,CAAA;MAChD,WAAa,EAAA;QAACtP,IAAM,EAAA,WAAA;QAAajK,OAAOuZ;MAAK,CAAA;MAC7C,iBAAmB,EAAA,IAAA;MACnB,kBAAoB,EAAA,KAAA;MACpB,yBAA2B,EAAA;QACzBtP,IAAM,EAAA,kBAAA;QACNuP,IAAM,EAAA,KAAA;QACNC,OAAS,EAAA;MACX,CAAA;MACA,4BAA8B,EAAA;QAC5BxP,IAAM,EAAA,kBAAA;QACNuP,IAAM,EAAA,KAAA;QACNC,OAAS,EAAA;MACX,CAAA;MACA,2BAA6B,EAAA;QAC3BxP,IAAM,EAAA,kBAAA;QACNuP,IAAM,EAAA,KAAA;QACNC,OAAS,EAAA;MACX;IACF,CAAA;IACAM,OAAS,EAAA;MACP,GAAGb,YAAa,CAAAQ,IAAA;MAChB,cAAgB,EAAA;QAACzP,IAAM,EAAA,WAAA;QAAajK,OAAOuZ;MAAK,CAAA;MAChD,WAAa,EAAA;QAACtP,IAAM,EAAA,WAAA;QAAajK,OAAOuZ;MAAK,CAAA;MAC7C,iBAAmB,EAAA,IAAA;MACnB,kBAAoB,EAAA;IACtB,CAAA;IACAS,QAAU,EAAA;MACR,GAAGd,YAAa,CAAAQ,IAAA;MAChB,eAAA,EAAiB;QAACzP,IAAM,EAAA,WAAA;QAAajK,OAAOoZ,IAAK,CAAAQ,IAAA,CAAK,GAAG;MAAC,CAAA;MAC1D,gBAAkB,EAAA,KAAA;MAClB,WAAa,EAAA,KAAA;MACb,iBAAmB,EAAA,KAAA;MACnB,kBAAoB,EAAA,KAAA;MACpB,eAAiB,EAAA;IACnB,CAAA;IACAK,aAAaf,YAAa,CAAAQ,IAAA;IAC1BQ,SAAShB,YAAa,CAAAQ,IAAA;IACtBS,UAAU;MAAC,GAAGjB,YAAa,CAAAQ,IAAA;MAAM,iBAAiB;IAAK;EACzD;AACF,CAAA;AAEO,MAAMU,aAAgB,GAAAA,CAC3BC,KACA,EAAAC,MAAA,EACAC,MACApa,GACc,KAAA;EACd,MAAMH,QAAQ6Z,UAAW,CAAAS,MAAM,CAAE,CAAAC,IAAI,EAAEpa,GAAG,CAAA;EAEtC,IAAA,OAAOH,UAAU,QAAU,EAAA;IAC7B,OAAOqa,MAAMra,KAAK,CAAA;EACpB;EAEI,IAAAA,KAAA,CAAMiK,SAAS,kBAAoB,EAAA;IAC/B,MAAAvH,IAAA,GAAO2X,KAAM,CAAAra,KAAA,CAAMwZ,IAAI,CAAA;IAEtB,OAAA;MACLhD,GAAK,EAAAM,IAAA,CAAKpU,IAAK,CAAA8T,GAAA,EAAKxW,MAAMyZ,OAAO,CAAA;MACjCe,KAAA,EAAO,EAAG,CAAAla,MAAA,CAAAoC,IAAA,CAAK8X,KAAK,EAAA,GAAA,CAAA,CAAIla,YAAK0N,KAAM,CAAAhO,KAAA,CAAMyZ,OAAU,GAAA,GAAG,CAAC,EAAA,GAAA;IAAA,CACzD;EACF;EAEA,OAAOzZ,KAAM,CAAAA,KAAA;AACf,CAAA;AAEO,MAAMya,WAAc,GAAAA,CACzBJ,KACA,EAAAC,MAAA,EACAC,MACApa,GACW,KAAA;EACX,OAAOia,aAAc,CAAAC,KAAA,EAAOC,MAAQ,EAAAC,IAAA,EAAMpa,GAAG,CAAE,CAAAqW,GAAA;AACjD,CAAA;AClTO,MAAMkE,gBAAgBA,CAACH,IAAA,EAAsBpa,GAA0B,KAAA,IAAA,CAAKG,aAAI,GAAI,CAAA,CAAAA,MAAA,CAAAH,GAAA,CAAA;AAEpF,MAAMwa,uBAAuB,SAAAA,CAClCL,MAAA,EACAM,KACA,EAE2B;EAAA,IAF3BC,WAAA,GAAArZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAA8B;MAC9BsZ,MAC2B,GAAAtZ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3B,MAAMqZ,iBAAyC,CAAA,CAAC;EAC1C,MAAAhb,IAAA,GAAOsI,MAAO,CAAAtI,IAAA,CAAK6a,KAAK,CAAA;EACxB,MAAAI,GAAA,GAAMV,MAAW,KAAA,MAAA,GAASjE,MAAS,GAAAT,QAAA;EACzC,MAAMqF,cAAcJ,WAAgB,KAAA,SAAA;EAE/B9a,IAAA,CAAAiP,OAAA,CAASkM,KAA0B,IAAA;IAChC,MAAAX,IAAA,GAAOW,KAAS,IAAA,SAAA,GAAYL,WAAc,GAAAK,KAAA;IAC1C,MAAA1B,IAAA,GAAOoB,MAAML,IAAI,CAAA;IAEbtB,SAAA,CAAAjK,OAAA,CAAS7O,GAAQ,IAAA;MACzB,MAAMgb,QAAW,GAAAV,WAAA,CAAYjB,IAAM,EAAAc,MAAA,EAAQC,MAAMpa,GAAG,CAAA;MAC9C,MAAAib,OAAA,GAAUV,aAAc,CAAAQ,KAAA,EAAO/a,GAAG,CAAA;MACxC,MAAMkb,WAAc,GAAAJ,WAAA,IAAe,CAAC9a,GAAA,CAAIwY,WAAW,OAAO,CAAA;MAE1DoC,cAAA,CAAeK,OAAO,CAAI,GAAAC,WAAA,GAAcL,GAAI,CAAAF,MAAA,EAAQK,QAAQ,CAAI,GAAAA,QAAA;IAAA,CACjE,CAAA;EAAA,CACF,CAAA;EAID,IAAIN,gBAAgB,SAAW,EAAA;IAC7BE,cAAA,CAAeL,cAAc,SAAW,EAAA,SAAS,CAAC,CAAI,GAAAY,iBAAA,CAAkBxB,QAAQ,cAAc,CAAA;EAChG;EAEO,OAAAiB,cAAA;AACT,CAAA;AAEA,MAAMQ,UAA+B,GAAA,CACnC,SAAA,EACA,aAAA,EACA,SAAA,EACA,UAAA,EACA,SAAA,EACA,UAAA,CACF;AAEO,MAAMD,oBAGTC,UAAW,CAAAtb,MAAA,CACb,CAACub,KAAKjB,IAAS,KAAA;EACTiB,GAAA,CAAAjB,IAAI,IAAItB,SAAU,CAAAhZ,MAAA,CACpB,CAACub,MAAKrb,GAAQ,KAAA;IACZqb,KAAIrb,GAAG,CAAA,GAAI,OAAOG,MAAc,CAAAoa,aAAA,CAAAH,IAAA,EAAMpa,GAAG,CAAC,EAAA,GAAA,CAAA;IAEnCqb,OAAAA,IAAAA;EACT,CAAA,EACA,CAAC,CAAA,CACH;EAEO,OAAAA,GAAA;AACT,CAAA,EACA,CAAC,CACH,CAAA;AC5DO,MAAMC,oBAAuB,GAAA;EAClC,UAAY,EAAA,iBAAA;EACZ,gBAAkB,EAAA,uBAAA;EAClB,YAAc,EAAA,mBAAA;EACd,UAAY,EAAA,iBAAA;EACZ,UAAY,EAAA,iBAAA;EACZ,cAAgB,EAAA;AAClB,CAAA;AAMO,MAAMC,mBAAsErT,MAAO,CAAAtI,IAAA,CACxF0b,oBACF,CAAE,CAAAxb,MAAA,CACA,CAACub,KAAKrb,GAAQ,KAAA;EACZ,MAAMwb,IAAO,GAAAxb,GAAA;EAEbqb,GAAA,CAAIG,IAAI,CAAA,GAAI,MAAO,CAAArb,MAAA,CAAAmb,oBAAA,CAAqBE,IAAI,CAAC,EAAA,GAAA,CAAA;EAEtC,OAAAH,GAAA;AACT,CAAA,EACA,CAAC,CACH,CAAA;AA+BO,MAAMI,aAAiD,GAAA;EAC5D,6BAAA,EAA+BN,iBAAkB,CAAAxB,OAAA,CAAQ,2BAA2B,CAAA;EACpF,2BAAA,EAA6BwB,iBAAkB,CAAAxB,OAAA,CAAQ,yBAAyB,CAAA;EAChF,8BAAA,EAAgCwB,iBAAkB,CAAAxB,OAAA,CAAQ,4BAA4B,CAAA;EACtF,6BAAA,EAA+BwB,iBAAkB,CAAAxB,OAAA,CAAQ,2BAA2B,CAAA;EACpF,yBAAA,EAA2BwB,iBAAkB,CAAAtB,QAAA,CAAS,WAAW,CAAA;EACjE,mBAAA,EAAqBsB,iBAAkB,CAAAxB,OAAA,CAAQ,cAAc,CAAA;EAC7D,iBAAmB,EAAA,SAAA;EAAA;EAGnB,iBAAA,EAAmBwB,iBAAkB,CAAAxB,OAAA,CAAQ,SAAS,CAAA;EAEtD,iBAAA,EAAmBwB,iBAAkB,CAAAxB,OAAA,CAAQ,cAAc,CAAA;EAE3D,uBAAA,EAAyBwB,iBAAkB,CAAAxB,OAAA,CAAQ,gBAAgB,CAAA;EACnE,wBAAA,EAA0BwB,iBAAkB,CAAAxB,OAAA,CAAQ,aAAa,CAAA;EACjE,sBAAA,EAAwBwB,iBAAkB,CAAAxB,OAAA,CAAQ,WAAW,CAAA;EAC7D,sBAAA,EAAwBwB,iBAAkB,CAAAxB,OAAA,CAAQ,cAAc,CAAA;EAChE,sBAAA,EAAwBwB,iBAAkB,CAAAxB,OAAA,CAAQ,WAAW,CAAA;EAE7D,4BAAA,EAA8BwB,iBAAkB,CAAAxB,OAAA,CAAQ,eAAe,CAAA;EACvE,0BAAA,EAA4BwB,iBAAkB,CAAAxB,OAAA,CAAQ,aAAa,CAAA;EAAA;EAGnE,mBAAA,EAAqBwB,iBAAkB,CAAAxB,OAAA,CAAQ,WAAW,CAAA;EAC1D,4BAAA,EAA8BwB,iBAAkB,CAAAxB,OAAA,CAAQ,aAAa,CAAA;EACrE,4BAAA,EAA8BwB,iBAAkB,CAAAxB,OAAA,CAAQ,aAAa,CAAA;EAAA;EAGrE,kBAAA,EAAoBwB,iBAAkB,CAAAxB,OAAA,CAAQ,SAAS;AACzD,CAAA;AClFO,MAAM+B,aAAgB,GAAA,SAAAA,CAC3BvB,MACA,EAAAM,KAAA,EAE2B;EAAA,IAD3BC,kFAA8B,SACH;EAC3B,MAAMC,SAASL,WAAY,CAAAG,KAAA,CAAMC,WAAW,CAAG,EAAAP,MAAA,EAAQO,aAAa,cAAc,CAAA;EAClF,MAAMiB,SAAY,GAAAnB,oBAAA,CAAqBL,MAAQ,EAAAM,KAAA,EAAOC,aAAaC,MAAM,CAAA;EAEzE,OAAO;IAAC,GAAGgB,SAAW;IAAA,GAAGF;GAAa;AACxC,CAAA;AAKO,MAAMG,OAAU,GAAA;EACrB,GAAGT,iBAAA;EAAA;AAAA;AAAA;AAAA;EAKHU,OAAS,EAAAN;AACX,CAAA;AC3BO,MAAMd,KAA4C,GAAA;EACvDd,SAASV,IAAK,CAAAQ,IAAA;EACdK,aAAab,IAAK,CAAAQ,IAAA;EAClBG,SAASX,IAAK,CAAAQ,IAAA;EACdI,UAAUZ,IAAK,CAAA6C,IAAA;EACf/B,SAASd,IAAK,CAAA8C,MAAA;EACd/B,UAAUf,IAAK,CAAAE;AACjB,CAAA;ACRO,MAAMnX,KAAoB,GAAA;EAC/Bga,IAAM,EAAA;IACJ/Z,MAAQ,EAAA,oFAAA;IACRE,OAAS,EAAA;MACPE,OAAS,EAAA,GAAA;MACT4Z,MAAQ,EAAA,GAAA;MACRC,QAAU,EAAA,GAAA;MACVC,IAAM,EAAA;IACR,CAAA;IACAja,KAAO,EAAA,CACL;MACEoB,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA;EAEJ,CAAA;EACA2Y,OAAS,EAAA;IACPna,MACE,EAAA,4IAAA;IACFE,OAAS,EAAA;MACPE,OAAS,EAAA,GAAA;MACT4Z,MAAQ,EAAA,GAAA;MACRC,QAAU,EAAA,GAAA;MACVC,IAAM,EAAA;IACR,CAAA;IACAja,KAAO,EAAA,CACL;MACEoB,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA;EAEJ,CAAA;EACA4Y,KAAO,EAAA;IACLpa,MACE,EAAA,0HAAA;IACFE,OAAS,EAAA;MACPE,OAAS,EAAA,GAAA;MACT4Z,MAAQ,EAAA,GAAA;MACRC,QAAU,EAAA,GAAA;MACVC,IAAM,EAAA;IACR,CAAA;IACAja,KAAO,EAAA,CACL;MACEoB,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,GAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,KAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,KAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,IAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA;EAEJ,CAAA;EACA6Y,IAAM,EAAA;IACJra,MACE,EAAA,4IAAA;IACFE,OAAS,EAAA;MACPE,OAAS,EAAA,GAAA;MACT4Z,MAAQ,EAAA,GAAA;MACRC,QAAU,EAAA,GAAA;MACVC,IAAM,EAAA;IACR,CAAA;IACAja,KAAO,EAAA,CACL;MACEoB,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA,EACA;MACEH,cAAgB,EAAA,CAAA;MAChBC,eAAiB,EAAA,CAAA;MACjBH,QAAU,EAAA,EAAA;MACVI,QAAU,EAAA,EAAA;MACVE,UAAY,EAAA,EAAA;MACZD,aAAe,EAAA;IACjB,CAAA;EAEJ;AACF,CAAA;ACnNO,MAAM8Y,WAAyB,GAAA;EACpCC,MAAQ,EAAA;IACNta,KAAO,EAAA,CACL;MAACua,QAAA,EAAU,CAAI,CAAA;MAAApZ,IAAA,EAAM;IAAE,CAAA,EACvB;MAACoZ,QAAA,EAAU,CAAI,CAAA;MAAApZ,IAAA,EAAM;IAAE,CAAA,EACvB;MAACoZ,QAAA,EAAU,CAAI,CAAA;MAAApZ,IAAA,EAAM;IAAE,CAAA,CACzB;IACAqZ,SAAW,EAAA;MAACC,MAAQ,EAAA,CAAA;MAAGlU,OAAO;IAAC;EACjC,CAAA;EACAmU,MAAQ,EAAA;IACNC,UAAY,EAAA,QAAA;IACZH,SAAW,EAAA;MAACC,MAAQ,EAAA,CAAA,CAAA;MAAIlU,OAAO;IAAC;EAClC,CAAA;EACAqU,IAAM,EAAA;IACJJ,SAAW,EAAA;MAACC,MAAQ,EAAA,CAAA,CAAA;MAAIlU,OAAO;IAAC;EAClC,CAAA;EACA8P,KAAO,EAAA;IACLkC,KAAA;IAAA;IAAA;IAIAlY,IAAA,EAAM;MAACmW,EAAA,EAAI;IAAQ;EACrB,CAAA;EACAqE,WAAW,CAAC,GAAA,EAAK,KAAK,GAAK,EAAA,IAAA,EAAM,MAAM,IAAI,CAAA;EAC3CL,SAAW,EAAA;IACTC,MAAQ,EAAA,CAAA;IACRlU,KAAO,EAAA;EACT,CAAA;EACAzG,KAAA;EACA3B,OAAO,CAAC,GAAA,EAAK,KAAK,GAAK,EAAA,IAAA,EAAM,MAAM,IAAI,CAAA;EACvC2c,MAAA,EAAQ,CAAC,CAAG,EAAA,CAAA,EAAG,GAAG,CAAG,EAAA,CAAA,EAAG,IAAI,EAAE,CAAA;EAC9BC,OAAS,EAAA,CACP,IAAA,EACA;IAACC,OAAO,CAAC,CAAA,EAAG,GAAG,CAAG,EAAA,CAAC;IAAGC,QAAU,EAAA,CAAC,GAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAG;IAAAC,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,CAAG,EAAA,CAAC;EAAC,CAAA,EACnE;IAACF,OAAO,CAAC,CAAA,EAAG,GAAG,CAAG,EAAA,CAAA,CAAE;IAAGC,QAAU,EAAA,CAAC,GAAG,CAAG,EAAA,EAAA,EAAI,CAAC,CAAG;IAAAC,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,CAAC;EAAC,CAAA,EACtE;IAACF,OAAO,CAAC,CAAA,EAAG,GAAG,CAAG,EAAA,CAAA,CAAE;IAAGC,QAAU,EAAA,CAAC,GAAG,EAAI,EAAA,EAAA,EAAI,CAAC,CAAG;IAAAC,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,CAAC;EAAC,CAAA,EACvE;IAACF,OAAO,CAAC,CAAA,EAAG,GAAG,EAAI,EAAA,CAAA,CAAE;IAAGC,QAAU,EAAA,CAAC,GAAG,EAAI,EAAA,EAAA,EAAI,CAAC,CAAG;IAAAC,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,CAAC;EAAC,CAAA,EACxE;IAACF,OAAO,CAAC,CAAA,EAAG,IAAI,EAAI,EAAA,CAAA,CAAE;IAAGC,QAAU,EAAA,CAAC,GAAG,EAAI,EAAA,EAAA,EAAI,CAAC,CAAG;IAAAC,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,CAAC;EAAC,CAAA,CAC3E;EACAzb,KAAA,EAAO,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,EAAA,EAAI,EAAI,EAAA,EAAA,EAAI,EAAI,EAAA,GAAA,EAAK,GAAG,CAAA;EAC7C0b,KAAO,EAAA;IACLC,QAAU,EAAA;MACRja,IAAM,EAAA,EAAA;MACNqZ,SAAW,EAAA;QAACC,MAAQ,EAAA,CAAA,CAAA;QAAIlU,OAAO;MAAC;IAClC,CAAA;IACA8U,KAAO,EAAA;MACLla,IAAM,EAAA,EAAA;MACNma,QAAU,EAAA,CAAA;MACVd,SAAW,EAAA;QAACC,MAAQ,EAAA,CAAA,CAAA;QAAIlU,OAAO;MAAC;IAClC,CAAA;IACAgV,MAAQ,EAAA;MACNhV,KAAO,EAAA,EAAA;MACP3F,MAAQ,EAAA,EAAA;MACRJ,OAAS,EAAA,CAAA;MACTgb,oBAAsB,EAAA,GAAA;MACtBC,wBAA0B,EAAA,UAAA;MAC1BjB,SAAW,EAAA;QAACC,MAAQ,EAAA,CAAA;QAAGlU,OAAO;MAAC;IACjC,CAAA;IACA+L,MAAQ,EAAA;MACN/L,KAAO,EAAA;IACT,CAAA;IACAmV,MAAQ,EAAA;MACNlB,SAAW,EAAA;QAACC,MAAQ,EAAA,CAAA,CAAA;QAAIlU,OAAO;MAAC;IAClC,CAAA;IACA6T,IAAM,EAAA;MACJI,SAAW,EAAA;QAACC,MAAQ,EAAA,CAAA,CAAA;QAAIlU,OAAO;MAAC;IAClC;EACF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAaF,CAAA;;ACrFO,MAAMoV,mBAAkC,GAAA;EAC7CC,MAAA,EAAQ;IAACC,OAAA,EAAS;EAAG,CAAA;EACrBC,OAAA,EAAS;IAACD,OAAA,EAAS;EAAG,CAAA;EACtBE,OAAA,EAAS;IAACF,OAAA,EAAS;EAAG;AACxB,CAAA;ACFO,SAASG,qBAAqBC,KAAuC,EAAA;EAC1E,OAAOjW,OAAOtI,IAAK,CAAAue,KAAK,EAAEre,MAAO,CAAA,CAACub,KAAKrb,GAAQ,KAAA;IAC7C,OAAO,GAAGG,MAAM,CAAAkb,GAAA,CAAA,CAAAlb,MAAA,CAAAH,GAAA,EAAG,IAAK,CAAA,CAAAG,MAAA,CAAAge,KAAA,CAAMne,GAAG,CAAC,EAAA,IAAA,CAAA;KACjC,EAAE,CAAA;AACP;ACEA,SAASoe,cAAiBA,CAAA,EAAA;EACxB,IAAI,OAAOC,UAAe,KAAA,WAAA,EAAoB,OAAAA,UAAA;EAC9C,IAAI,OAAOzX,MAAW,KAAA,WAAA,EAAoB,OAAAA,MAAA;EAC1C,IAAI,OAAO0X,IAAS,KAAA,WAAA,EAAoB,OAAAA,IAAA;EACxC,IAAI,OAAOvU,MAAW,KAAA,WAAA,EAAoB,OAAAA,MAAA;EAEpC,MAAA,IAAIvI,MAAM,2CAA2C,CAAA;AAC7D;AAEO,MAAM+c,cAAcH,cAAe,CAAA,CAAA;ACf1C,MAAMpe,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,0BAA0B,CAAA;AAEjDF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAwC,IAAI,CAAA;AAKtE,MAAAC,YAAA,GAAwDJ,YAAYve,KAAG,CAAA;ACPpF,MAAMA,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,gCAAgC,CAAA;AAEvDF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAuC,IAAI,CAAA;AAKrE,MAAAE,WAAA,GAAsDL,YAAYve,KAAG,CAAA;ACM3E,SAAS6e,aAAa1d,KAA8C,EAAA;EACzE,MAAM;IAAC2d,QAAA;IAAU3E,MAAQ;IAAAC;EAAA,CAAQ,GAAAjZ,KAAA;EACjC,MAAM4d,OAAOC,YAAa,EAAA;EAC1B,MAAMnf,KAA0B,GAAAiF,OAAA,CAC9B,OAAO;IACLma,OAAS,EAAA,CAAA;IACT9E,MAAA,EAAQA,UAAU4E,IAAK,CAAA5E,MAAA;IACvBC;EAAA,CACF,CAAA,EACA,CAAC2E,IAAA,CAAK5E,MAAQ,EAAAA,MAAA,EAAQC,IAAI,CAAA,CAC5B;EAEA,OAAQ,eAAA8E,GAAA,CAAAN,WAAA,CAAYO,QAAZ,EAAA;IAAqBtf;IAAeif;EAAS,CAAA,CAAA;AACvD;;;;;;AC9BA,IAAAlW,IAAA;AAUA,MAAMwW,kBAAkBC,iBAAmC,CAAAzW,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,mBAAA,EAEnC,cAAlBC,KAAA;EAAA,IAAC;IAACC;EAAW,CAAA,GAAAD,KAAA;EAAA,OAAAC,KAAA;AAAA,EAAA;AAiBZ,SAASC,cAActe,KAA+C,EAAA;EACrE,MAAAue,WAAA,GAAcC,WAAWhB,YAAY,CAAA;EACrC,MAAA;IACJG,QAAA;IACA3E,MAAA,GAAA,CAASuF,2CAAavF,MAAU,KAAA,OAAA;IAChCjZ,KAAA,EAAO0e,SAAY,GAAA,CAAAF,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAaxe,KAAS,KAAA,IAAA;IACzCkZ,IAAA,GAAA,CAAOsF,2CAAatF,IAAQ,KAAA;EAC1B,CAAA,GAAAjZ,KAAA;EAEE,MAAAD,KAAA,GAAsB4D,QAAQ,MAAM;IACxC,IAAI,CAAC8a,SAAA,EAAkB,OAAA,IAAA;IAEvB,MAAM;MAACC,KAAA,EAAOC,SAAW;MAAA,GAAGC;KAAa,GAAAH,SAAA;IAEzC,MAAMC,QAAQC,SAAa,IAAAjC,mBAAA;IAE3B,OAAO;MAACpc,MAAQ,EAAA;QAAC,GAAGse,SAAA;QAAWF;MAAM;IAAA,CAAA;EAAA,CACvC,EAAG,CAACD,SAAS,CAAC,CAAA;EAEd,MAAM/f,KAAkC,GAAAiF,OAAA,CACtC,MACE8a,SAAa,IAAA;IACXX,OAAS,EAAA,CAAA;IACT/d,KAAO,EAAA0e,SAAA;IACPzF,MAAA;IACAC;EACF,CAAA,EACF,CAACwF,SAAW,EAAAzF,MAAA,EAAQC,IAAI,CAAA,CAC1B;EAEM,MAAA4F,YAAA,GAAelb,QAAQ,MAAM;IAC7B,IAAA,EAAC8a,uCAAWrH,KAAM,CAAAkC,KAAA,CAAA,EAAO;IAE7B,OAAOyD,qBAAqBxC,aAAc,CAAAvB,MAAA,EAAQyF,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAArH,KAAA,CAAMkC,KAAK,CAAC,CAAA;EAAA,GACxE,CAACN,MAAA,EAAQyF,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAArH,KAAA,CAAMkC,KAAK,CAAC,CAAA;EAEnC,IAAI,CAACvZ,KAAO,EAAA;IACH,OAAA,eAAAge,GAAA,CAAC;MAAIJ,QAA2C,EAAA;IAAA,CAAA,CAAA;EACzD;EAEA,OAAA,eACGmB,IAAA,CAAAtB,YAAA,CAAaQ,QAAb,EAAA;IAAsBtf,KACrB;IAAAif,QAAA,EAAA,CAAC,eAAAI,GAAA,CAAAE,eAAA,EAAA;MAAgBI,OAAOQ;IAAc,CAAA,CAAA,EACtC,eAAAd,GAAA,CAACgB;MAAoBhf,KACnB;MAAA4d,QAAA,EAAA,eAAAI,GAAA,CAACL;QAAazE,IAAY;QAAAD,MAAA;QACvB2E;OACH;IACF,CAAA,CAAA;EACF,CAAA,CAAA;AAEJ;AC/EO,SAASqB,SAAStgB,KAAkD,EAAA;EACzE,OAAO2F,OAAQ,CAAA3F,KAAA,IAAS,OAAOA,KAAA,KAAU,QAAQ,CAAA;AACnD;ACOO,SAASmf,YAAkCA,CAAA,EAAA;EAC1C,MAAAnf,KAAA,GAAiB8f,WAAWhB,YAAY,CAAA;EAE9C,IAAI,CAAC9e,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,uCAAuC,CAAA;EACzD;EAKA,IAAI,CAAC2e,QAAS,CAAAtgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAK,EAAA;IACvC,MAAA,IAAIzd,MAAM,qDAAqD,CAAA;EACvE;EAEO,OAAA3B,KAAA;AACT;ACNO,SAASugB,mBAAmBjf,KAAoD,EAAA;EACrF,MAAM;IAAC2d,QAAA;IAAU3E,MAAQ;IAAAC;EAAA,CAAQ,GAAAjZ,KAAA;EACjC,MAAM4d,OAAOC,YAAa,EAAA;EAGxB,OAAA,eAAAE,GAAA,CAACO,aAAc,EAAA;IAAAtF,MAAA,EAAQA,MAAU,IAAA4E,IAAA,CAAK5E;IAAQjZ,KAAO,EAAA6d,IAAA,CAAK7d,KAAO;IAAAkZ,IAAA;IAC9D0E;EACH,CAAA,CAAA;AAEJ;ACpBO,SAASuB,QAAkBA,CAAA,EAAA;EAChC,OAAOC,UAAe,CAAA,CAAA;AACxB;ACEA,MAAMC,iBAAA,GAAA,mBAAwBtW,OAA+B,EAAA;AAO7D,SAASuW,cAAAA,CAAengB,OAAiBoT,KAA2B,EAAA;EAClE,IAAIA,UAAU,CAAG,EAAA;IACf,OAAO,yBAA0B,CAAAtT,MAAA,CAAAE,KAAA,CAAMoT,KAAK,CAAA,GAAI,CAAC,EAAA,KAAA,CAAA;EACnD;EAEI,IAAAA,KAAA,KAAUpT,MAAMiB,MAAQ,EAAA;IAC1B,OAAO,yBAA0B,CAAAnB,MAAA,CAAAE,KAAA,CAAMoT,KAAQ,GAAA,CAAC,CAAC,EAAA,KAAA,CAAA;EACnD;EAEO,OAAA,yBAAA,CAA0BtT,aAAMsT,KAAQ,GAAA,CAAC,GAAC,sBAAuB,CAAA,CAAAtT,MAAA,CAAAE,KAAA,CAAMoT,KAAK,CAAA,GAAI,CAAC,EAAA,KAAA,CAAA;AAC1F;AAEA,SAASgN,kBAAkBpgB,KAA8B,EAAA;EACvD,MAAMqgB,WAAWrgB,KAAM,CAAAiB,MAAA;EACnB,IAAAY,KAAA;EAKJ,MAAMye,WAAWA,CAAA,KAAM;IACrB,IAAI,CAACze,KAAO,EAAA;MACVA,KAAA,GAAQ,EAAC;MAET,KAAA,IAASuR,KAAQ,GAAAiN,QAAA,EAAUjN,KAAQ,GAAA,CAAA,CAAA,EAAIA,SAAS,CAAG,EAAA;QAC3C,MAAAmN,UAAA,GAAaJ,cAAe,CAAAngB,KAAA,EAAOoT,KAAK,CAAA;QAExCvR,KAAA,CAAAoD,IAAA,CAAK;UAACmO,KAAO;UAAAoN,EAAA,EAAIja,OAAOka,UAAW,CAAAF,UAAU;SAAE,CAAA;MACvD;IACF;IAEO,OAAA1e,KAAA;EAAA,CACT;EAEA,MAAM6e,cAAcA,CAAA,KAAM;IACxB,KAAA,MAAW;MAACtN,KAAA;MAAOoN;IAAE,CAAA,IAAKF,UAAY,EAAA;MACpC,IAAIE,EAAG,CAAAG,OAAA,EAAgB,OAAAvN,KAAA;IACzB;IAEO,OAAA,CAAA;EAAA,CACT;EAEM,MAAAW,SAAA,GAAa6M,aAA8B,IAAA;IAC/C,MAAMC,aAA6B,EAAC;IAEpC,KAAA,MAAW;MAACL;KAAO,IAAAF,QAAA,EAAY,EAAA;MAC7B,MAAMQ,eAAeA,CAAA,KAAM;QACzB,IAAIN,EAAG,CAAAG,OAAA,EAAuBC,aAAA,EAAA;MAAA,CAChC;MAEGJ,EAAA,CAAAha,gBAAA,CAAiB,UAAUsa,YAAY,CAAA;MAE1CD,UAAA,CAAW5b,KAAK,MAAMub,EAAA,CAAG/Z,mBAAoB,CAAA,QAAA,EAAUqa,YAAY,CAAC,CAAA;IACtE;IAEA,OAAO,MAAM;MACX,KAAA,MAAWC,aAAaF,UAAY,EAAA;QACxBE,SAAA,EAAA;MACZ;IAAA,CACF;EAAA,CACF;EAEO,OAAA;IAACL;IAAa3M;GAAS;AAChC;AASA,SAASiN,mBAAoBC,CAAA,EAAA;EACpB,OAAA,CAAA;AACT;AAMO,SAASC,aAAwBA,CAAA,EAAA;EACtC,MAAMrgB,QAAQmf,QAAS,EAAA;EACjB,MAAA;IAAChgB;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAElB,IAAA+f,KAAA,GAAQjB,iBAAkB,CAAAlV,GAAA,CAAIhL,KAAK,CAAA;EAEvC,IAAI,CAACmhB,KAAO,EAAA;IACVA,KAAA,GAAQf,kBAAkBpgB,KAAK,CAAA;IACbkgB,iBAAA,CAAAjV,GAAA,CAAIjL,OAAOmhB,KAAK,CAAA;EACpC;EAEA,OAAOC,oBAAqB,CAAAD,KAAA,CAAMpN,SAAW,EAAAoN,KAAA,CAAMT,aAAaM,mBAAiB,CAAA;AACnF;AC3GA,IAAIK,mBAAA;AAKJ,SAASC,eAAgCC,CAAA,EAAA;EACvC,IAAI,CAACF,mBAAmB,EAAA;IAGFA,mBAAA,GAAA9a,MAAA,CAAOka,WAAW,8BAA8B,CAAA;EACtE;EAEO,OAAAY,mBAAA;AACT;AAYA,SAAStN,YAAU6M,aAAuC,EAAA;EACxD,MAAMH,aAAaa,eAAc,EAAA;EAEtBb,UAAA,CAAAja,gBAAA,CAAiB,UAAUoa,aAAa,CAAA;EAEnD,OAAO,MAAMH,UAAA,CAAWha,mBAAoB,CAAA,QAAA,EAAUma,aAAa,CAAA;AACrE;AAOA,SAASF,aAAcc,CAAA,EAAA;EACrB,OAAOF,gBAAgB,CAAA,CAAAX,OAAA;AACzB;AASA,SAASK,mBAAoBS,CAAA,EAAA;EACpB,OAAA,KAAA;AACT;AAKO,SAASC,cAA0BA,CAAA,EAAA;EACjC,OAAAN,oBAAA,CAAqBrN,WAAW,EAAA2M,aAAA,EAAaM,mBAAiB,CAAA;AACvE;AC1DA,IAAIK,iBAAA;AAKJ,SAASC,aAAgCA,CAAA,EAAA;EACvC,IAAI,CAACD,iBAAmB,EAAA;IAGFA,iBAAA,GAAA9a,MAAA,CAAOka,WAAW,kCAAkC,CAAA;EAC1E;EAEO,OAAAY,iBAAA;AACT;AAYA,SAAStN,UAAU6M,aAAuC,EAAA;EACxD,MAAMH,aAAaa,aAAc,EAAA;EAEtBb,UAAA,CAAAja,gBAAA,CAAiB,UAAUoa,aAAa,CAAA;EAEnD,OAAO,MAAMH,UAAA,CAAWha,mBAAoB,CAAA,QAAA,EAAUma,aAAa,CAAA;AACrE;AAOA,SAASF,WAAcA,CAAA,EAAA;EACrB,OAAOY,cAAgB,CAAA,CAAAX,OAAA;AACzB;AASA,SAASK,iBAAoBA,CAAA,EAAA;EACpB,OAAA,KAAA;AACT;AAMO,SAASW,uBAAmCA,CAAA,EAAA;EAC1C,OAAAP,oBAAA,CAAqBrN,SAAW,EAAA2M,WAAA,EAAaM,iBAAiB,CAAA;AACvE;ACxDO,MAAMY,mBAAsB,GAAA,OAAOrb,MAAW,KAAA,WAAA,GAAcsb,eAAkB,GAAAhc,SAAA;ACC9E,SAASic,gBAAmBC,GAA8D,EAAA;EACzF,MAAAC,QAAA,GAAWpc,OAAiB,IAAI,CAAA;EAEtCgc,mBAAA,CAAoB,MAAM;IACxB,IAAI,CAACG,GAAA,EAAK;IAEN,IAAA,OAAOA,QAAQ,UAAY,EAAA;MAC7BA,GAAA,CAAIC,SAASjc,OAAO,CAAA;IAAA,CACf,MAAA;MACLgc,GAAA,CAAIhc,UAAUic,QAAS,CAAAjc,OAAA;IACzB;EAAA,CACD,CAAA;EAEM,OAAAic,QAAA;AACT;ACfgB,SAAAC,iBAAAA,CACdF,KACAG,cACM,EAAA;EACNrc,SAAA,CAAU,MAAM;IACd,IAAIkc,IAAIhc,OAAS,EAAA;MACXgc,GAAA,CAAAhc,OAAA,CAAQoc,iBAAkB,CAAAD,cAAA,IAAkB,EAAE,CAAA;IACpD;EAAA,CACC,EAAA,CAACA,cAAgB,EAAAH,GAAG,CAAC,CAAA;AAC1B;ACJO,SAASK,cAAmCA,CAAA,EAAA;EAC3C,MAAA5iB,KAAA,GAAiB8f,WAAWf,WAAW,CAAA;EAE7C,IAAI,CAAC/e,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,yCAAyC,CAAA;EAC3D;EAKA,IAAI,CAAC2e,QAAS,CAAAtgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAK,EAAA;IACvC,MAAA,IAAIzd,MAAM,uDAAuD,CAAA;EACzE;EAEO,OAAA3B,KAAA;AACT;ACnBA,MAAM6iB,YAAe,GAAA,YAAA,CAAaviB,MAAQ,CAAAyb,OAAA,CAAAjC,OAAA,CAAQ,aAAa,CAAA,CAAA;AAExD,SAASgJ,qBAEdA,CAAA,EAAA;EACA,OAAO,CAACnO,MAAA,EAAQlI,SAAW,EAAAE,WAAA,EAAaE,cAAcE,UAAU,CAAA;AAClE;AAEA,SAAS4H,OAAOrT,KAAgD,EAAA;EACxD,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAA,EAAOc,KAAM,CAAAyhB,OAAA,EAAU/iB,KAAA,IACxCA,KAAQ,GAAA;IAAC,MAAM;MAAC2U,MAAA,EAAQkO;IAAY;EAAA,IAAK;IAAC,IAAA,EAAM;MAAClO,MAAA,EAAQ;;EAAE,CAAA,CAC7D;AACF;AAEA,SAASlI,UAAUnL,KAAgD,EAAA;EAC3D,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAA,EAAOc,KAAM,CAAA0hB,UAAA,EAAahjB,KAAA,IAC3CA,KAAQ,GAAA;IAAC,MAAM;MAACyM,SAAA,EAAWoW;IAAY;EAAA,IAAK;IAAC,IAAA,EAAM;MAACpW,SAAA,EAAW;;EAAE,CAAA,CACnE;AACF;AAEA,SAASE,YAAYrL,KAAgD,EAAA;EAC7D,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAA,EAAOc,KAAM,CAAA2hB,YAAA,EAAejjB,KAAA,IAC7CA,KAAQ,GAAA;IAAC,MAAM;MAAC2M,WAAA,EAAakW;IAAY;EAAA,IAAK;IAAC,IAAA,EAAM;MAAClW,WAAA,EAAa;;EAAE,CAAA,CACvE;AACF;AAEA,SAASE,aAAavL,KAAgD,EAAA;EAC9D,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAA,EAAOc,KAAM,CAAA4hB,aAAA,EAAgBljB,KAAA,IAC9CA,KAAQ,GAAA;IAAC,MAAM;MAAC6M,YAAA,EAAcgW;IAAY;EAAA,IAAK;IAAC,IAAA,EAAM;MAAChW,YAAA,EAAc;;EAAE,CAAA,CACzE;AACF;AAEA,SAASE,WAAWzL,KAAgD,EAAA;EAC5D,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAA,EAAOc,KAAM,CAAA6hB,WAAA,EAAcnjB,KAAA,IAC5CA,KAAQ,GAAA;IAAC,MAAM;MAAC+M,UAAA,EAAY8V;IAAY;EAAA,IAAK;IAAC,IAAA,EAAM;MAAC9V,UAAA,EAAY;;EAAE,CAAA,CACrE;AACF;ACnDA,MAAMqW,YAAwB,GAAA;EAC5B,iCAAmC,EAAA;IACjCC,SAAW,EAAA;EACb;AACF,CAAA;AAEA,MAAMC,UAAkD,GAAA;EACtDvgB,OAAS,EAAA,aAAA;EACT4R,MAAQ,EAAA;AACV,CAAA;AAEA,MAAM4O,UAAa,GAAA;EACjBC,OAAS,EAAA,SAAA;EACTC,IAAM,EAAA;AACR,CAAA;AAEO,SAASC,QAAsBA,CAAA,EAAA;EAC7B,OAAAN,YAAA;AACT;AAEO,SAASO,kBAEdA,CAAA,EAAA;EACO,OAAA,CACLC,wBAAA,EACAC,wBAAA,EACAC,0BAAA,EACAC,yBAAA,CACF;AACF;AAEA,SAASA,0BAA0BziB,KAA6C,EAAA;EACxE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA0iB,QAAA,EAAWhhB,OAAa,KAAA;IACtD,iBAAA,EAAmB;MAACA;IAAO;EAC3B,CAAA,CAAA,CAAA;AACJ;AAEA,SAAS4gB,yBAAyBtiB,KAA6C,EAAA;EACvE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA2iB,OAAA,EAAUC,MAAY,KAAA;IACpDnY,SAAA,EAAWuX,WAAWY,MAAM;EAC5B,CAAA,CAAA,CAAA;AACJ;AAEA,SAASL,yBAAyBviB,KAA6C,EAAA;EACvE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA6iB,OAAA,EAAUlhB,MAAY,KAAA;IACpDA,MAAA,EAAQsgB,WAAWtgB,MAAM;EACzB,CAAA,CAAA,CAAA;AACJ;AAEA,SAAS6gB,2BAA2BxiB,KAA6C,EAAA;EACzE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA8iB,SAAA,EAAYC,QAAc,KAAA;IACxDA;EACA,CAAA,CAAA,CAAA;AACJ;AClEA,MAAMjB,YAAwB,GAAA;EAC5B,kBAAoB,EAAA;IAClBpgB,OAAS,EAAA;EACX;AACF,CAAA;AAEO,SAASshB,mBAEdA,CAAA,EAAA;EACO,OAAA,CACLlB,YAAA,EACAmB,wBAAA,EACAC,sBAAA,EACAC,uBAAA,EACAC,0BAAA,EACAC,4BAAA,CACF;AACF;AAEO,SAASJ,yBACdjjB,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAsD,MAAA,EAASggB,KAAU,IAAA;IAC1C,OAAA;MAACC,YAAYD;KAAK;EAAA,CAC1B,CAAA;AACH;AAEA,SAASJ,uBAAuBljB,KAA8C,EAAA;EACtE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAOsB;GAAK,GAAIT,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAwjB,IAAA,EAAOC,GAAS,KAAA;IAC9CA,KAAKA,GAAM,GAAA3kB,GAAA,CAAI0B,KAAM,CAAAijB,GAAG,CAAC,CAAI,GAAA,KAAA;EAC7B,CAAA,CAAA,CAAA;AACJ;AAEO,SAASN,wBAAwBnjB,KAA2D,EAAA;EAC3F,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA0jB,KAAA,EAAQC,IAAS,IAAA;IACxC,OAAA;MAACC,UAAUD;KAAI;EAAA,CACvB,CAAA;AACH;AAEO,SAASP,2BACdpjB,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA6jB,QAAA,EAAWC,OAAY,IAAA;IAC9C,OAAA;MAACC,gBAAgBD;KAAO;EAAA,CAChC,CAAA;AACH;AAEO,SAAST,6BACdrjB,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAgkB,UAAA,EAAaC,SAAc,IAAA;IAClD,OAAA;MAACC,eAAeD;KAAS;EAAA,CACjC,CAAA;AACH;ACnEA,MAAMnC,YAAwB,GAAA;EAC5BqC,QAAU,EAAA,CAAA;EACVC,SAAW,EAAA;AACb,CAAA;AAEO,SAASC,aAEdA,CAAA,EAAA;EACO,OAAA,CAACvC,cAAYwC,uBAAuB,CAAA;AAC7C;AAEO,SAASA,wBACdtkB,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,IAAI,CAACN,KAAM,CAAAukB,KAAA,EAAc,OAAAtmB,WAAA;EAElB,OAAAgB,WAAA,CAAYC,OAAOc,KAAM,CAAAukB,KAAA,EAAQC,IAAU,KAAA;IAACA;EAAM,CAAA,CAAA,CAAA;AAC3D;ACxBO,SAASC,qBAAqBpR,MAAgD,EAAA;EACnF,OAAO,cAAe,CAAArU,MAAA,CAAAqU,MAAA,CAAO/L,KAAK,EAAA,KAAA,CAAA,CAAMtI,MAAO,CAAAqU,MAAA,CAAA+D,KAAA,CAAA;AACjD;AAEO,SAASsN,eAAeC,IAIpB,EAAA;EACT,MAAM;IAACvjB,IAAA;IAAMiS,MAAQ;IAAAkI;EAAA,CAAa,GAAAoJ,IAAA;EAC5B,MAAAC,oBAAA,GAAuBrJ,SAAU,CAAAC,MAAA,GAASD,SAAU,CAAAjU,KAAA;EACpD,MAAAud,mBAAA,GAAsB,IAAItJ,SAAU,CAAAC,MAAA;EAC1C,MAAMsJ,UAAU1jB,IAAO,GAAAA,IAAA,CAAKmW,EAAK,GAAAkD,OAAA,CAAQC,QAAQ,UAAU,CAAA;EAEpD,OAAA,CACLmK,sBAAsB,CACpB,IAAA,cAAA,CAAe7lB,4BAAmB,KAAM,CAAA,CAAAA,MAAA,CAAAyb,OAAA,CAAQ/B,SAAS,eAAe,CAAA,CAAA,EAC1ErF,MAAA,IAAUoR,qBAAqBpR,MAAM,CAAA,EACrCwR,mBAAsB,GAAA,CAAA,IAAK,QAAS,CAAA7lB,MAAA,CAAA,CAAA,GAAI6lB,qBAAmB,KAAM,CAAA,CAAA7lB,MAAA,CAAA8lB,OAAA,CAAA,EACjEF,uBAAuB,CACrB,IAAA,QAAA,CAAS5lB,6BAAoB,KAAM,CAAA,CAAAA,MAAA,CAAAyb,OAAA,CAAQ/B,SAAS,eAAe,CAAA,CAAA,CAEpE,CAAAtU,MAAA,CAAOC,OAAO,CAAA,CACd0gB,KAAK,GAAG,CAAA;AACb;ACrBA,MAAMC,QAAW,GAAA;EACf,kBAAoB,EAAA;IAClBtjB,OAAS,EAAA;EACX,CAAA;EACA,iCAAmC,EAAA;IACjCqgB,SAAW,EAAA;EACb;AACF,CAAA;AAEA,MAAMkD,gBAAmB,GAAA;EACvBC,IAAM,EAAA,MAAA;EACNrQ,GAAK,EAAA,aAAA;EACLD,GAAK,EAAA,aAAA;EACLuQ,EAAI,EAAA;AACN,CAAA;AAEA,MAAMC,cAAiB,GAAA;EACrBF,IAAM,EAAA,MAAA;EACNrQ,GAAK,EAAA,aAAA;EACLD,GAAK,EAAA,aAAA;EACLuQ,EAAI,EAAA;AACN,CAAA;AAEO,SAASE,mBAEdA,CAAA,EAAA;EACO,OAAA,CACLL,QAAA,EACAM,2BAAA,EACAC,2BAAA,EACAC,2BAAA,EACAC,0BAAA,EACAC,uBAAA,EACAC,sBAAA,EACAC,uBAAA,EACAC,uBAAA,CACF;AACF;AAEA,SAASP,4BAA4BtlB,KAA8C,EAAA;EAC3E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA8lB,SAAA,EAAYC,QAAc,KAAA;IACxDC,YAAc,EAAAD;EACd,CAAA,CAAA,CAAA;AACJ;AAEA,SAASR,4BAA4BvlB,KAA8C,EAAA;EAC3E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAimB,SAAA,EAAYC,QAAc,KAAA;IACxDC,YAAA,EAAcD,QAAY,IAAAd,cAAA,CAAec,QAAQ;EACjD,CAAA,CAAA,CAAA;AACJ;AAEA,SAASV,4BAA4BxlB,KAA8C,EAAA;EAC3E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAomB,SAAA,EAAYC,QAAc,KAAA;IACxDC,eAAA,EAAiBD,QAAY,IAAApB,gBAAA,CAAiBoB,QAAQ;EACtD,CAAA,CAAA,CAAA;AACJ;AAEA,SAASZ,2BAA2BzlB,KAA8C,EAAA;EAC1E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAumB,QAAA,EAAWC,OAAa,KAAA;IACtDC,mBAAA,EAAqBD,OAAW,IAAA,SAAA,CAAUxnB,MAAO,CAAAwnB,OAAA,EAAA,kBAAA;EACjD,CAAA,CAAA,CAAA;AACJ;AAEA,SAASd,wBAAwB1lB,KAA8C,EAAA;EACvE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA0mB,KAAA,EAAQC,IAAU,KAAA;IAChDC,gBAAA,EAAkBD,IAAQ,IAAA,SAAA,CAAU3nB,MAAI,CAAA2nB,IAAA,EAAA,kBAAA;EACxC,CAAA,CAAA,CAAA;AACJ;AAEA,SAAShB,uBAAuB3lB,KAA8C,EAAA;EACtE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAOsB;GAAK,GAAIT,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAwjB,IAAA,EAAOC,GAAS,KAAA;IAC9CoD,SAASpD,GAAM,GAAA3kB,GAAA,CAAI0B,KAAM,CAAAijB,GAAG,CAAC,CAAI,GAAA,KAAA;EACjC,CAAA,CAAA,CAAA;AACJ;AAEA,SAASmC,wBAAwB5lB,KAA8C,EAAA;EACvE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAOsB;GAAK,GAAIT,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA8mB,KAAA,EAAQC,IAAU,KAAA;IAChDC,WAAWD,IAAO,GAAAjoB,GAAA,CAAI0B,KAAM,CAAAumB,IAAI,CAAC,CAAI,GAAA,KAAA;EACrC,CAAA,CAAA,CAAA;AACJ;AAEA,SAASlB,wBAAwB7lB,KAA8C,EAAA;EACvE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAOsB;GAAK,GAAIT,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAinB,KAAA,EAAQC,IAAU,KAAA;IAChDC,QAAQD,IAAO,GAAApoB,GAAA,CAAI0B,KAAM,CAAA0mB,IAAI,CAAC,CAAI,GAAA,KAAA;EAClC,CAAA,CAAA,CAAA;AACJ;AC7GO,SAASE,uBAEdA,CAAA,EAAA;EACO,OAAA,CACLC,0BAAA,EACAC,+BAAA,EACAC,6BAAA,EACAC,6BAAA,EACAC,kCAAA,EACAC,gCAAA,CACF;AACF;AAEA,MAAMC,aAAgB,GAAA;EACpBzC,IAAM,EAAA,MAAA;EACN0C,IAAM,EAAA;AACR,CAAA;AAEA,MAAMC,gBAAmB,GAAA;EACvB3C,IAAM,EAAA,MAAA;EACN0C,IAAM,EAAA;AACR,CAAA;AAEA,SAASP,2BAA2BrnB,KAAkD,EAAA;EAC9E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA8nB,IAAA,EAAOC,GAAQ,IAAA;IACzC,IAAA,OAAOA,QAAQ,QAAU,EAAA;MAC3B,OAAO;QAACC,OAAA,EAAS,OAAQ,CAAAhpB,MAAA,CAAA+oB,GAAA,EAAG,YAAW/oB,MAAK,CAAA+oB,GAAA;OAAA;IAC9C;IAEA,OAAO;MAACC,OAAA,EAASL,aAAc,CAAAI,GAAG;IAAC,CAAA;EAAA,CACpC,CAAA;AACH;AAEA,SAAST,gCAAgCtnB,KAAkD,EAAA;EACnF,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAioB,SAAA,EAAYC,QAAc,KAAA;IACxDC,YAAc,EAAAD;EACd,CAAA,CAAA,CAAA;AACJ;AAEA,SAASX,8BAA8BvnB,KAAkD,EAAA;EACjF,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,OAAOc,KAAM,CAAAooB,OAAA,EAAUC,MAAY,KAAA;IAACC,UAAY,EAAAD;EAAQ,CAAA,CAAA,CAAA;AAC7E;AAEA,SAASb,8BAA8BxnB,KAAkD,EAAA;EACjF,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAuoB,OAAA,EAAUC,MAAW,IAAA;IAC/C,IAAA,OAAOA,WAAW,QAAU,EAAA;MAC9B,OAAO;QAACC,UAAA,EAAY,OAAQ,CAAAzpB,MAAA,CAAAwpB,MAAA,EAAM,YAAWxpB,MAAQ,CAAAwpB,MAAA;OAAA;IACvD;IAEA,OAAO;MAACC,UAAA,EAAYZ,gBAAiB,CAAAW,MAAM;IAAC,CAAA;EAAA,CAC7C,CAAA;AACH;AAEA,SAASf,mCAAmCznB,KAAkD,EAAA;EACtF,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA0oB,YAAA,EAAeC,WAAiB,KAAA;IAC9DC,eAAiB,EAAAD;EACjB,CAAA,CAAA,CAAA;AACJ;AAEA,SAASjB,iCAAiC1nB,KAAkD,EAAA;EACpF,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEtB,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA6oB,UAAA,EAAaC,SAAe,KAAA;IAC1DC,aAAe,EAAAD;EACf,CAAA,CAAA,CAAA;AACJ;AC1EO,SAASE,4BACdhpB,KACa,EAAA;EACb,MAAM;IAACipB,SAAW;IAAAC,SAAA;IAAWC;IAAYC,QAAU;IAAAC,MAAA;IAAQtpB;EAAS,CAAA,GAAAC,KAAA;EACpE,MAAM;IAACa,KAAO;IAAA3B,KAAA;IAAOsB,KAAO,EAAA8oB;MAAcvpB,KAAM,CAAAO,MAAA;EAC1C,MAAAipB,GAAA,GAAM3mB,KAAKgS,GAAI,CAAAwU,QAAA,CAASjpB,QAAQkpB,MAAO,CAAAlpB,MAAA,EAAQ8oB,UAAU9oB,MAAM,CAAA;EACrE,MAAMqpB,WAAqB,EAAC;EAC5B,MAAMC,SAAmB,EAAC;EAC1B,MAAMC,YAAsB,EAAC;EAE7B,KAAA,IAAS5X,CAAI,GAAA,CAAA,EAAGA,CAAI,GAAAyX,GAAA,EAAKzX,KAAK,CAAG,EAAA;IACrB4X,SAAA,CAAA5X,CAAC,CAAI,GAAAmX,SAAA,CAAUnX,CAAC,CAAA,KAAM,KAAY,CAAA,GAAA4X,SAAA,CAAU5X,CAAI,GAAA,CAAC,CAAI,GAAAmX,SAAA,CAAUnX,CAAC,CAAA;IACjE0X,QAAA,CAAA1X,CAAC,CAAI,GAAAsX,QAAA,CAAStX,CAAC,CAAA,KAAM,KAAY,CAAA,GAAA0X,QAAA,CAAS1X,CAAI,GAAA,CAAC,CAAI,GAAAsX,QAAA,CAAStX,CAAC,CAAA;IAC/D2X,MAAA,CAAA3X,CAAC,CAAI,GAAAuX,MAAA,CAAOvX,CAAC,CAAA,KAAM,KAAY,CAAA,GAAA2X,MAAA,CAAO3X,CAAI,GAAA,CAAC,CAAI,GAAAuX,MAAA,CAAOvX,CAAC,CAAA;EAChE;EAEA,OAAO7S,WAAY,CAAAC,KAAA,EAAOsqB,QAAU,EAAA,CAACG,GAAG7X,CAAM,KAAA;IACtC,MAAA5P,IAAA,GAAOrB,KAAM,CAAAsa,IAAA,CAAKpa,KAAM,CAAA2oB,SAAA,CAAU5X,CAAC,CAAC,CAAK,IAAAjR,KAAA,CAAMsa,IAAK,CAAApa,KAAA,CAAM,CAAC,CAAA;IACjE,MAAM6oB,MAAS,GAAA1nB,IAAA,CAAKK,UAAa,GAAAL,IAAA,CAAKC,iBAAiBD,IAAK,CAAAE,eAAA;IAC5D,MAAMynB,CAAI,GAAAP,UAAA,CAAWE,QAAS,CAAA1X,CAAC,CAAC,CAAA;IAChC,MAAMuC,CAAI,GAAAiV,UAAA,CAAWG,MAAO,CAAA3X,CAAC,CAAC,CAAA;IAE9B,MAAMgY,MAAS,GAAA;MACb/e,UAAY,EAAAjM,GAAA,CAAI+qB,CAAI,GAAA3nB,IAAA,CAAKC,cAAc,CAAA;MACvC6I,YAAA,EAAclM,IAAI+qB,CAAC,CAAA;MACnB5e,aAAe,EAAAnM,GAAA,CAAI+qB,CAAI,GAAA3nB,IAAA,CAAKE,eAAe,CAAA;MAC3C8I,WAAA,EAAapM,IAAI+qB,CAAC;IAAA,CACpB;IAEI,IAAAV,UAAA,EAAYW,MAAA,CAAO9e,YAAe,GAAAlM,GAAA,CAAI+qB,CAAI,GAAAD,MAAA,GAASvV,CAAC,CAAA;IACpD,IAAA6U,SAAA,EAAWY,MAAA,CAAO5e,WAAc,GAAApM,GAAA,CAAI+qB,CAAI,GAAAD,MAAA,GAASvV,CAAC,CAAA;IAE/C,OAAAyV,MAAA;EAAA,CACR,CAAA;AACH;AAsBO,SAASC,qCACd/pB,KAKa,EAAA;EACb,OAAOgpB,4BAA4B;IAAC,GAAGhpB,KAAO;IAAAmpB,UAAA,EAAY;EAAK,CAAA,CAAA;AACjE;;;;;;AC5EA,IAAA1hB,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AA2BA,MAAMC,aAAaC,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,4EAAA,CAAA,CAAA,CAAA,CAAA;AAQf,SAASgM,kBAA6CA,CAAA,EAAA;EACpD,OAAAF,UAAA;AACT;AAEO,SAASG,mBACdpqB,KACwB,EAAA;EACxB,MAAM;IAACD,KAAA;IAAOsqB,KAAO;IAAAzpB;EAAA,CAAW,GAAAZ,KAAA;EAC1B,MAAAsqB,IAAA,GAAOvqB,KAAM,CAAAO,MAAA,CAAOO,KAAM,CAAAsa,IAAA;EAEhC,OAAO+O,GAAG,CAAAliB,IAAA,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,6KAAA,EAQkB,sBAC+C,EAAA,qpBAAA,EA2BvB,sCACU,wGAIR,EAAA,sCAAA,EACU,0FAKV,EAAA,sCAAA,EACU,0EAKR,EAAA,sCAAA,EACU,6EAKZ,EAAA,sCAAA,EACU,mBApD/CmM,IAAK,CAAAxpB,MAAA,EACJF,OAAW,IAAA0pB,IAAA,CAAKtpB,OAAQ,CAAAJ,OAAO,CAAM,IAAA0pB,IAAA,CAAKtpB,QAAQE,OA2B9C,EAAAuZ,OAAA,CAAQ4P,KAAK,CAAA,CAAE,cAAc,CACpB,EAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,eAAe,CAIrC,EAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,cAAc,CAAA,EACpB5P,OAAQ,CAAA4P,KAAK,EAAE,eAAe,CAAA,EAKvC5P,OAAQ,CAAA4P,KAAK,CAAE,CAAA,cAAc,CACpB,EAAA5P,OAAA,CAAQ4P,KAAK,CAAE,CAAA,eAAe,CAKvC,EAAA5P,OAAA,CAAQ5B,QAAS,CAAA,cAAc,CACtB,EAAA4B,OAAA,CAAQ5B,SAAS,eAAe,CAAA,EAKzC4B,OAAQ,CAAA4P,KAAK,EAAE,cAAc,CAAA,EACpB5P,OAAQ,CAAA4P,KAAK,EAAE,eAAe,CAAA,CAAA;AAGjE;AAEO,SAASE,uBAAuBvqB,KAA2D,EAAA;EAC1F,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACa,KAAA;IAAO3B;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAipB,SAAA,EAAYjnB,SAAc,IAAA;IAClD,MAAAE,IAAA,GAAOrB,MAAMsa,IAAK,CAAApa,KAAA,CAAMiB,SAAS,CAAK,IAAAnB,KAAA,CAAMsa,IAAK,CAAApa,KAAA,CAAM,CAAC,CAAA;IAEvD,OAAA;MACLkB,QAAA,EAAUnD,GAAI,CAAAoD,IAAA,CAAKD,QAAQ,CAAA;MAC3BM,UAAA,EAAYL,IAAK,CAAAK,UAAA,GAAaL,IAAK,CAAAD;IAAA,CACrC;EAAA,CACD,CAAA;AACH;AAEO,SAASuoB,6BACdxqB,KACwB,EAAA;EACxB,MAAM;IAACyqB,UAAA;IAAYC,UAAY;IAAAL,KAAA;IAAOtqB;GAAS,GAAAC,KAAA;EACzC,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAChB,MAAA;IAACib;EAAS,CAAA,GAAIW,KAAM,CAAAf,IAAA;EAE1B,OAAO+O,GAAG,CAAAF,IAAA,KAAAA,IAAA,GAAA7L,YAAA,CAAA,CAAA,iNAAA,EAYuC,6EAGK,EAAA,oCAAA,EACG,kCACF,EAAA,qCAAA,EACG,WAEtB,EAAA,IAAA,EAA8B,SAC9B,EAAA,IAAA,EAAmC,0EAOjE,EAAA,2EAAA,EAKgC,IAAgC,EAAA,WAAA,EAChC,IAAqC,EAAA,2DAAA,EAMnE,gIAUA,EAAA,0EAAA,EAI+C,uEAMjB,EAAA,IAAA,EAA+B,qBAChC,EAAA,IAAA,EAAoC,0EAKnC,EAAA,IAAA,EAA+B,qBAChC,EAAA,IAAA,EAAoC,kMAUjE,EAAA,8BAAA,CAAA,CAAA,CAAA,EAjEc1D,OAAQ,CAAAC,OAAA,CAAQ,UAAU,CAAA,EAGpB+P,UAAa,GAAA,CAAA,GAAI,KACd,CAAA,EAAAA,UAAA,GAAa,CAAI,GAAA,KAAA,CAAA,EACnBC,UAAa,GAAA,CAAA,GAAI,KACd,CAAA,EAAAA,UAAA,GAAa,CAAI,GAAA,KAAA,CAAA,EAE7CvQ,oBAAqB,CAAA,UAAU,CAAM,EAAAM,OAAA,CAAQ4P,KAAK,CAAA,CAAE,SAAS,CAAA,EAC7DlQ,oBAAqB,CAAA,UAAU,CAAM,EAAAM,OAAA,CAAQ4P,KAAK,CAAA,CAAE,cAAc,CAAA,EAI5C5F,oBAAqB,CAAA;IACzCrN,KAAO,EAAAqD,OAAA,CAAQ4P,KAAK,CAAA,CAAE,aAAa,CAAA;IACnC/iB,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CAKC,EAAA6S,oBAAA,CAAqB,UAAU,CAAA,EAAMM,QAAQ5B,QAAS,CAAA,SAAS,CAC/D,EAAAsB,oBAAA,CAAqB,UAAU,CAAM,EAAAM,OAAA,CAAQ5B,QAAS,CAAA,cAAc,GAG9C4L,oBAAqB,CAAA;IACzCrN,KAAA,EAAOqD,OAAQ,CAAA5B,QAAA,CAAS,aAAa,CAAA;IACrCvR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,GAOqBod,cAAe,CAAA;IACnCrR,MAAA,EAAQ;MAAC+D,KAAA,EAAOqD,OAAQ,CAAA4P,KAAK,CAAE,CAAA,aAAa,CAAG;MAAA/iB,KAAA,EAAO4U,KAAM,CAAA7I,MAAA,CAAO/L;IAAK,CAAA;IACxEiU;EACD,CAAA,CAAA,EAIqBmJ,cAAe,CAAA;IAACnJ;GAAU,CAAA,EAMhDpB,oBAAqB,CAAA,UAAU,GAAMM,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAAA,EAC/D2B,qBAAqB,UAAU,CAAA,EAAMM,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAKlE,EAAA2B,oBAAA,CAAqB,UAAU,CAAA,EAAMM,QAAQjC,OAAQ,CAAA,SAAS,CAC/D,EAAA2B,oBAAA,CAAqB,UAAU,CAAM,EAAAM,OAAA,CAAQjC,OAAQ,CAAA,cAAc,GAO5CiM,oBAAqB,CAAA;IACzCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,mBAAmB,CAAA;IAC1ClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CAAA,CAAA;AAKT;AChNO,SAASqjB,sBACd3qB,KACe,EAAA;EACT,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAET,OAAA,CACLF,oBAAoBC,KAAO,EAAA,CAAC,QAAQ,CAAA,EAAGC,MAAM4qB,OAAO,CAAA,EACpD9qB,oBAAoBC,KAAO,EAAA,CAAC,cAAc,aAAa,CAAA,EAAGC,MAAM6qB,QAAQ,CAAA,EACxE/qB,oBAAoBC,KAAO,EAAA,CAAC,aAAa,cAAc,CAAA,EAAGC,MAAM8qB,QAAQ,CAAA,EACxEhrB,oBAAoBC,KAAO,EAAA,CAAC,WAAW,CAAA,EAAGC,MAAM+qB,UAAU,CAAA,EAC1DjrB,oBAAoBC,KAAO,EAAA,CAAC,aAAa,CAAA,EAAGC,MAAMgrB,YAAY,CAAA,EAC9DlrB,oBAAoBC,KAAO,EAAA,CAAC,cAAc,CAAA,EAAGC,MAAMirB,aAAa,CAAA,EAChEnrB,oBAAoBC,KAAO,EAAA,CAAC,YAAY,CAAA,EAAGC,MAAMkrB,WAAW,CAAA,CAC9D,CAAE9mB,OAAOC,OAAO,CAAA;AAClB;ACdO,SAAS8mB,uBACdnrB,KACe,EAAA;EACT,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAET,OAAA,CACLF,oBAAoBC,KAAO,EAAA,CAAC,SAAS,CAAA,EAAGC,MAAMopB,QAAQ,CAAA,EACtDtpB,oBAAoBC,KAAO,EAAA,CAAC,eAAe,cAAc,CAAA,EAAGC,MAAMorB,SAAS,CAAA,EAC3EtrB,oBAAoBC,KAAO,EAAA,CAAC,cAAc,eAAe,CAAA,EAAGC,MAAMqrB,SAAS,CAAA,EAC3EvrB,oBAAoBC,KAAO,EAAA,CAAC,YAAY,CAAA,EAAGC,MAAMsrB,WAAW,CAAA,EAC5DxrB,oBAAoBC,KAAO,EAAA,CAAC,cAAc,CAAA,EAAGC,MAAMurB,aAAa,CAAA,EAChEzrB,oBAAoBC,KAAO,EAAA,CAAC,eAAe,CAAA,EAAGC,MAAMwrB,cAAc,CAAA,EAClE1rB,oBAAoBC,KAAO,EAAA,CAAC,aAAa,CAAA,EAAGC,MAAMyrB,YAAY,CAAA,CAChE,CAAErnB,OAAOC,OAAO,CAAA;AAClB;ACdO,SAASqnB,sBAAsB1rB,KAA6D,EAAA;EAC3F,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAO2c;GAAM,GAAI9b,KAAM,CAAAO,MAAA;EAE9B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAA2rB,OAAA,EAAUjtB,KAAU,IAAA;IAClD,IAAIktB,YAA2B,GAAA,CAAA;IAE3B,IAAA,OAAOltB,UAAU,QAAU,EAAA;MACdktB,YAAA,GAAA9sB,GAAA,CAAI+c,MAAO,CAAAnd,KAAK,CAAC,CAAA;IAClC;IAEA,IAAIA,UAAU,MAAQ,EAAA;MACLktB,YAAA,GAAA,QAAA;IACjB;IAEA,OAAO;MAACA;IAAY,CAAA;EAAA,CACrB,CAAA;AACH;ACfA,SAASC,WAAAA,CAAYC,QAAmB1U,KAAe,EAAA;EAC9C,OAAA,EAAA,CAAGpY,cAAOM,GAAI,CAAAR,GAAG,EAAEimB,IAAK,CAAA,GAAG,GAAC,GAAI,CAAA,CAAA/lB,MAAA,CAAAoY,KAAA,CAAA;AACzC;AAEA,SAAS2U,YAAYD,MAAuC,EAAA;EAC1D,IAAI,CAACA,MAAA,EAAe,OAAA5tB,YAAA;EAEd,MAAA8tB,OAAA,GAAU,SAAShtB,MAAI,CAAAF,GAAA,CAAA,CAAC,GAAC,GAAI,CAAA,CAAAE,MAAA,CAAAyb,OAAA,CAAQjC,QAAQ,2BAA2B,CAAA,CAAA;EAC9E,MAAMuD,QAAQ8P,WAAY,CAAAC,MAAA,CAAO/P,OAAOtB,OAAQ,CAAAjC,OAAA,CAAQ,yBAAyB,CAAC,CAAA;EAClF,MAAMwD,WAAW6P,WAAY,CAAAC,MAAA,CAAO9P,UAAUvB,OAAQ,CAAAjC,OAAA,CAAQ,4BAA4B,CAAC,CAAA;EAC3F,MAAMyD,UAAU4P,WAAY,CAAAC,MAAA,CAAO7P,SAASxB,OAAQ,CAAAjC,OAAA,CAAQ,2BAA2B,CAAC,CAAA;EAEjF,OAAA;IAACyT,WAAW,EAAG,CAAAjtB,MAAA,CAAAgtB,OAAA,EAAO,MAAKhtB,MAAK,CAAA+c,KAAA,EAAA,IAAA,CAAA,CAAK/c,MAAQ,CAAAgd,QAAA,EAAA,IAAA,CAAA,CAAKhd,MAAS,CAAAid,OAAA;GAAA;AACpE;AAEO,SAASiQ,sBAAsBlsB,KAA6D,EAAA;EAC3F,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAO4c;GAAO,GAAI/b,KAAM,CAAAO,MAAA;EAExB,OAAArB,WAAA,CAAYC,KAAO,EAAAc,KAAA,CAAMmsB,OAAS,EAACL,UAAWC,WAAY,CAAAjQ,OAAA,CAAQgQ,MAAM,CAAC,CAAC,CAAA;AACnF;;;;;;AC3BA,IAAArkB,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAIO,SAASoC,cACdpsB,KACwB,EAAA;EACxB,MAAM;IAACqsB,OAAA;IAASC,MAAQ;IAAAvsB;EAAA,CAAS,GAAAC,KAAA;EACjC,MAAM;IAACgB;EAAA,CAAW,GAAAjB,KAAA,CAAMO,OAAOO,KAAM,CAAAsa,IAAA;EAErC,OAAO+O,GAAG,CAAAF,IAAA,KAAAA,IAAA,GAAA7L,YAAA,CAAA,CAAA,eAAA,EAC4B,WAKnC,EAAA,UAAA,EAKA,uCAG8C,EAAA,wDAAA,EAEM,kBACd,EAAA,+FAAA,EAMA,sMAWM,EAAA,yBAAA,EACM,qIAStB,EAAA,kRAAA,EAWW,cAtD/B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,OAAQ,CAAA,UAAU,CAEjC,EAAA2R,OAAA,IACFnC,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,iBAAA,EACsC,SAA9B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,OAAQ,CAAA,aAAa,CAGtC,CAAA,EAAA8T,MAAA,IACFpC,GAAG,CAAAliB,IAAA,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,iBAAA,EACyC,cAAjC1D,OAAQ,CAAAC,OAAA,CAAQ,gBAAgB,CAAA,CAAA,EAI1B3a,KAAM,CAAAO,MAAA,CAAOO,KAAM,CAAAga,IAAA,CAAK/Z,MAEnB,EAAA2Z,OAAA,CAAQjC,OAAQ,CAAA,cAAc,CACzC,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,WAAW,CAM3B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,WAAW,CAWpB,EAAAiC,OAAA,CAAQC,OAAQ,CAAA,UAAU,CAC1B,EAAAD,OAAA,CAAQ/B,QAAS,CAAA,eAAe,CASjC,EAAA1X,OAAA,CAAQga,IAWd,EAAAP,OAAA,CAAQC,QAAQ,YAAY,CAAA,CAAA;AAG3C;;;;;;ACpEA,IAAAjT,IAAA;AA8BA,MAAM8kB,SAAOC,MAAO,CAAAC,GAAA,CAClBjpB,kBAAA,EACAH,wBAAA,EACA+oB,aACF,CAAA;AAEA,MAAMM,sBAAA,GAAuBF,MAAO,CAAAG,IAAA,CAAPllB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,mHAAA,CAAA,CAAA,CAAA,CAAA;AAWjC,MAAMyO,IAAO,GAAAC,UAAA,CAAW,SAASD,KAAAA,CACtC5sB,OACAihB,GACA,EAAA;EACM,MAAA;IACJ6L,MAAS,GAAA,KAAA;IACTxJ,KAAA;IACA3F,QAAU,EAAAoP,YAAA;IACVC,KAAQ,GAAA,KAAA;IACR9qB,IAAO,GAAA,CAAA;IACP+qB,YAAA;IACAC,MAAA;IACA,GAAGC;EACD,CAAA,GAAAntB,KAAA;EAEJ,IAAI2d,QAAW,GAAAoP,YAAA;EAEf,IAAIE,iBAAiB,UAAY,EAAA;IACpBtP,QAAA,GAAA,eAAAI,GAAA,CAAC2O;MAAsB/O;IAAS,CAAA,CAAA;EAC7C;EAGE,sBAAAI,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,MAAA;IACP,GAAGY,SAAA;IACJd,OAAS,EAAAS,MAAA;IACTxpB,MAAA,EAAQG,aAAa6f,KAAK,CAAA;IAC1BgJ,MAAQ,EAAAU,KAAA;IACR/L,GAAA;IACAtgB,KAAA,EAAO8C,aAAavB,IAAI,CAAA;IACxBtB,OAAS,EAAAssB,MAAA;IAETvP,QAAA,iBAAAI,GAAA,CAAC;MAAMJ;IAAS,CAAA;EAAA,CAAA,CAClB;AAEJ,CAAC,CAAA;ACnEM,MAAMyP,SAA+E,GAAA;EAC1F9U,IAAM,EAAA;IACJF,IAAA,EAAME,KAAK,KAAK,CAAA;IAChBT,KAAA,EAAOS,KAAK,KAAK;EACnB,CAAA;EACAP,IAAM,EAAA;IACJK,IAAA,EAAML,KAAK,KAAK,CAAA;IAChBF,KAAA,EAAOE,KAAK,KAAK;EACnB,CAAA;EACAsV,MAAQ,EAAA;IACNjV,IAAA,EAAMiV,OAAO,KAAK,CAAA;IAClBxV,KAAA,EAAOwV,OAAO,KAAK;EACrB,CAAA;EACAC,OAAS,EAAA;IACPlV,IAAA,EAAMkV,QAAQ,KAAK,CAAA;IACnBzV,KAAA,EAAOyV,QAAQ,KAAK;EACtB,CAAA;EACAtV,GAAK,EAAA;IACHI,IAAA,EAAMJ,IAAI,KAAK,CAAA;IACfH,KAAA,EAAOG,IAAI,KAAK;EAClB,CAAA;EACAuV,MAAQ,EAAA;IACNnV,IAAA,EAAMmV,OAAO,KAAK,CAAA;IAClB1V,KAAA,EAAO0V,OAAO,KAAK;EACrB,CAAA;EACA3S,MAAQ,EAAA;IACNxC,IAAA,EAAMwC,OAAO,KAAK,CAAA;IAClB/C,KAAA,EAAO+C,OAAO,KAAK;EACrB,CAAA;EACA4S,KAAO,EAAA;IACLpV,IAAA,EAAMoV,MAAM,KAAK,CAAA;IACjB3V,KAAA,EAAO2V,MAAM,KAAK;EACpB,CAAA;EACA7S,IAAM,EAAA;IACJvC,IAAA,EAAMuC,KAAK,KAAK,CAAA;IAChB9C,KAAA,EAAO8C,KAAK,KAAK;EACnB;AACF,CAAA;AC9CO,MAAM8S,WAAc,GAAA;EACzB7P,IAAM,EAAA8P,eAAA;EACNC,KAAO,EAAAC,gBAAA;EACPC,QAAU,EAAAC,mBAAA;EACVC,MAAQ,EAAAC,iBAAA;EACRC,QAAU,EAAAC;AACZ,CAAA;AAEA,SAASN,gBAA8BA,CAAA,EAAA;EAC9B,OAAA;IACLvsB,QAAU,EAAA,UAAA;IACVoJ,SAAW,EAAA,YAAA;IACX0jB,MAAQ,EAAA,CAAA;IACRhW,OAAS,EAAA,CAAA;IACTiW,UAAY,EAAA,iBAAA;IACZrrB,SAAW,EAAA,uCAAA;IACXxE,IAAM,EAAA,CAAA;IACNF,KAAO,EAAA,CAAA;IACPD,GAAK,EAAA,CAAA;IACLE,MAAQ,EAAA,CAAA;IAER,SAAW,EAAA;MACTgJ,KAAO,EAAA,MAAA;MACP3F,MAAQ,EAAA,KAAA;MACRN,QAAU,EAAA,UAAA;MACVjD,GAAK,EAAA,MAAA;MACLG,IAAM,EAAA,KAAA;MACNwE,SAAW,EAAA,kBAAA;MAAA;MAGX,iBAAmB,EAAA;QACjBrB,OAAS,EAAA;MACX;IACF,CAAA;IAEA,oCAAsC,EAAA;MACpCqB,SAAW,EAAA,uCAAA;MACXoV,OAAS,EAAA;IACX,CAAA;IAEA,iCAAmC,EAAA;MACjCA,OAAS,EAAA,CAAA;MACTpV,SAAW,EAAA;IACb,CAAA;IAEA,oCAAsC,EAAA;MACpCoV,OAAS,EAAA,CAAA;MACTpV,SAAW,EAAA;IACb;EAAA,CACF;AACF;AAEO,SAAS2qB,gBAAgB1tB,KAAqD,EAAA;EAC7E,MAAA;IAACquB,MAAQ;IAAAtuB;EAAS,CAAA,GAAAC,KAAA;EACxB,MAAM;IAACub;EAAa,CAAA,GAAAxb,KAAA,CAAMO,MAAO,CAAA+a,MAAA;EAE1B,OAAA;IACLiT,eAAiB,EAAAD,MAAA;IACjBhtB,QAAU,EAAA,UAAA;IACVoJ,SAAW,EAAA,YAAA;IACX8jB,UAAY,EAAA,MAAA;IACZtC,SAAW,EAAA,YAAA,CAAajtB,MAAQ,CAAAyb,OAAA,CAAAC,OAAA,CAAQ,UAAU,CAAA,CAAA;IAElD,2BAA6B,EAAA;MAC3BvC,OAAS,EAAA;IACX,CAAA;IAEA,OAAS,EAAA;MAAA;MAEP,iBAAmB,EAAA;QACjBzW,OAAS,EAAA;MACX;IACF,CAAA;IAAA;IAGA,qBAAuB,EAAA;MACrB8sB,mBAAqB,EAAA,SAAA;MACrBC,UAAY,EAAA,MAAA;MACZjtB,MAAQ,EAAA,CAAA;MACRD,OAAS,EAAA,CAAA;MACT8R,MAAQ,EAAA,CAAA;MACRiX,IAAM,EAAA,SAAA;MACNlT,KAAO,EAAA,SAAA;MACP4U,OAAS,EAAA,MAAA;MAAA;MAGT,SAAW,EAAA;QACTC,SAAW,EAAAvH,cAAA,CAAe;UAACnJ;SAAU;MACvC,CAAA;MAEA,6BAA+B,EAAA;QAC7B0Q,SAAW,EAAA;MACb;IACF;EAAA,CACF;AACF;AAEO,SAASyC,0BACd1uB,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACqb,MAAA;IAAQnc;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAE9B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAW,KAAA,EAAQuB,IAAS,IAAA;IAC/C,MAAMysB,aAAatT,MAAO,CAAAta,KAAA,CAAMmB,IAAI,CAAK,IAAAmZ,MAAA,CAAOta,MAAM,CAAC,CAAA;IAEhD,OAAA;MACLuG,KAAA,EAAOxI,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI,CAAA;MAC1BP,MAAA,EAAQ7C,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI,CAAA;MAC3B0pB,YAAc,EAAA9sB,GAAA,CAAI6vB,UAAW,CAAAzsB,IAAA,GAAO,CAAC,CAAA;MAErC,OAAS,EAAA;QACPoF,KAAA,EAAOxI,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI,CAAA;QAC1BP,MAAA,EAAQ7C,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI,CAAA;QAC3B0pB,YAAc,EAAA9sB,GAAA,CAAI6vB,UAAW,CAAAzsB,IAAA,GAAO,CAAC;MACvC;IAAA,CACF;EAAA,CACD,CAAA;AACH;AAEO,SAASgsB,mBAAiCA,CAAA,EAAA;EACxC,OAAA;IACL5mB,KAAO,EAAA,MAAA;IACP3F,MAAQ,EAAA,MAAA;IACRyV,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAAA;IACrC+K,UAAY,EAAA,QAAA;IACZQ,cAAgB,EAAA,QAAA;IAChB6K,aAAe,EAAA,WAAA;IACfrrB,SAAW,EAAA,QAAA;IACXqoB,YAAc,EAAA,KAAA;IAEd,iBAAmB,EAAA;MACjBlqB,OAAS,EAAA;IACX;EAAA,CACF;AACF;AAEA,SAASosB,mBAAiCA,CAAA,EAAA;EACjC,OAAA;IACLe,WAAa,EAAA,KAAA;IACbd,MAAA,EAAQtT,OAAQ,CAAAC,OAAA,CAAQ,UAAU;EAAA,CACpC;AACF;AAEA,SAASsT,iBAA+BA,CAAA,EAAA;EAC/B,OAAA;IACLa,WAAa,EAAA,KAAA;IAEb,2BAA6B,EAAA;MAC3BC,eAAiB,EAAA,KAAA;MACjBC,aAAe,EAAA;IACjB;EAAA,CACF;AACF;AC9HA,MAAMxC,SAAOC,MAAO,CAAAC,GAAA,CAClBiC,yBAAA,EACAjB,WAAY,CAAA7P,IACd,CAAA;AAEA,MAAMoR,KAAQ,GAAAxC,MAAA,CAAOC,GAAI,CAAAgB,WAAA,CAAYE,KAAK,CAAA;AAE1C,MAAMsB,QAAW,GAAAzC,MAAA,CAAO0C,OAAQ,CAAAzB,WAAA,CAAYI,QAAQ,CAAA;AAEpD,MAAMsB,MAAS,GAAA3C,MAAA,CAAO0C,OAAQ,CAAAzB,WAAA,CAAYM,MAAM,CAAA;AAEhD,MAAMqB,QAAW,GAAA5C,MAAA,CAAOC,GAAI,CAAAgB,WAAA,CAAYQ,QAAQ,CAAA;AAKzC,MAAMoB,MAAS,GAAAxC,UAAA,CAAW,SAASwC,OAAAA,CACxCrvB,OACAihB,GACA,EAAA;EACM,MAAA;IACJqO,EAAI,EAAAC,MAAA;IACJnY,OAAOoY,QAAW,GAAA,MAAA;IAClBC,GAAA;IACAvW,KAAA;IACA+U,QAAA;IACAyB,gBAAA;IACAC,aAAe,EAAAC,iBAAA;IACfC,gBAAA;IACAC,MAAS,GAAA,QAAA;IACT5tB,MAAM6tB,QAAW,GAAA,CAAA;IACjB,GAAG5C;EACD,CAAA,GAAAntB,KAAA;EACJ,MAAMsvB,EAAK,GAAAU,OAAA,CAAQC,kBAAmB,CAAAV,MAAM,IAAIA,MAAS,GAAA,KAAA;EACnD,MAAArtB,IAAA,GAAOuB,aAAassB,QAAQ,CAAA;EAClC,MAAMhwB,QAAQmf,QAAS,EAAA;EACjB,MAAA;IAAClG;GAAM,GAAIsI,cAAe,EAAA;EAEhC,MAAMlK,KAAQ,GAAAgW,SAAA,CAAUoC,QAAQ,CAAA,CAAExW,MAAM,CAAE,CAAA9D,GAAA;EAE1C,MAAMyZ,UAAa,GAAA5uB,KAAA,CAAMO,MAAO,CAAA+a,MAAA,CAAOta,KAAM,CAAAmB,IAAA,CAAK,CAAC,CAAC,CAAK,IAAAnC,KAAA,CAAMO,MAAO,CAAA+a,MAAA,CAAOta,MAAM,CAAC,CAAA;EACpF,MAAMmvB,WAAWvB,UAAW,CAAAzsB,IAAA;EAC5B,MAAMiuB,UAAUD,QAAW,GAAA,CAAA;EAE3B,MAAME,YAAYC,KAAM,EAAA;EAClB,MAAA,CAACV,aAAe,EAAAW,gBAAgB,CAAI,GAAA5rB,QAAA,CACxCmrB,oBAAoBD,iBAAqB,IAAA,QAAA,CAC3C;EAEA,MAAM,CAACW,WAAA,EAAaC,cAAc,CAAA,GAAI9rB,SAAkB,KAAK,CAAA;EAE7D,MAAM+rB,UAAU,eAAgB,CAAAzxB,MAAA,CAAAoxB,SAAA,CAAA;EAEhCrrB,SAAA,CAAU,MAAM;IACd,IAAI4qB,aAAkB,KAAAC,iBAAA,EAA0B,OAAA,KAAA,CAAA;IAGhD,MAAMc,GAAM,GAAAhhB,qBAAA,CAAsB,MAAM4gB,gBAAA,CAAiBV,iBAAiB,CAAC,CAAA;IAEpE,OAAA,MAAMe,qBAAqBD,GAAG,CAAA;EAAA,CACpC,EAAA,CAACf,aAAe,EAAAC,iBAAiB,CAAC,CAAA;EAErC7qB,SAAA,CAAU,MAAM;IACV,IAAA0qB,GAAA,EAAKe,cAAA,CAAe,KAAK,CAAA;EAAA,CAC/B,EAAG,CAACf,GAAG,CAAC,CAAA;EAEF,MAAAmB,gBAAA,GAAmBC,YAAY,MAAM;IACzCL,cAAA,CAAe,IAAI,CAAA;IAEnB,IAAId,gBAAkB,EAAA;MACHA,gBAAA,CAAA,IAAIrvB,KAAM,CAAA,kCAAkC,CAAC,CAAA;IAChE;EAAA,CACF,EAAG,CAACqvB,gBAAgB,CAAC,CAAA;EAErB,MAAMoB,YAAe,GAAAntB,OAAA,CAAQ,MAAMzB,IAAA,CAAK5C,IAAK+U,CAAA,IAAOA,CAAM,KAAA,CAAA,GAAI,IAAIA,CAAI,GAAA,CAAE,CAAG,EAAA,CAACnS,IAAI,CAAC,CAAA;EAG/E,sBAAA4c,IAAA,CAACyN,MAAA,EAAA;IACC+C,EAAA;IACA,SAAS,EAAA,OAAOA,EAAO,KAAA,QAAA,GAAWA,EAAK,GAAA,KAAA,CAAA;IACvC,SAAQ,EAAA,QAAA;IACP,GAAGnC,SAAA;IACJxsB,KAAO,EAAAuB,IAAA;IACPmsB,MAAQ,EAAAjX,KAAA;IACR,YAAY,EAAA8B,KAAA;IACZ,qBAAqB,EAAAyW,aAAA;IACrB,aAAa,EAAAG,MAAA;IACb7O,GAAA;IACA/H,KAAA;IAEAyE,QAAA,EAAA,CAAA,eAACI,GAAA,CAAAiR,KAAA,EAAA;MACCrR,QAAC,EAAA,eAAAI,GAAA,CAAA,KAAA,EAAA;QAAIzW,KAAM,EAAA,IAAA;QAAK3F,QAAO,GAAI;QAAAovB,OAAA,EAAQ,UAAW;QAAA5O,IAAA,EAAK,MACjD;QAAAxE,QAAA,iBAAAI,GAAA,CAAC,MAAA,EAAA;UACCiT,CAAE,EAAA,8FAAA;UACF7O,IAAM,EAAA/K;QAAA;OAEV;IACF,CAAA,CAAA,EAEC,CAACmZ,WAAe,IAAAd,GAAA,IACd,eAAA3Q,IAAA,CAAA,KAAA,EAAA;MAAIiS,OAAS,EAAA,MAAA,CAAO/xB,MAAQ,CAAAkxB,QAAA,EAAA,GAAA,CAAA,CAAIlxB,MAAY,CAAAkxB,QAAA,CAAA;MAAA/N,IAAA,EAAK,MAChD;MAAAxE,QAAA,EAAA,CAAA,eAACI,GAAA,CAAA,MAAA,EAAA;QACCJ,QAAC,EAAA,eAAAI,GAAA,CAAA,SAAA,EAAA;UAAQkT,EAAI,EAAAR,OAAA;UAASS,qBAAoB,mBAAoB;UAAA5pB,KAAA,EAAM,GAAI;UAAA3F,MAAA,EAAO,GAC7E;UAAAgc,QAAA,iBAAAI,GAAA,CAAC,OAAA,EAAA;YACCoT,IAAM,EAAA1B,GAAA;YACNnoB,KAAM,EAAA,GAAA;YACN3F,MAAO,EAAA,GAAA;YAEPyvB,OAAS,EAAAR;UAAA;SAEb;MACF,CAAA,CAAA,EAAA,eAEA7S,GAAA,CAAC,QAAO,EAAA;QAAAsT,EAAA,EAAIlB,OAAS;QAAAmB,EAAA,EAAInB,OAAS;QAAA3b,CAAA,EAAG2b,OAAS;QAAAhO,IAAA,EAAM,OAAQ,CAAAnjB,MAAA,CAAAyxB,OAAA,EAAO,GAAK;MAAA,CAAA,CAAA,EAAA,eACxE1S,GAAA,CAACkR,QAAA,EAAA;QACCoC,EAAI,EAAAlB,OAAA;QACJmB,EAAI,EAAAnB,OAAA;QACJoB,EAAI,EAAApB,OAAA;QACJqB,EAAI,EAAArB,OAAA;QACJsB,YAAa,EAAA;MAAA,CACf,CAAA,EAAA,eACA1T,GAAA,CAACoR,MAAA,EAAA;QACCkC,EAAI,EAAAlB,OAAA;QACJmB,EAAI,EAAAnB,OAAA;QACJoB,EAAI,EAAApB,OAAA;QACJqB,EAAI,EAAArB,OAAA;QACJpC,MAAQ,EAAA3W,KAAA;QACRqa,YAAa,EAAA;MAAA,CACf,CAAA;KACF,CAAA,EAAA,CAGAlB,eAAe,CAACd,GAAA,KAAQxB,2BAEtBlQ,GAAA,CAAA2T,QAAA,EAAA;MAAA/T,QAAA,EAAA,eAAAI,GAAA,CAACqR;QACCzR,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;UAAK0C,EAAG,EAAA,MAAA;UAAOptB,MAAM4uB,YACpB;UAAAnT,QAAA,EAAA,eAAAI,GAAA,CAAC;YAAQJ,QAAS,EAAAsQ;UAAA,CAAA;SACpB;OACF;IACF,CAAA,CAAA;EAAA,CAAA,CAEJ;AAEJ,CAAC,CAAA;;;;;;AChLD,IAAAxmB,IAAA;AASA,SAASkqB,kCAAkC3xB,KAA2C,EAAA;EAC9E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACqb,MAAA;IAAQnc;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAE9B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAW,KAAA,EAAQuB,IAAS,IAAA;IACzC,MAAAysB,UAAA,GAAatT,MAAO,CAAAta,KAAA,CAAMmB,IAAI,CAAA;IAEpC,IAAI,CAACysB,UAAA,EAAmB,OAAAzwB,YAAA;IAEjB,OAAA;MACL0tB,YAAc,EAAA9sB,GAAA,CAAI6vB,UAAW,CAAAzsB,IAAA,GAAO,CAAC,CAAA;MACrCiiB,QAAA,EAAUrlB,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI,CAAA;MAC7BP,MAAA,EAAQ7C,GAAI,CAAA6vB,UAAA,CAAWzsB,IAAI;IAAA,CAC7B;EAAA,CACD,CAAA;AACH;AAEA,SAAS0vB,wBAAwB5xB,KAAmB,EAAA;EAC5C,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAEhB,OAAOkqB,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,iJAAA,EAM4B,sBACM,EAAA,uCAAA,EAEA,6BACU,EAAA,qBAAA,EACb,6DAL9B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,OAAQ,CAAA,UAAU,CACpB,EAAAD,OAAA,CAAQC,OAAQ,CAAA,UAAU,CAE1B,EAAAD,OAAA,CAAQC,OAAQ,CAAA,UAAU,CACnB,EAAAD,OAAA,CAAQjC,OAAQ,CAAA,aAAa,CACtC,EAAA1Z,GAAA,CAAIiB,KAAM,CAAAO,MAAA,CAAOE,KAAM,CAAA,CAAC,CAAC,CAAA,CAAA;AAM1C;AAEA,MAAM+rB,SAAOC,MAAO,CAAAC,GAAA,CAClBkF,iCAAA,EACAC,uBACF,CAAA;AAeO,MAAMC,aAAgB,GAAAhF,UAAA,CAAW,SAASgF,cAAAA,CAC/C7xB,OACAihB,GACA,EAAA;EACA,MAAM;IAAC6Q,KAAA;IAAO5vB,IAAM,EAAA6tB,QAAA,GAAW;GAAK,GAAA/vB,KAAA;EAC9B,MAAAkC,IAAA,GAAOuB,aAAassB,QAAQ,CAAA;EAClC,MAAMgC,WAAc,GAAApuB,OAAA,CAAQ,MAAMzB,IAAA,CAAK5C,IAAK+U,CAAA,IAAOA,CAAM,KAAA,CAAA,GAAI,IAAIA,CAAI,GAAA,CAAE,CAAG,EAAA,CAACnS,IAAI,CAAC,CAAA;EAEhF,OAAA,mBACGqqB,MAAK,EAAA;IAAA5rB,KAAA,EAAOuB,IAAM;IAAA,SAAA,EAAQ;IAAgB+e,GACzC;IAAAtD,QAAA,EAAA,eAAAI,GAAA,CAAC6O,IAAK,EAAA;MAAA0C,EAAA,EAAG;MAAOptB,IAAM,EAAA6vB,WAAA;MACpBpU,6BAAC,QAAQ,EAAA;QAAAA,QAAA,EAAAmU;MAAA,CAAM;IACjB,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;AC/EM,SAASE,uBACdrU,QACoC,EAAA;EACpC,MAAMsU,gBAAgBryB,KAAM,CAAAC,OAAA,CAAQ8d,QAAQ,CAAI,GAAAA,QAAA,GAAW,CAACA,QAAQ,CAAA;EAEpE,OAAOsU,aAAc,CAAA7tB,MAAA,CAClB8I,QAAS9E,WAAU,CAAA8E,IAAI,KAAKglB,UAAW,CAAAhlB,IAAI,CAAK,IAAA,OAAOA,IAAS,KAAA,QAAA,CACnE;AACF;;;;;;ACVA,IAAAzF,IAAA;AASA,MAAM0qB,cAAcjI,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,wIAAA,CAAA,CAAA,CAAA,CAAA;AAYvB,SAASiU,gBAAmBA,CAAA,EAAA;EACnB,OAAAD,WAAA;AACT;AAEA,SAASE,+BAA+BryB,KAA2C,EAAA;EAC3E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACqb,MAAA;IAAQnc;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAE9B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAW,KAAA,EAAQuB,IAAS,IAAA;IACzC,MAAAysB,UAAA,GAAatT,MAAO,CAAAta,KAAA,CAAMmB,IAAI,CAAA;IAEpC,IAAI,CAACysB,UAAA,EAAmB,OAAAzwB,YAAA;IAEjB,OAAA;MACL,eAAiB,EAAA;QACfo0B,UAAA,EAAYxzB,GAAI,CAAA6vB,UAAA,CAAWrT,QAAQ;MACrC;IAAA,CACF;EAAA,CACD,CAAA;AACH;AAEA,MAAMiR,MAAO,GAAAC,MAAA,CAAOC,GAA2B,CAAA4F,8BAAA,EAAgCD,gBAAgB,CAAA;AAgBxF,MAAMG,WAAc,GAAA1F,UAAA,CAAW,SAAS0F,YAAAA,CAC7CvyB,OACAihB,GACA,EAAA;EACM,MAAA;IACJtD,QAAU,EAAAoP,YAAA;IACVyF,WAAWC,aAAgB,GAAA,CAAA;IAC3BvwB,MAAM6tB,QAAW,GAAA,CAAA;IACjB,GAAG5C;EACD,CAAA,GAAAntB,KAAA;EACE,MAAA2d,QAAA,GAAWqU,sBAAuB,CAAAjF,YAAY,CAAE,CAAA3oB,MAAA,CACnDsuB,KAAU,IAAA,OAAOA,KAAU,KAAA,QAAA,CAC9B;EACA,MAAMF,SAAY,GAAA5vB,IAAA,CAAKgS,GAAI,CAAA6d,aAAA,EAAe,CAAC,CAAA;EACrC,MAAAvwB,IAAA,GAAOuB,aAAassB,QAAQ,CAAA;EAElC,MAAMxG,MAAM5L,QAAS,CAAAxd,MAAA;EACrB,MAAMwyB,eAAeH,SAAY,GAAA,CAAA;EACjC,MAAMI,aAAarJ,GAAM,GAAAoJ,YAAA;EACzB,MAAME,kBAAkBD,UAAa,GAAA,CAAA,GAAIjV,SAASlL,KAAM,CAAAmgB,UAAA,EAAYrJ,GAAG,CAAI,GAAA5L,QAAA;EAGzE,OAAA,eAAAmB,IAAA,CAACyN;IAAK,SAAQ,EAAA,aAAA;IAAe,GAAGY,SAAW;IAAAlM,GAAA;IAAUtgB,OAAOuB,IACzD;IAAAyb,QAAA,EAAA,CAAA4L,GAAA,KAAQ,oBACNxL,GAAA,CAAA,KAAA,EAAA;MACCJ,6BAACkU,aAAc,EAAA;QAAAC,KAAA,EAAOvI;OAAK;IAC7B,CAAA,CAAA,EAGDA,GAAA,KAAQ,CAAK,IAAAqJ,UAAA,GAAa,CACzB,IAAA,eAAA7U,GAAA,CAAC,KACC,EAAA;MAAAJ,QAAA,EAAA,eAAAI,GAAA,CAAC8T,aAAc,EAAA;QAAAC,KAAA,EAAOc,UAAY;QAAA1wB;MAAA,CAAY;IAChD,CAAA,CAAA,EAGD2wB,gBAAgBvzB,GAAI,CAAA,CAACozB,KAAO,EAAAI,UAAA,wBAC1B,KAA8B,EAAA;MAAAnV,QAAA,EAAAoV,YAAA,CAAaL,KAAO,EAAA;QAACxwB;MAAK,CAAA;IAAA,CAAA,EAA/C8wB,MAAO,CAAAF,UAAU,CAAgC,CAC5D,CAAA;EACH,CAAA,CAAA;AAEJ,CAAC,CAAA;AC7DD,MAAMvG,SAAOC,MAAO,CAAAC,GAAA,CAOlBrK,QAAA,EACAiC,aAAA,EACAhC,kBAAA,EACA+E,uBAAA,EACAuD,qBAAA,EACAQ,sBACF,CAAA;AAKO,MAAM8H,GAAM,GAAApG,UAAA,CAAW,SAASoG,IAAAA,CACrCjzB,OACAihB,GACA,EAAA;EACM,MAAA;IACJqO,IAAIC,MAAS,GAAA,KAAA;IACb/G,MAAA;IACAG,WAAA;IACAG,SAAA;IACApnB,OAAU,GAAA,OAAA;IACV8iB,IAAA;IACA7iB,MAAA;IACAH,MAAS,GAAA,CAAA;IACT0xB,OAAA;IACAC,OAAA;IACAnwB,SAAA;IACAowB,WAAA;IACAnwB,YAAA;IACAqvB,UAAA;IACAvP,QAAA;IACAxhB,OAAU,GAAA,CAAA;IACV8xB,QAAA;IACAC,QAAA;IACAvoB,UAAA;IACAC,YAAA;IACAC,aAAA;IACAC,WAAA;IACA6c,GAAA;IACAG,QAAA;IACAG,MAAA;IACAzF,MAAA;IACA,GAAGuK;EACD,CAAA,GAAAntB,KAAA;EAGF,sBAAA+d,GAAA,CAACwO,MAAA,EAAA;IACC,SAAS,EAAA,OAAOgD,MAAW,KAAA,QAAA,GAAWA,MAAS,GAAA,KAAA,CAAA;IAC/C,SAAQ,EAAA,KAAA;IACP,GAAGpC,SAAA;IACJ5E,OAAA,EAAS9kB,aAAa+kB,MAAM,CAAA;IAC5BE,YAAA,EAAcjlB,aAAaklB,WAAW,CAAA;IACtCE,UAAA,EAAYplB,aAAaqlB,SAAS,CAAA;IAClCpG,QAAA,EAAUjf,aAAa/B,OAAO,CAAA;IAC9B6iB,KAAA,EAAO9gB,aAAa+gB,IAAI,CAAA;IACxB3B,OAAA,EAASpf,aAAa9B,MAAM,CAAA;IAC5BipB,OAAA,EAASnnB,aAAajC,MAAM,CAAA;IAC5BqpB,QAAA,EAAUpnB,aAAayvB,OAAO,CAAA;IAC9BpI,QAAA,EAAUrnB,aAAa0vB,OAAO,CAAA;IAC9BpI,UAAA,EAAYtnB,aAAaT,SAAS,CAAA;IAClCgoB,YAAA,EAAcvnB,aAAa2vB,WAAW,CAAA;IACtCnI,aAAA,EAAexnB,aAAaR,YAAY,CAAA;IACxCioB,WAAA,EAAaznB,aAAa6uB,UAAU,CAAA;IACpCxP,SAAA,EAAWrf,aAAasf,QAAQ,CAAA;IAChCqG,QAAA,EAAU3lB,aAAalC,OAAO,CAAA;IAC9B6pB,SAAA,EAAW3nB,aAAa4vB,QAAQ,CAAA;IAChChI,SAAA,EAAW5nB,aAAa6vB,QAAQ,CAAA;IAChChI,WAAA,EAAa7nB,aAAasH,UAAU,CAAA;IACpCwgB,aAAA,EAAe9nB,aAAauH,YAAY,CAAA;IACxCwgB,cAAA,EAAgB/nB,aAAawH,aAAa,CAAA;IAC1CwgB,YAAA,EAAchoB,aAAayH,WAAW,CAAA;IACtC4c,IAAA,EAAMrkB,aAAaskB,GAAG,CAAA;IACtBE,SAAA,EAAWxkB,aAAaykB,QAAQ,CAAA;IAChCE,OAAA,EAAS3kB,aAAa4kB,MAAM,CAAA;IAC5B1F,OAAA,EAASlf,aAAamf,MAAM,CAAA;IAC5B0M,EAAI,EAAAC,MAAA;IACJtO,GAAA;IAECtD,QAAM,EAAA3d,KAAA,CAAA2d;EAAA,CAAA,CACT;AAEJ,CAAC,CAAA;ACxHM,SAAS4V,WAAWvzB,KAAmC,EAAA;EACtD,MAAA;IAACwzB,KAAO;IAAAnJ;EAAS,CAAA,GAAArqB,KAAA;EAEhB,OAAA;IACLsuB,eAAA,EAAiBkF,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,SAAS,CAAI,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,SAAS,CAAA;IAC3F,CAAClQ,qBAAqB,UAAU,CAAC,GAAGM,OAAQ,CAAA4P,KAAK,EAAE,gBAAgB,CAAA;IACnE4B,SAAA,EAAWuH,UAAU,SAAY,GAAA,kBAAA,CAAmBx0B,eAAQqrB,KAAK,CAAA,CAAE,aAAa,CAAM,CAAA,GAAA,KAAA,CAAA;IACtFoJ,MAAQ,EAAA,SAAA;IAER,iBAAmB,EAAA;MACjB/xB,OAAS,EAAA;IACX;EAAA,CACF;AACF;ACGA,MAAM6qB,MAAA,GAAOC,OAAOyG,GAAG,CAAA,CACrBvH,qBAAA,EACA6H,UACF,CAAA;AAKO,MAAMG,KAAQ,GAAA7G,UAAA,CAAW,SAAS6G,MAAAA,CACvC1zB,OACAihB,GACA,EAAA;EACM,MAAA;IACJtD,QAAA;IACA1b,QAAA;IACA0xB,IAAO,GAAA,SAAA;IACPpyB,OAAU,GAAA,CAAA;IACVsa,MAAS,GAAA,CAAA;IACT5C,IAAO,GAAA,SAAA;IACP,GAAGkU;EACD,CAAA,GAAAntB,KAAA;EAGF,sBAAA+d,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,OAAA;IACP,GAAGY,SAAA;IACJqG,KAAO,EAAAG,IAAA;IACPtJ,KAAO,EAAApR,IAAA;IACP0S,OAAA,EAASloB,aAAaoY,MAAM,CAAA;IAC5Bta,OAAA,EAASkC,aAAalC,OAAO,CAAA;IAC7B0f,GAAA;IAEAtD,6BAACiP,IAAK,EAAA;MAAA1qB,IAAA,EAAMD,QAAU;MAAAirB,MAAA,EAAO;MAC1BvP;KACH;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;ACpCD,MAAM4O,MAAA,GAAOC,OAAOyG,GAAG,CAAA,CACrB5O,aAAA,EACArB,mBACF,CAAA;AAKO,MAAM4Q,IAAO,GAAA/G,UAAA,CAAW,SAAS+G,KAAAA,CACtC5zB,OACAihB,GACA,EAAA;EACM,MAAA;IAACqC,KAAO;IAAAgM,EAAA;IAAIrL,SAAY,GAAA,KAAA;IAAOR;IAAKK,OAAS;IAAAH,IAAA;IAAM,GAAGwJ;EAAA,CAAa,GAAAntB,KAAA;EAEzE;IAAA;IAAA;IAEE+d,GAAA,CAACwO,MAAA,EAAA;MACC,SAAQ,EAAA,MAAA;MACP,GAAGY,SAAA;MACJ7pB,MAAA,EAAQG,aAAa6f,KAAK,CAAA;MAC1BU,UAAA,EAAYvgB,aAAawgB,SAAS,CAAA;MAClCT,IAAA,EAAM/f,aAAaggB,GAAG,CAAA;MACtBI,QAAA,EAAUpgB,aAAaqgB,OAAO,CAAA;MAC9BJ,KAAA,EAAOjgB,aAAakgB,IAAI,CAAA;MACxBkQ,WAAa,EAAAvE,EAAA;MACbrO;IAAA,CACF;EAAA;AAEJ,CAAC,CAAA;;;;;;AClDD,IAAAxZ,IAAA,EAAAO,IAAA;AAaA,MAAM8rB,WAASC,SAAS,CAAAtsB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,gGAAA,CAAA,CAAA,CAAA,CAAA;AAUxB,MAAMoO,SAAOC,MAAO,CAAAI,IAAI,CAAX,CAAA5kB,IAAA,KAAAA,IAAA,GAAYmW,uDAEF,gCAAN,CAAA,CAAA,CAAA,EAAA2V,QAAA,CAAA;AAOV,MAAME,OAAU,GAAAnH,UAAA,CAAW,SAASmH,QAAAA,CACzCh0B,OACAihB,GACA,EAAA;EAEE,OAAA,eAAAlD,GAAA,CAACwO;IAAK,SAAQ,EAAA,SAAA;IAAW,GAAGvsB,KAAO;IAAAihB,GAAA;IACjCtD,QAAC,EAAA,eAAAI,GAAA,CAAAkW,WAAA,EAAA,CAAY,CAAA;EACf,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;ACzCD,IAAAxsB,IAAA;AAYO,SAASysB,gBAA2CA,CAAA,EAAA;EACzD,OAAOhK,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,yjBAAA,CAAA,CAAA,CAAA,CAAA;AA8BZ;AAEA,MAAMgW,cAAc;EAAC9gB,MAAA,EAAQ;IAAC/L,KAAA,EAAO;EAAE;AAAA,CAAA;AACvC,MAAM8sB,gBAAmB,GAAA,4CAAA;AAEzB,SAASC,mBAAgE;EAAA,SAAAC,IAAA,GAAAp0B,SAAA,CAAAC,MAAA,EAA5Co0B,UAA4C,OAAA30B,KAAA,CAAA00B,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;IAA5CD,UAA4C,CAAAC,IAAA,IAAAt0B,SAAA,CAAAs0B,IAAA;EAAA;EACvE,OAAOD,UAAW,CAAAnwB,MAAA,CAAOC,OAAO,CAAA,CAAE0gB,KAAK,GAAG,CAAA;AAC5C;AAKO,SAAS0P,kBACdz0B,KACa,EAAA;EAzDf,IAAAyH,GAAA,EAAAO,EAAA;EA0DE,MAAM;IAACwrB,KAAA;IAAOzzB,KAAO;IAAAsqB;EAAA,CAAS,GAAArqB,KAAA;EAC9B,MAAM;IAACub;EAAa,CAAA,GAAAxb,KAAA,CAAMO,MAAO,CAAAmb,MAAA;EAC3B,MAAAqQ,MAAA,GAAS9rB,MAAMwzB,KAAU,KAAA,OAAA;EAC/B,MAAMngB,MAAS,GAAA;IACb/L,KAAA,EAAO6sB,YAAY9gB,MAAO,CAAA/L,KAAA;IAC1B8P,OACEoc,KAAU,KAAA,SAAA,GACN/Y,QAAQ4P,KAAK,CAAA,CAAE,WAAW,CAC1B,GAAAmJ,KAAA,KAAU,OACV,GAAA/Y,OAAA,CAAQ4P,KAAK,CAAE,CAAA,aAAa,IAC5B5P,OAAQ,CAAA4P,KAAK,EAAE,SAAS;EAAA,CAChC;EAEO,OAAA,CACL;IAAA;IAEE,CAAClQ,oBAAA,CAAqB,UAAU,CAAC,GAC/BqZ,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,EAAE,iBAAiB,CAAA,GAAI5P,OAAQ,CAAA4P,KAAK,EAAE,cAAc,CAAA;IACzF,CAAClQ,oBAAA,CAAqB,gBAAgB,CAAC,GACrCqZ,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,EAAE,iBAAiB,CAAA,GAAI5P,OAAQ,CAAA4P,KAAK,EAAE,gBAAgB,CAAA;IAC3F,CAAClQ,oBAAA,CAAqB,YAAY,CAAC,GACjCqZ,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,EAAE,eAAe,CAAA,GAAI5P,OAAQ,CAAA4P,KAAK,EAAE,cAAc,CAAA;IACvF,CAAClQ,oBAAA,CAAqB,UAAU,CAAC,GAC/BqZ,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,EAAE,WAAW,CAAA,GAAI5P,OAAQ,CAAA4P,KAAK,EAAE,SAAS,CAAA;IAAA;IAG9E,CAACjR,aAAc,CAAA,SAAA,EAAW,cAAc,CAAC,GACvCoa,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,EAAE,WAAW,CAAA,GAAI5P,OAAQ,CAAA4P,KAAK,EAAE,cAAc,CAAA;IACnF,IAAImJ,UAAU,SAAa,IAAA;MACzB,CAACpa,cAAc,SAAW,EAAA,WAAW,CAAC,GAAGqB,OAAA,CAAQ4P,KAAK,CAAA,CAAE,iBAAiB,CAAA;MACzE,CAACjR,cAAc,SAAW,EAAA,WAAW,CAAC,GAAGqB,OAAA,CAAQ4P,KAAK,CAAA,CAAE,iBAAiB,CAAA;MACzE,CAACjR,cAAc,SAAW,EAAA,WAAW,CAAC,GAAGqB,OAAA,CAAQ4P,KAAK,CAAA,CAAE,iBAAiB,CAAA;MACzE,CAACjR,cAAc,SAAW,EAAA,aAAa,CAAC,GAAGqB,OAAA,CAAQ4P,KAAK,CAAA,CAAE,iBAAiB;IAC7E,CAAA;IAEA,qCAAuC,EAAA;MAAA;MAErC,CAAClQ,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,eAAe,CAAA;MACnE,CAAC0B,oBAAqB,CAAA,gBAAgB,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,eAAe,CAAA;MACzE,CAAC0B,oBAAqB,CAAA,YAAY,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,aAAa,CAAA;MACnE,CAAC0B,oBAAA,CAAqB,UAAU,CAAC,GAC/BqZ,KAAA,KAAU,SAAY,GAAA/Y,OAAA,CAAQhC,OAAQ,CAAA,SAAS,CAAI,GAAAgC,OAAA,CAAQjC,QAAQ,SAAS;IAChF;EACF,CAAA,EACA;IACE8V,eAAA,EACEkF,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,WAAW,CAAI,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,SAAS,CAAA;IAC9EjT,KAAA,EACEoc,KAAU,KAAA,SAAA,GAAY/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,iBAAiB,CAAI,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,cAAc,CAAA;IACzF4B,SAAA,EAAWxH,qBAAqBpR,MAAM,CAAA;IACtC,qCAAuC,EAAA;MACrCib,eAAA,EACEkF,UAAU,SAAY,GAAA/Y,OAAA,CAAQhC,QAAQ,SAAS,CAAA,GAAIgC,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAAA;MAC9EpB,KAAA,EAAOqD,OAAQ,CAAAhC,OAAA,CAAQ,eAAe,CAAA;MACtCwT,WAAWxH,oBAAqB,CAAA;QAC9B,GAAGpR,MAAA;QACH+D,KAAA,EAAOoc,UAAU,SAAY,GAAA/Y,OAAA,CAAQhC,QAAQ,SAAS,CAAA,GAAIgC,OAAQ,CAAAhC,OAAA,CAAQ,aAAa;MAAA,CACxF;IACH,CAAA;IACA,+BAAiC,EAAA;MAC/BwT,SAAW,EAAAoI,gBAAA,CACT5P,qBAAqBpR,MAAM,CAAA,EAC3ByY,SAASsI,gBAAmB,GAAA,KAAA,CAC9B,CAAA;MACA,SAAW,EAAA;QACTnI,WAAWvH,cAAe,CAAA;UACxBtjB,MAAM;YAACmW,EAAA,EAAIkD,OAAQ,CAAA/B,QAAA,CAAS,eAAe;UAAC,CAAA;UAC5CrF,MAAA,EAAQ;YAAC/L,KAAO,EAAA,CAAA;YAAG8P,OAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,SAAS;UAAC,CAAA;UACpD+C;QAAA,CACD;MACH,CAAA;MACA,6BAA+B,EAAA;QAC7B0Q,SAAW,EAAAoI,gBAAA,CACT5P,qBAAqBpR,MAAM,CAAA,EAC3ByY,SAASsI,gBAAmB,GAAA,KAAA,CAC9B;MACF,CAAA;MACA,uBAAyB,EAAA;QACvB,SAAW,EAAA;UACT9F,eAAA,EACEkF,KAAU,KAAA,SAAA,GACN/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,iBAAiB,CAChC,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,eAAe;QACtC,CAAA;QACA,UAAY,EAAA;UACViE,eAAA,EACEkF,KAAU,KAAA,SAAA,GACN/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,kBAAkB,CACjC,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,gBAAgB;QACvC,CAAA;QACA,iBAAmB,EAAA;UACjBiE,eAAA,EACEkF,KAAU,KAAA,SAAA,GACN/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,iBAAiB,CAChC,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,eAAe;QACtC;MACF,CAAA;MACA,kBAAoB,EAAA;QAClBiE,eAAA,EACEkF,KAAU,KAAA,SAAA,GACN/Y,OAAQ,CAAA4P,KAAK,CAAE,CAAA,kBAAkB,CACjC,GAAA5P,OAAA,CAAQ4P,KAAK,CAAA,CAAE,gBAAgB;MACvC;IACF;EACF,CAAA,EACA,CAAAriB,EAAA,GAAA,CAAAP,MAAA1H,KAAM,CAAAO,MAAA,CAAOwpB,WAAb,IAAAriB,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAqBgU,WAArB,IAA6B,GAAA,KAAA,CAAA,GAAAzT,EAAA,CAAA4V,IAAA,CAC/B,CAAExZ,OAAOC,OAAO,CAAA;AAClB;;;;;;ACrKA,IAAAoD,IAAA;AAsCA,MAAM8kB,MAAO,GAAAC,MAAA,CAAO/Q,MAElB,CAAAiQ,qBAAA,EAAuBwI,kBAAkBO,iBAAiB,CAAA;AAE5D,MAAMC,UAAA,GAAalI,OAAOC,GAAP,CAAAhlB,IAAA,KAAAA,IAAA,GAAU0W,uLASoB,uEAA3B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,QAAQ,UAAU,CAAA,CAAA;AASzC,MAAMia,MAAS,GAAA9H,UAAA,CAAW,SAAS8H,OAAAA,CACxC30B,OACAihB,GACA,EAAA;EACM,MAAA;IACJtD,QAAA;IACAiX,QAAA;IACA3yB,QAAW,GAAA,CAAA;IACX4yB,IAAA;IACAC,SAAA;IACAhR,SAASiR,WAAc,GAAA,QAAA;IACvBC,OAAA;IACArB,IAAO,GAAA,SAAA;IACPpyB,SAAS0zB,WAAc,GAAA,CAAA;IACvB5B,QAAU,EAAA6B,YAAA;IACV5B,QAAU,EAAA6B,YAAA;IACVpqB,UAAY,EAAAqqB,cAAA;IACZnqB,aAAe,EAAAoqB,iBAAA;IACfnqB,WAAa,EAAAoqB,eAAA;IACbtqB,YAAc,EAAAuqB,gBAAA;IACd1Z,QAAQ2Z,UAAa,GAAA,CAAA;IACrBC,QAAA;IACAj1B,OAAOk1B,SAAY,GAAA,CAAA;IACnBva,IAAA;IACA5X,SAAA;IACA0V,IAAO,GAAA,SAAA;IACPtQ,IAAO,GAAA,QAAA;IACPqkB,KAAQ,GAAA,KAAA;IACR,GAAGG;EACD,CAAA,GAAAntB,KAAA;EAEE,MAAA8jB,OAAA,GAAUrgB,aAAasxB,WAAW,CAAA;EAClC,MAAAxzB,OAAA,GAAUkC,aAAawxB,WAAW,CAAA;EAClC,MAAA5B,QAAA,GAAW5vB,aAAayxB,YAAY,CAAA;EACpC,MAAA5B,QAAA,GAAW7vB,aAAa0xB,YAAY,CAAA;EACpC,MAAApqB,UAAA,GAAatH,aAAa2xB,cAAc,CAAA;EACxC,MAAAnqB,aAAA,GAAgBxH,aAAa4xB,iBAAiB,CAAA;EAC9C,MAAAnqB,WAAA,GAAczH,aAAa6xB,eAAe,CAAA;EAC1C,MAAAtqB,YAAA,GAAevH,aAAa8xB,gBAAgB,CAAA;EAC5C,MAAA1Z,MAAA,GAASpY,aAAa+xB,UAAU,CAAA;EAChC,MAAAh1B,KAAA,GAAQiD,aAAaiyB,SAAS,CAAA;EAEpC,MAAM31B,QAAQmf,QAAS,EAAA;EAEvB,MAAMyW,QAAW,GAAAhyB,OAAA,CACf,OAAO;IAAA;IAELpC,OAAA;IACA8xB,QAAA;IACAC,QAAA;IACAvoB,UAAA;IACAE,aAAA;IACAC,WAAA;IACAF;EAAA,CACF,CAAA,EACA,CAACzJ,OAAS,EAAA8xB,QAAA,EAAUC,UAAUvoB,UAAY,EAAAE,aAAA,EAAeC,aAAaF,YAAY,CAAA,CACpF;EAGE,sBAAA8T,IAAA,CAACyN,MAAA,EAAA;IACC,SAAQ,EAAA,QAAA;IACP,GAAGY,SAAA;IACJqG,KAAO,EAAAG,IAAA;IACPhI,OAAS,EAAA9P,MAAA;IACTwO,KAAO,EAAApR,IAAA;IACP,eAAA,EAAe5U,OAAQ,CAAA2wB,OAAA,IAAWJ,QAAQ,CAAA;IAC1C,eAAA,EAAea,WAAW,EAAK,GAAA,KAAA,CAAA;IAC/Bb,QAAA,EAAUvwB,OAAQ,CAAA2wB,OAAA,IAAWJ,QAAQ,CAAA;IACrC3T,GAAA;IACAtY,IAAA;IAECgV,QAAA,EAAA,CAAAtZ,OAAA,CAAQ2wB,OAAO,CACd,IAAA,eAAAjX,GAAA,CAAC2W,UACC,EAAA;MAAA/W,QAAA,EAAA,eAAAI,GAAA,CAACiW,UAAQ,CAAA;KACX,CAAA,EAAA,CAGAa,IAAQ,IAAA1Z,IAAA,IAAQ2Z,SAChB,KAAA,eAAA/W,GAAA,CAACkV;MAAI3D,EAAG,EAAA,MAAA;MAAQ,GAAGqG,QAAA;MACjBhY,8BAACiW,IAAK,EAAA;QAAAtE,EAAA,EAAG,MAAO;QAAAxL,OAAA;QAAkBL,KAAKjjB,KACpC;QAAAmd,QAAA,EAAA,CACCkX,IAAA,IAAA,eAAA/V,IAAA,CAAC8N,IAAK,EAAA;UAAA1qB,IAAA,EAAMD,QACT;UAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAef,IAAI,CAAK,IAAAA,IAAA,EACxB5E,kBAAmB,CAAA4E,IAAI,CAAK,IAAAgB,aAAA,CAAchB,IAAI,CAAA;SACjD,CAAA,EAGD1Z,QACE,eAAA4C,GAAA,CAAAkV,GAAA,EAAA;UAAIzO,IAAM,EAAAsQ,SAAA,GAAY,IAAI,KACzB,CAAA;UAAAnX,QAAA,iBAAAI,GAAA,CAAC6O,IAAA,EAAA;YACCI,KAAA;YACA1J,KAAO,EAAA/f,SAAA;YACPrB,IAAM,EAAAD,QAAA;YACNgrB,YAAa,EAAA,UAAA;YACbC,MAAA,EAAQntB,KAAM,CAAAO,MAAA,CAAOmb,MAAO,CAAAC,UAAA;YAE3BiC,QAAA,EAAAxC;UAAA,CAAA;SAEL,CAAA,EAGD2Z,SACC,IAAA,eAAAhW,IAAA,CAAC8N,IAAK,EAAA;UAAA1qB,IAAA,EAAMD,QACT;UAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAed,SAAS,CAAK,IAAAA,SAAA,EAC7B7E,kBAAmB,CAAA6E,SAAS,CAAK,IAAAe,aAAA,CAAcf,SAAS,CAAA;SAC3D,CAAA;MAAA,CAEJ;IACF,CAAA,CAAA,EAGDnX,YACE,eAAAI,GAAA,CAAAkV,GAAA,EAAA;MAAI3D,IAAG,MAAQ;MAAA,GAAGqG;MAChBhY;KACH,CAAA;EAAA,CAAA,CAEJ;AAEJ,CAAC,CAAA;ACzKe,SAAAmY,sBAAAA,CAAA,EAAqD;EAAA,IAA9BC,gFAAY,KAAkB;EAC5D,OAAA;IACL,CAAC3c,cAAc,SAAW,EAAA,WAAW,CAAC,GAAGqB,OAAA,CAAQjC,QAAQ,gBAAgB,CAAA;IACzE,CAACY,cAAc,SAAW,EAAA,aAAa,CAAC,GAAGqB,OAAA,CAAQjC,QAAQ,gBAAgB,CAAA;IAC3E,CAACY,cAAc,SAAW,EAAA,WAAW,CAAC,GAAGqB,OAAA,CAAQjC,QAAQ,gBAAgB,CAAA;IACzE,CAACY,cAAc,SAAW,EAAA,cAAc,CAAC,GAAGqB,OAAA,CAAQjC,QAAQ,gBAAgB,CAAA;IAE5E,CAAC2B,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,gBAAgB,CAAA;IACpE,CAAC0B,oBAAqB,CAAA,gBAAgB,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,gBAAgB,CAAA;IAC1E,CAAC0B,oBAAqB,CAAA,YAAY,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,aAAa,CAAA;IACnE,CAAC0B,oBAAqB,CAAA,cAAc,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,cAAc,CAAA;IACtE,CAAC0B,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,SAAS,CAAA;IAC7D,CAAC0B,oBAAqB,CAAA,UAAU,CAAC,GAAG4b,YAChC,2BAA4B,CAAA/2B,MAAA,CAAAyb,OAAA,CAAQjC,OAAQ,CAAA,cAAc,GAAC,WAAY,CAAA,CAAAxZ,MAAA,CAAAyb,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GAAC,UACjG,CAAA,GAAA,KAAA;EAAA,CACN;AACF;AAMO,SAASwd,sBAAoCA,CAAA,EAAA;EAC3C,OAAA;IACL,CAAC7b,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,WAAW,CAAA;IAC/D,CAAC2B,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,SAAS,CAAA;IAC7D,CAAC2B,oBAAqB,CAAA,gBAAgB,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,cAAc,CAAA;IACxE,CAAC2B,oBAAqB,CAAA,cAAc,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,cAAc,CAAA;IACtE,CAAC2B,oBAAqB,CAAA,YAAY,CAAC,GAAGM,OAAA,CAAQhC,QAAQ,SAAS;EAAA,CACjE;AACF;AAMO,SAASwd,mBAAiCA,CAAA,EAAA;EACxC,OAAA;IACL,CAAC9b,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,eAAe,CAAA;IACnE,CAACY,cAAc,SAAW,EAAA,SAAS,CAAC,GAAGqB,OAAA,CAAQjC,QAAQ,gBAAgB;EAAA,CACzE;AACF;AAMO,SAAS0d,oBAAkCA,CAAA,EAAA;EACzC,OAAA;IACL,CAAC/b,oBAAqB,CAAA,UAAU,CAAC,GAAGM,OAAA,CAAQjC,QAAQ,gBAAgB;EAAA,CACtE;AACF;AAMO,SAAS2d,oBAAoBld,IAAoC,EAAA;EAC/D,OAAA;IACL,CAACkB,oBAAA,CAAqB,UAAU,CAAC,GAAG,SAAA;IACpC,CAACA,oBAAA,CAAqB,UAAU,CAAC,GAC/BlB,IAAA,KAAS,SAAY,GAAAwB,OAAA,CAAQjC,OAAQ,CAAA,cAAc,CAAI,GAAAiC,OAAA,CAAQjC,QAAQ,gBAAgB;EAAA,CAC3F;AACF;AAMO,SAAS4d,2BAAyCA,CAAA,EAAA;EAChD,OAAA;IACL,GAAGN,sBAAuB,CAAA,CAAA;IAC1B,CAAC3b,oBAAA,CAAqB,UAAU,CAAC,GAAG,KAAA;EAAA,CACtC;AACF;;;;;;ACnFA,IAAA1S,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAYO,SAASqM,UACdr2B,KACgE,EAAA;EAChE,OAAO,CAACs2B,aAAc,CAAAt2B,KAAK,CAAG,EAAAu2B,cAAA,CAAev2B,KAAK,CAAC,CAAA;AACrD;AAEO,SAASs2B,cAAct2B,KAA4D,EAAA;EAClF,MAAA;IAACw2B,UAAY;IAAAz2B;EAAS,CAAA,GAAAC,KAAA;EACtB,MAAAQ,KAAA,GAAQT,MAAMO,MAAO,CAAAE,KAAA;EAE3B,OAAO0pB,oBAAG/L,YAMP,CAAA,CAAA,QAAA,EAAA,8YAAA,CAAA,CAAA,CAAA,EALCqY,UACF,IAAAtM,GAAA,CAAAziB,IAAA,KAAAA,IAAA,GAAG0W,2CAC0B,KAAc,EAAA,oEAAA,EAEM,SAF5B,CAAA,CAAA,CAAA,EAAA3d,KAAA,CAAM,CAAC,CAAO,EAAAA,KAAA,CAAM,CAAC,CAEpB,EAAAia,OAAA,CAAQC,QAAQ,UAAU,CAAA,CAAA,CAAA;AAwBpD;AAEO,SAAS6b,eAAev2B,KAA4D,EAAA;EArD3F,IAAAyH,GAAAO,EAAAA,GAAAA;EAsDE,MAAM;IAACwuB,UAAY;IAAAC,UAAA;IAAY12B;IAAOsqB,KAAO;IAAAqM,OAAA;IAASC;EAAkB,CAAA,GAAA32B,KAAA;EACxE,MAAM;IAACub;EAAa,CAAA,GAAAxb,KAAA,CAAMO,MAAO,CAAAqb,IAAA;EAE3B,MAAAtI,MAAA,GAAS;IAAC/L,KAAO,EAAA,CAAA;IAAG8P,OAAOqD,OAAQ,CAAA/B,QAAA,CAAS,eAAe;GAAC;EAE3D,OAAAwR,GAAA,CAAAF,IAAA,KAAAA,IAAA,GAAG7L,YAEmE,CAAA,CAAA,wHAAA,EAAA,sBAAA,EACtB,SAEuE,EAAA,4BAAA,EAE7E,kBACP,mNAUA,EAAA,8EAAA,EAKV,uDAIE,EAAA,6KAAA,EAOC,2DAIC,EAAA,wGAAA,EAQf,mGAIwE,6LAWnD,EAAA,oFAAA,EAKV,uDAIE,EAAA,6KAAA,EAOC,2DAIC,EAAA,wGAAA,EAQf,iGAIwE,EAAA,sCAAA,EAK1D,MAhG/B,CAAA,CAAA,CAAA,EAAAwY,cAAA,IAAkBpc,aAAc,CAAAmc,OAAA,EAAS32B,KAAM,CAAAO,MAAA,CAAO8W,MAAMkC,KAAO,EAAA+Q,KAAK,CAC1D,EAAAqM,OAAA,KAAY,MAAS,GAAA,MAAA,GAAS,SAC5CF,UACF,IAAA,4CAAA,CAA6Cx3B,MAAQ,CAAAyb,OAAA,CAAAjC,OAAA,CAAQ,cAAc,CAAA,EAAC,aAAYxZ,MAAQ,CAAAyb,OAAA,CAAAjC,OAAA,CAAQ,SAAS,CAAA,EAAC,UAE9F,CAAA,EAAAiC,OAAA,CAAQC,OAAQ,CAAA,UAAU,CACrC,EAAAD,OAAA,CAAQjC,OAAQ,CAAA,cAAc,CAUjC,EAAAsd,sBAAA,CAAuBU,UAAU,CAK/B,EAAAN,oBAAA,CAAA,CAIA,EAAAF,sBAAA,EAOI,EAAAC,mBAAA,IAIAC,oBAAqB,CAAA,CAAA,EAMKO,UAC5B,GAAA/R,cAAA,CAAe;IAACrR,MAAA;IAAQkI;EAAU,CAAA,CAAA,GAClC,KAI4B,CAAA,EAAAkb,UAAA,GAAahS,oBAAqB,CAAApR,MAAM,CAAI,GAAA,KAAA,CAAA,EAW5EyiB,sBAAuB,CAAAU,UAAU,CAK/B,EAAAN,oBAAA,CAAA,CAIA,EAAAF,sBAAA,IAOIC,mBAAoB,CAAA,CAAA,EAIpBC,oBAAqB,CAAA,CAAA,EAMKO,UAC5B,GAAA/R,cAAA,CAAe;IAACrR,MAAQ;IAAAkI;EAAA,CAAU,CAAA,GAClC,KAI4B,CAAA,EAAAkb,UAAA,GAAahS,qBAAqBpR,MAAM,CAAA,GAAI,KAKhFrL,CAAAA,EAAAA,CAAAA,GAAAA,GAAAA,CAAAP,GAAA,GAAA1H,KAAA,CAAMO,MAAO,CAAAwpB,MAAA,KAAb,IAAAriB,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAqBkU,IAArB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA3T,GAA2B,CAAA4V,IAAA,CAAA;AAEjC;AC7GA,MAAM2O,SAAOC,MAAO,CAAAyG,GAAG,EAKrBzR,qBAAuB,EAAAkK,qBAAA,EAAuBQ,uBAAuBmK,SAAS,CAAA;AAEhF,MAAMO,UAAUC,KAAA,IAUU;EAAA,IAVT;IACfC,gBAAA;IACA9d,MAAA;IACAC,IAAA;IACA0E;EACF,CAK0B,GAAAkZ,KAAA;EAExB,IAAIC,gBAAkB,EAAA;IACpB,OACG,eAAA/Y,GAAA,CAAAL,YAAA,EAAA;MAAa1E,MAAgB;MAAAC,IAAA;MAC3B0E;IACH,CAAA,CAAA;EAEJ;EAEO,OAAAA,QAAA;AACT,CAAA;AAKO,MAAMoZ,IAAO,GAAAlK,UAAA,CAAW,SAASkK,KAAAA,CACtC/2B,OACAihB,GACA,EAAA;EACM,MAAA;IACJ+V,sBAAsBjB,SAAY,GAAA,KAAA;IAClCkB,sBAAsB1b,SAAY,GAAA,KAAA;IAClC+T,EAAI,EAAAC,MAAA;IACJlc,MAAA;IACAlI,SAAA;IACAE,WAAA;IACAE,YAAA;IACAE,UAAA;IACAyrB,OAAA;IACArb,MAAS,GAAA,CAAA;IACT7C,MAAQ,EAAAme,UAAA;IACR1B,QAAA;IACA3J,MAAA;IACA7S,MAAMme,QAAW,GAAA,SAAA;IACjBC,aAAgB,GAAA,KAAA;IAChB,GAAGlK;EACD,CAAA,GAAAntB,KAAA;EAEJ,MAAMsvB,EAAK,GAAAW,kBAAA,CAAmBV,MAAM,CAAA,GAAIA,MAAS,GAAA,KAAA;EACjD,MAAM+H,cAAchW,cAAe,EAAA;EACnC,MAAMrI,IAAO,GAAAme,QAAA,KAAa,SAAY,GAAAE,WAAA,CAAYre,IAAO,GAAAme,QAAA;EACnD,MAAApe,MAAA,GAASme,kCAAcG,WAAY,CAAAte,MAAA;EACzC,MAAM8d,gBAAmB,GAAA9d,MAAA,KAAWse,WAAY,CAAAte,MAAA,IAAUC,SAASqe,WAAY,CAAAre,IAAA;EAE/E,OACG,eAAA8E,GAAA,CAAA6Y,OAAA,EAAA;IAAQE,gBAAoC;IAAA9d,MAAA;IAAgBC,IAC3D;IAAA0E,QAAA,iBAAAI,GAAA,CAACwO,MAAA,EAAA;MACC,SAAS,EAAA,OAAO+C,EAAO,KAAA,QAAA,GAAWA,EAAK,GAAA,KAAA,CAAA;MACvC,aAAa,EAAAtW,MAAA;MACb,SAAQ,EAAA,MAAA;MACR,WAAW,EAAAC,IAAA;MACXyd,OAAA,EAAS1d,0BAAUse,WAAY,CAAAte,MAAA;MAC9B,GAAGmU,SAAA;MACJ1L,OAAA,EAAShe,aAAa4P,MAAM,CAAA;MAC5BqO,UAAA,EAAYje,aAAa0H,SAAS,CAAA;MAClCwW,YAAA,EAAcle,aAAa4H,WAAW,CAAA;MACtCuW,aAAA,EAAene,aAAa8H,YAAY,CAAA;MACxCsW,WAAA,EAAape,aAAagI,UAAU,CAAA;MACpC+qB,UAAY,EAAAT,SAAA;MACZU,UAAY,EAAAlb,SAAA;MACZoQ,OAAA,EAASloB,aAAaoY,MAAM,CAAA;MAC5BsQ,OAAA,EAAS1oB,aAAaqoB,MAAM,CAAA;MAC5BzB,KAAO,EAAApR,IAAA;MACP0d,gBAAgBU,aAAiB,IAAAP,gBAAA;MACjC,gBAAA,EAAgBf,YAAY,EAAK,GAAA,KAAA,CAAA;MACjC,cAAA,EAAcmB,UAAU,EAAK,GAAA,KAAA,CAAA;MAC7B,eAAA,EAAezB,WAAW,EAAK,GAAA,KAAA,CAAA;MAC/B5B,WAAa,EAAAvE,EAAA;MACbrO,GAAA;MACAwU;IAAA,CAEJ;EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AC7ID,IAAAhuB,IAAA,EAAAO,IAAA;AAKO,SAASuvB,kBAA6CA,CAAA,EAAA;EAC3D,OAAOrN,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2DAAA,CAAA,CAAA,CAAA,CAAA;AAIZ;AAEO,SAASqZ,mBAAmBx3B,KAA2C,EAAA;EACtE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACkc,KAAA;IAAOL;GAAM,GAAI9b,KAAM,CAAAO,MAAA;EACxB,MAAA;IAACib;EAAS,CAAA,GAAIW,KAAM,CAAAC,QAAA;EAE1B,OAAO+N,oBAAG/L,YAe4B,CAAA,CAAA,sQAAA,EAAA,kBAAA,EACD,sDAK/B,EAAA,0BAAA,EAC6B,sDAEe,kUAgBC,EAAA,uBAAA,EAI7C,kBACiC,EAAA,oGAAA,EAKM,sJAKuB,kEAIb,EAAA,uBAAA,EAIjD,kBACwC,EAAA,yEAAA,EAGY,oBACnB,uGAMjC,EAAA,+DAAA,EAI4C,uBAI5C,EAAA,kBAAA,EACwC,wEAGQ,sEAIJ,EAAA,uBAAA,EAI5C,kBACwC,EAAA,+EAAA,EAIQ,kKApFxCrf,GAAI,CAAAod,KAAA,CAAMC,QAAS,CAAAja,IAAI,GACxBpD,GAAI,CAAAod,KAAA,CAAMC,QAAS,CAAAja,IAAI,GAElBuiB,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CAAA,EACgBxI,GAAI,CAAA+c,MAAA,CAAO,CAAC,CAAC,CAAA,EAEVpB,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAgB/B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,gBAAgB,GAChCiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,gBAAgB,CAAA;IACvClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EAAA,CACrB,CACQ,EAAAmT,OAAA,CAAQjC,OAAQ,CAAA,SAAS,CAKpB,EAAAkM,cAAA,CAAe;IAACnJ;EAAA,CAAU,CAAA,EAK1BmJ,cAAe,CAAA;IAACnJ,WAAW;MAACjU,KAAA,EAAO,CAAG;MAAAkU,MAAA,EAAQ;IAAC;EAAA,CAAE,CAAA,EAI3Cf,OAAQ,CAAA5B,QAAA,CAAS,aAAa,CAAA,EACpC4L,oBAAqB,CAAA;IACjCnd,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L,KAAA;IACpB8P,KAAA,EAAOqD,OAAQ,CAAA5B,QAAA,CAAS,gBAAgB;EACzC,CAAA,CAAA,EACQ4B,OAAQ,CAAAjC,OAAA,CAAQ,gBAAgB,CAGrB,EAAAiC,OAAA,CAAQ5B,QAAS,CAAA,gBAAgB,CAC5C,EAAA4B,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GAGpBkM,cAAe,CAAA;IAC3BrR,MAAA,EAAQ;MAAC/L,KAAA,EAAO4U,KAAM,CAAA7I,MAAA,CAAO/L;MAAO8P,KAAO,EAAAqD,OAAA,CAAQ5B,QAAS,CAAA,gBAAgB;IAAC,CAAA;IAC7E0C,SAAW,EAAA;MAACjU,KAAO,EAAA,CAAA;MAAGkU,QAAQ;IAAC;EAChC,CAAA,CAImB,EAAAf,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GAC/BiM,oBAAqB,CAAA;IACjCnd,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L,KAAA;IACpB8P,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa;EACrC,CAAA,CAAA,EACQiC,OAAQ,CAAAjC,OAAA,CAAQ,gBAAgB,CAGrB,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,aAAa,CAI7B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GAC/BiM,oBAAqB,CAAA;IACjCnd,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L,KAAA;IACpB8P,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa;EAAA,CACrC,GACQiC,OAAQ,CAAAjC,OAAA,CAAQ,gBAAgB,CAIrB,EAAAiC,OAAA,CAAQjC,QAAQ,aAAa,CAAA,CAAA;AAUvD;AChHA,MAAM+T,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAI8K,kBAAkB,CAAA;AAC1C,MAAME,OAAA,GAAQjL,MAAO,CAAAtQ,KAAA,CAAMsb,kBAAkB,CAAA;AAKtC,MAAME,QAAW,GAAA7K,UAAA,CAAW,SAAS6K,SAAAA,CAC1C13B,OACA23B,YACA,EAAA;EACM,MAAA;IACJC,OAAA;IACAC,SAAA;IACAjD,QAAA;IACAkD,aAAA;IACA1W,cAAA;IACA2W,QAAA;IACAn5B,KAAA;IACA,GAAGuuB;EACD,CAAA,GAAAntB,KAAA;EACE,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExCxW,iBAAA,CAAkBF,KAAKG,cAAc,CAAA;EAErCrc,SAAA,CAAU,MAAM;IACd,IAAIkc,IAAIhc,OAAS,EAAA;MAEXgc,GAAA,CAAAhc,OAAA,CAAQ6yB,gBAAgBA,aAAiB,IAAA,KAAA;IAC/C;EAAA,CACC,EAAA,CAACA,aAAe,EAAA7W,GAAG,CAAC,CAAA;EAEvB,OACG,eAAAnC,IAAA,CAAAyN,MAAA,EAAA;IAAKsL,SAAsB;IAAA,SAAA,EAAQ;IAAWj5B,KAC7C;IAAA+e,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,OAAA,EAAA;MACC,gBAAgB,EAAA,CAAC7C,QAAY,IAAAmD,QAAA,GAAW,EAAK,GAAA,KAAA,CAAA;MAC7C,YAAA,EAAY3W,iBAAiB,EAAK,GAAA,KAAA,CAAA;MACjC,GAAG+L,SAAA;MACJyK,OAAA;MACAhD,UAAUA,QAAY,IAAAmD,QAAA;MACtBpvB,IAAK,EAAA,UAAA;MACLovB,QAAA;MACA9W;IAAA,CACF,CAAA,EAAA,oBACC,MACC,EAAA;MAAAtD,QAAA,EAAA,CAAA,eAAAI,GAAA,CAACia,aAAc,EAAA,EAAA,CAAA,EAAA,mBACdC,UAAW,EAAA,EAAA,CAAA;KACd,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AC/DD,IAAAxwB,IAAA;AAKA,SAASywB,4BAA4Blf,MAA6B,EAAA;EAChE,MAAMZ,OAAOY,MAAW,KAAA,MAAA;EAClB,MAAAmf,SAAA,GAAY/f,OAAO,GAAM,GAAA,GAAA;EACzB,MAAAggB,cAAA,GAAiBhgB,OAAO,GAAM,GAAA,GAAA;EAE7B,OAAA;IACL,YAAY;MAAChB,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IACzC,eAAe;MAACkC,KAAA,EAAOoW,KAAM,CAAA2K,SAAS,EAAEjjB;IAAG,CAAA;IAC3C,gBAAgB;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IAC7C,eAAe;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IAC5C,aAAa;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IAC1C,aAAa;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IAC1C,WAAW;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IACxC,UAAU;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IACvC,WAAW;MAACkC,KAAA,EAAOmW,MAAO,CAAA4K,SAAS,EAAEjjB;IAAG,CAAA;IACxC,gBAAgB;MAACkC,KAAA,EAAOuD,IAAK,CAAAwd,SAAS,EAAEjjB;IAAG,CAAA;IAC3C,aAAa;MAACkC,KAAA,EAAOkB,IAAK,CAAA8f,cAAc,EAAEljB;IAAG,CAAA;IAC7C,cAAc;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IAC3C,aAAa;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG,CAAA;IACvC,aAAa;MAACkC,KAAA,EAAOkB,IAAK,CAAA8f,cAAc,EAAEljB;IAAG,CAAA;IAC7C,YAAY;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG,CAAA;IACtC,cAAc;MAACkC,KAAA,EAAOoW,KAAM,CAAA2K,SAAS,EAAEjjB;IAAG,CAAA;IAC1C,aAAa;MAACkC,KAAA,EAAOW,IAAK,CAAAogB,SAAS,EAAEjjB;IAAG,CAAA;IACxC,QAAQ;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IACrC,eAAe;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IAC5C,cAAc;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IAC3C,aAAa;MAACkC,KAAA,EAAOkW,OAAQ,CAAA6K,SAAS,EAAEjjB;IAAG,CAAA;IAC3C,YAAY;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IACzC,cAAc;MAACkC,KAAA,EAAOkW,OAAQ,CAAA6K,SAAS,EAAEjjB;IAAG,CAAA;IAC5C,YAAY;MAACkC,KAAA,EAAOkB,IAAK,CAAA8f,cAAc,EAAEljB;IAAG,CAAA;IAC5C,cAAc;MAACkC,KAAA,EAAOW,IAAK,CAAAogB,SAAS,EAAEjjB;IAAG,CAAA;IACzC,kBAAkB;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IAC/C,oBAAoB;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IACjD,iBAAiB;MAACkC,KAAA,EAAOkB,IAAK,CAAA6f,SAAS,EAAEjjB;IAAG,CAAA;IAC5C,WAAW;MAACkC,KAAA,EAAOW,IAAK,CAAAogB,SAAS,EAAEjjB;IAAG,CAAA;IACtC,cAAc;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG,CAAA;IACxC,YAAY;MAACkC,KAAA,EAAOwD,MAAO,CAAAud,SAAS,EAAEjjB;IAAG,CAAA;IACzC,YAAY;MAACkC,KAAA,EAAOiW,MAAO,CAAA8K,SAAS,EAAEjjB;IAAG,CAAA;IACzC,SAAS;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG,CAAA;IACnC,UAAU;MAACkC,KAAA,EAAOmW,MAAO,CAAA4K,SAAS,EAAEjjB;IAAG,CAAA;IACvC,SAAS;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG,CAAA;IACnC,cAAc;MAACkC,KAAA,EAAOY,GAAI,CAAAmgB,SAAS,EAAEjjB;IAAG;EAAA,CAC1C;AACF;AAMO,SAASmjB,cAAcr4B,KAAmD,EAAA;EACxE,OAAAkqB,GAAA,CAAAziB,IAAA,KAAAA,IAAA,GAAG0W,YAC6B,CAAA,CAAA,eAAA,EAAA,wFAAA,EAMW,+XANvC,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,WAAW,CAAA,EAM9B0f,2BAA4B,CAAAl4B,KAAA,CAAM02B,OAAO,CAAA,CAAA;AAoBnD;AC/DA,MAAMnK,SAAOC,MAAO,CAAA8L,GAAA,CAClBD,aAAA,EACAn1B,uBACF,CAAA;AAKO,MAAMq1B,IAAO,GAAA1L,UAAA,CAAW,SAAS0L,KAAAA,CACtCv4B,OACAihB,GACA,EAAA;EACM,MAAA;IAACtD;IAAU6a,QAAU,EAAAC,YAAA;IAAcv2B,OAAO,CAAG;IAAAgrB,MAAA;IAAQ,GAAGC;EAAa,CAAA,GAAAntB,KAAA;EAC3E,MAAMw4B,QAAW,GAAA,OAAOC,YAAiB,KAAA,QAAA,GAAWA,YAAe,GAAA,KAAA,CAAA;EACnE,MAAMC,UAAa,GAAAF,QAAA,GAAWG,SAAU,CAAAC,WAAA,CAAYJ,QAAe,CAAI,GAAA,KAAA;EACjE,MAAA;IAACxf;GAAM,GAAIsI,cAAe,EAAA;EAG9B,sBAAAxC,IAAA,CAACyN,MAAA,EAAA;IACC,SAAQ,EAAA,MAAA;IACP,GAAGY,SAAA;IACJxsB,KAAA,EAAO8C,aAAavB,IAAI,CAAA;IACxBtB,OAAS,EAAAssB,MAAA;IACTjM,GAAA;IACAyV,OAAS,EAAA1d,MAAA;IAER2E,QAAA,EAAA,CAAA,EAAE6a,QAAY,IAAAE,UAAA,CAAA,IAAA,eAAgB3a,GAAA,CAAA,MAAA,EAAA;MAAMJ;KAAS,CAAA,EAC7C6a,QAAA,IAAYE,UAAc,IAAA,eAAA3a,GAAA,CAAC4a,SAAU,EAAA;MAAAE,MAAA,EAAM;MAACL,QAAoB;MAAA95B,KAAA,EAAOs0B,MAAO,CAAArV,QAAQ;IAAG,CAAA,CAAA;EAAA,CAAA,CAC5F;AAEJ,CAAC,CAAA;AC7CD,MAAMmE,YAAwB,GAAA;EAC5Bxa,KAAO,EAAA,MAAA;EACP9F,MAAQ,EAAA;AACV,CAAA;AAEO,SAASs3B,kBAAgCA,CAAA,EAAA;EACvC,OAAAhX,YAAA;AACT;AAEO,SAASiX,8BACd/4B,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAAC4b,SAAA;IAAW1c;GAAK,GAAIa,KAAM,CAAAO,MAAA;EAEjC,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAg5B,MAAA,EAASt5B,GAAS,KAAA;IAChDu5B,UAAUv5B,GAAQ,KAAA,MAAA,GAAS,SAASZ,GAAI,CAAA8c,SAAA,CAAUlc,GAAG,CAAC;EACtD,CAAA,CAAA,CAAA;AACJ;ACTA,MAAM6sB,MAAA,GAAOC,OAAOyG,GAAG,CAAA,CACrB6F,kBAAA,EACAC,6BACF,CAAA;AAKO,MAAMG,SAAY,GAAArM,UAAA,CAAW,SAASqM,UAAAA,CAC3Cl5B,OACAihB,GACA,EAAA;EACA,MAAM;IAACqO,EAAI;IAAAhoB,KAAA,GAAQ,CAAG;IAAA,GAAG6lB;EAAa,CAAA,GAAAntB,KAAA;EAGpC,sBAAA+d,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,WAAA;IACP,GAAGY,SAAA;IACJ6L,MAAA,EAAQv1B,aAAa6D,KAAK,CAAA;IAC1BusB,WAAa,EAAAvE,EAAA;IACbrO;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;ACxBD,MAAMsL,MAAO,GAAAC,MAAA,CAAOyG,GAAG,CAAA,CAA4B5N,mBAAmB,CAAA;AAK/D,MAAM8T,IAAO,GAAAtM,UAAA,CAAW,SAASsM,KAAAA,CACtCn5B,OACAihB,GACA,EAAA;EACA,MAAM;IAACqO,EAAA;IAAIpJ,QAAU;IAAAG,QAAA;IAAUN,QAAU;IAAAS,OAAA;IAAS/C,GAAK;IAAAsD,IAAA;IAAMG,IAAM;IAAAP,IAAA;IAAMhJ,QAAU;IAAA,GAAGwP;GACpF,GAAAntB,KAAA;EAGA,sBAAA+d,GAAA,CAACwO,MAAA,EAAA;IACC,SAAS,EAAA,OAAO+C,EAAO,KAAA,QAAA,GAAWA,EAAK,GAAA,KAAA,CAAA;IACvC,SAAQ,EAAA,MAAA;IACP,GAAGnC,SAAA;IACJlH,SAAA,EAAWxiB,aAAayiB,QAAQ,CAAA;IAChCE,SAAA,EAAW3iB,aAAa4iB,QAAQ,CAAA;IAChCP,SAAA,EAAWriB,aAAasiB,QAAQ,CAAA;IAChCQ,QAAA,EAAU9iB,aAAa+iB,OAAO,CAAA;IAC9BhD,IAAA,EAAM/f,aAAaggB,GAAG,CAAA;IACtBqD,KAAA,EAAOrjB,aAAasjB,IAAI,CAAA;IACxBE,KAAA,EAAOxjB,aAAayjB,IAAI,CAAA;IACxBR,KAAA,EAAOjjB,aAAakjB,IAAI,CAAA;IACxBkN,WAAa,EAAAvE,EAAA;IACbrO,GAAA;IAECtD;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;;;;;;AC3CD,IAAAlW,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAKO,SAASoP,iBAAiBp5B,KAA+D,EAAA;EAC9F,MAAM;IAACqsB,OAAA;IAASC,MAAQ;IAAAvsB;EAAA,CAAS,GAAAC,KAAA;EAEjC,OAAOkqB,oBAAG/L,YAIP,CAAA,CAAA,QAAA,EAAA,UAAA,EAKA,uCAG8C,EAAA,0HAAA,EAOR,wMAWM,yBACM,EAAA,kWAAA,CAAA,CAAA,CAAA,EA9BjDkO,OACF,IAAAnC,GAAA,CAAAziB,IAAA,KAAAA,IAAA,GAAG0W,iCACsC,UAA9B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,aAAa,CAAA,CAAA,EAGtC8T,UACFpC,GAAG,CAAAliB,IAAA,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,iBAAA,EACyC,SAAjC,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,QAAQ,gBAAgB,CAAA,CAAA,EAI1B3a,MAAMO,MAAO,CAAAO,KAAA,CAAMga,KAAK/Z,MAO9B,EAAA2Z,OAAA,CAAQjC,OAAQ,CAAA,WAAW,GAWpBiC,OAAQ,CAAAC,OAAA,CAAQ,UAAU,CAC1B,EAAAD,OAAA,CAAQ/B,SAAS,eAAe,CAAA,CAAA;AAkBtD;;;;;;ACzDA,IAAAjR,IAAA;AAgCA,MAAM8kB,MAAO,GAAAC,MAAA,CAAOC,GAElB,CAAA2M,gBAAA,EAAkB/1B,0BAA0BF,qBAAqB,CAAA;AAEnE,MAAMupB,sBAAA,GAAuBF,MAAO,CAAAG,IAAA,CAAPllB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,mHAAA,CAAA,CAAA,CAAA,CAAA;AAWjC,MAAMkb,OAAU,GAAAxM,UAAA,CAAW,SAASwM,QAAAA,CACzCr5B,OACAihB,GACA,EAAA;EACM,MAAA;IACJ6L,MAAS,GAAA,KAAA;IACTxJ,KAAA;IACA3F,QAAU,EAAAoP,YAAA;IACVC,KAAQ,GAAA,KAAA;IACR9qB,IAAO,GAAA,CAAA;IACP+qB,YAAA;IACAC,MAAA;IACA,GAAGC;EACD,CAAA,GAAAntB,KAAA;EAEJ,IAAI2d,QAAW,GAAAoP,YAAA;EAEf,IAAIE,iBAAiB,UAAY,EAAA;IACpBtP,QAAA,GAAA,eAAAI,GAAA,CAAC2O;MAAsB/O;IAAS,CAAA,CAAA;EAC7C;EAGE,sBAAAI,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,SAAA;IACP,GAAGY,SAAA;IACJd,OAAS,EAAAS,MAAA;IACTxpB,MAAA,EAAQG,aAAa6f,KAAK,CAAA;IAC1BgJ,MAAQ,EAAAU,KAAA;IACRrsB,KAAA,EAAO8C,aAAavB,IAAI,CAAA;IACxBtB,OAAS,EAAAssB,MAAA;IACTjM,GAAA;IAEAtD,QAAA,iBAAAI,GAAA,CAAC;MAAMJ;IAAS,CAAA;EAAA,CAAA,CAClB;AAEJ,CAAC,CAAA;AC9EM,SAAS2b,eAA6BA,CAAA,EAAA;EACpC,OAAA;IACL/2B,UAAY,EAAA,CAAA;IAEZ,kBAAoB,EAAA;MAClBb,OAAS,EAAA;IACX,CAAA;IAEA,SAAW,EAAA;MACTA,OAAS,EAAA,cAAA;MACT63B,aAAe,EAAA;IACjB;EAAA,CACF;AACF;AAEO,SAASC,iBAAiBx5B,KAAkE,EAAA;EAC3F,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAEhB,OAAOf,YAAYc,KAAM,CAAAO,MAAA,CAAOpB,OAAOc,KAAM,CAAAqpB,MAAA,EAAS9oB,UAAe,IAAA;IACnE,MAAMC,QAAQ1B,GAAI,CAAAiB,KAAA,CAAMO,MAAO,CAAAE,KAAA,CAAMD,UAAU,CAAC,CAAA;IAEzC,OAAA;MACLiB,MAAA,EAAQ,GAAI,CAAAxC,MAAA,CAAAwB,KAAA,EAAK,QAAS,CAAA,CAAAxB,MAAA,CAAAwB,KAAA,CAAA;MAC1B,WAAW;QAACe,OAAA,EAAS,EAAG,CAAAvC,MAAA,CAAAwB,KAAA,EAAK,SAAQxB,MAAO,CAAAwB,KAAA;MAAA;IAAA,CAC9C;EAAA,CACD,CAAA;AACH;ACfA,MAAM+rB,MAAO,GAAAC,MAAA,CAAOyG,GAAG,CAAA,CAAmCqG,iBAAiBE,gBAAgB,CAAA;AAKpF,MAAMC,MAAS,GAAA5M,UAAA,CAAW,SAAS4M,OAAAA,CACxCz5B,OACAihB,GACA,EAAA;EACA,MAAM;IAACqO,EAAI;IAAA3R,QAAA,EAAUoP;IAAcvsB,KAAO;IAAA,GAAG2sB;EAAa,CAAA,GAAAntB,KAAA;EAE1D,MAAM2d,QAAW,GAAAha,OAAA,CACf,MACEquB,sBAAA,CAAuBjF,YAAY,CAAA,CAChC3oB,OAAOC,OAAO,CAAA,CACd/E,GAAI,CAAA,CAACozB,OAAO9e,GAAQ,KAAA,eAAAmK,GAAA,CAAC,KAAe,EAAA;IAAAJ,QAAA,EAAA+U;EAAA,CAAA,EAAN9e,GAAY,CAAM,CAAA,EACrD,CAACmZ,YAAY,CAAA,CACf;EAGE,sBAAAhP,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,QAAA;IACP,GAAGY,SAAA;IACJ9D,MAAA,EAAQ5lB,aAAajD,KAAK,CAAA;IAC1BqzB,WAAa,EAAAvE,EAAA;IAEbrO,GAAA;IAECtD;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;;;;;;AC9CD,IAAAlW,IAAA;AAmBA,SAASiyB,QAAWA,CAAA,EAAA;EAClB,OAAOxP,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,oBAAA,EACgC,yFAA1B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,SAAS,CAAA,CAAA;AAO3C;AAEA,MAAM+T,MAAO,GAAAC,MAAA,CAAOmN,GAAgC,CAAAjO,qBAAA,EAAuBgO,QAAQ,CAAA;AAK5E,MAAME,GAAM,GAAA/M,UAAA,CAAW,SAAS+M,IAAAA,CACrC55B,OACAihB,GACA,EAAA;EACM,MAAA;IAACtD,QAAU;IAAA1b,QAAA,GAAW,CAAG;IAAAV,OAAA,GAAU;IAAGsa,MAAS,GAAA,CAAA;IAAG,GAAGsR;EAAA,CAAa,GAAAntB,KAAA;EAExE,OACG,eAAA+d,GAAA,CAAAwO,MAAA,EAAA;IAAK,SAAQ,EAAA,KAAA;IAAO,GAAGY,SAAA;IAAWxB,OAAS,EAAAloB,YAAA,CAAaoY,MAAM,CAAA;IAAGoF,GAChE;IAAAtD,QAAA,EAAA,eAAAI,GAAA,CAACkV,GAAI,EAAA;MAAA3D,EAAA,EAAG,MAAO;MAAA/tB,OAAA;MACboc,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;QAAK0C,EAAG,EAAA,MAAA;QAAOtC,KAAK,EAAA,IAAA;QAAC9qB,IAAM,EAAAD,QAAA;QAAUirB,MAAO,EAAA,QAAA;QAC1CvP;MACH,CAAA;IAAA,CACF;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AClDD,IAAAlW,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAIO,SAAS6P,eACd75B,KACwB,EAAA;EACxB,MAAM;IAACqsB,OAAA;IAASC,MAAQ;IAAAvsB;EAAA,CAAS,GAAAC,KAAA;EAC3B,MAAA;IAACa;EAAK,CAAA,GAAId,KAAM,CAAAO,MAAA;EAEf,OAAA4pB,GAAA,CAAAF,IAAA,KAAAA,IAAA,GAAG7L,0DAMP,UAKA,EAAA,uCAAA,EAGiC,2XAXhCkO,OACF,IAAAnC,GAAA,CAAAziB,IAAA,KAAAA,IAAA,GAAG0W,YACsC,CAAA,CAAA,iBAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAA9B1D,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAGtC,CAAA,EAAA8T,MAAA,IACFpC,oBAAG/L,YACyC,CAAA,CAAA,iBAAA,EAAA,SAAA,CAAA,CAAA,CAAA,EAAjC1D,QAAQC,OAAQ,CAAA,gBAAgB,CAI1B,CAAA,EAAA7Z,KAAA,CAAMga,IAAK,CAAA/Z,MAAA,CAAA;AAmBhC;;;;;;AC3CA,IAAA2G,IAAA;AA0BA,MAAM8kB,MAAO,GAAAC,MAAA,CAAOC,GAKjB,CAAArpB,mBAAA,EAAqBC,0BAA0Bw2B,cAAc,CAAA;AAEhE,MAAMnN,oBAAA,GAAuBF,MAAO,CAAAG,IAAA,CAAPllB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,mHAAA,CAAA,CAAA,CAAA,CAAA;AAWjC,MAAM2b,KAAQ,GAAAjN,UAAA,CAAW,SAASiN,MAAAA,CACvC95B,OACAihB,GACA,EAAA;EACM,MAAA;IACJ6L,MAAA;IACAxJ,KAAA;IACA3F,QAAU,EAAAoP,YAAA;IACVC,KAAQ,GAAA,KAAA;IACR9qB,IAAO,GAAA,CAAA;IACP+qB,YAAA;IACAC,MAAA;IACA,GAAGC;EACD,CAAA,GAAAntB,KAAA;EAEJ,IAAI2d,QAAW,GAAAoP,YAAA;EAEf,IAAIE,iBAAiB,UAAY,EAAA;IACpBtP,QAAA,GAAA,eAAAI,GAAA,CAAC2O;MAAsB/O;IAAS,CAAA,CAAA;EAAA,CACtC,MAAA;IACMA,QAAA,GAAA,eAAAI,GAAA,CAAC;MAAMJ;IAAS,CAAA,CAAA;EAC7B;EAGE,sBAAAI,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,OAAA;IACP,GAAGY,SAAA;IACJd,OAAS,EAAAS,MAAA;IACTxpB,MAAA,EAAQG,aAAa6f,KAAK,CAAA;IAC1BgJ,MAAQ,EAAAU,KAAA;IACRrsB,KAAA,EAAO8C,aAAavB,IAAI,CAAA;IACxBtB,OAAS,EAAAssB,MAAA;IACTjM,GAAA;IAECtD;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;AC7ED,MAAM9e,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,oCAAoC,CAAA;AAE3DF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAkD,IAAI,CAAA;AAEhF,MAAAwc,sBAAA,GACX3c,YAAYve,KAAG,CAAA;ACMV,SAASm7B,wBAAwBh6B,KAAyD,EAAA;EACzF,MAAA;IAAC2d,QAAU;IAAA5Z;EAAW,CAAA,GAAA/D,KAAA;EACtB,MAAAtB,KAAA,GAAqCiF,OAAQ,CAAA,OAAO;IAACma,OAAA,EAAS;IAAK/Z;GAAO,CAAA,EAAI,CAACA,OAAO,CAAC,CAAA;EAE7F,OAAQ,eAAAga,GAAA,CAAAgc,sBAAA,CAAuB/b,QAAvB,EAAA;IAAgCtf;IAAeif;EAAS,CAAA,CAAA;AAClE;ACfA,MAAMsc,aAA6C,GAAA;EACjDnc,OAAS,EAAA,CAAA;EACT/Z,OAAS,EAAA;AACX,CAAA;AAKO,SAASm2B,kBAAkDA,CAAA,EAAA;EAC1D,MAAAx7B,KAAA,GAAQ8f,WAAWub,sBAAsB,CAAA;EAK/C,IAAIr7B,UAAU,CAACsgB,QAAA,CAAStgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAM,CAAA,EAAA;IAClD,MAAA,IAAIzd,MAAM,2DAA2D,CAAA;EAC7E;EAEA,OAAO3B,KAAS,IAAAu7B,aAAA;AAClB;ACxBgB,SAAAE,kBAAAA,CAAmBj7B,OAAiBoI,KAAyB,EAAA;EAC3E,MAAMrD,MAAgB,EAAC;EAEvB,KAAA,IAAS6N,IAAI,CAAG,EAAAA,CAAA,GAAI5S,KAAM,CAAAiB,MAAA,EAAQ2R,KAAK,CAAG,EAAA;IAClC,MAAAsoB,EAAA,GAAKl7B,MAAM4S,CAAC,CAAA;IAElB,IAAIsoB,KAAK9yB,KAAO,EAAA;MACdrD,GAAA,CAAIE,KAAK2N,CAAC,CAAA;IACZ;EACF;EAEO,OAAA7N,GAAA;AACT;AAEgB,SAAAo2B,kBAAAA,CAAmBn7B,OAAiBoI,KAAyB,EAAA;EAC3E,MAAMrD,MAAgB,EAAC;EAEvB,KAAA,IAAS6N,IAAI,CAAG,EAAAA,CAAA,GAAI5S,KAAM,CAAAiB,MAAA,EAAQ2R,KAAK,CAAG,EAAA;IAClC,MAAAsoB,EAAA,GAAKl7B,MAAM4S,CAAC,CAAA;IAElB,IAAIsoB,MAAM9yB,KAAO,EAAA;MACfrD,GAAA,CAAIE,KAAK2N,CAAC,CAAA;IACZ;EACF;EAEO,OAAA7N,GAAA;AACT;ACRO,MAAMq2B,YAAe,GAAAzN,UAAA,CAAW,SAASyN,aAAAA,CAC9Ct6B,OACAihB,GACA,EAAA;EACA,MAAMlhB,QAAQmf,QAAS,EAAA;EACjB,MAAA;IAACvB;IAAUze,KAAQ,GAAAa,KAAA,CAAMO,OAAOpB,KAAO;IAAA,GAAGiuB;EAAa,CAAA,GAAAntB,KAAA;EAEvD,MAAA23B,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EACxC,MAAM,CAACld,OAAA,EAASU,UAAU,CAAA,GAAIC,SAAgC,IAAI,CAAA;EAC5D,MAAAsP,WAAA,GAAcH,eAAe9P,OAAO,CAAA;EACpC,MAAAuD,KAAA,GAAQ3D,QAAQ,MAAG;IA5B3B,IAAA8D,EAAA;IA4B2C,OAAA,CAAAA,EAAA,GAAAuM,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAAX,MAAA,CAAO/L,KAApB,KAAA,IAAA,GAAAG,EAAA,GAA6BhC,MAAO,CAAA80B,UAAA;EAAA,CAAY,EAAA,CAACvmB,WAAW,CAAC,CAAA;EAEnF,MAAAY,GAAA,GAAMjR,OAAQ,CAAA,MAAMw2B,kBAAmB,CAAAj7B,KAAA,EAAOoI,KAAK,CAAG,EAAA,CAACpI,KAAO,EAAAoI,KAAK,CAAC,CAAA;EACpE,MAAAuN,GAAA,GAAMlR,OAAQ,CAAA,MAAM02B,kBAAmB,CAAAn7B,KAAA,EAAOoI,KAAK,CAAG,EAAA,CAACpI,KAAO,EAAAoI,KAAK,CAAC,CAAA;EAE1E,MAAMkzB,MAAS,GAAA3J,WAAA,CACZ3sB,EAA8B,IAAA;IAC7ByzB,YAAA,CAAa1yB,OAAU,GAAAf,EAAA;IACvBO,UAAA,CAAWP,EAAE,CAAA;EACf,CAAA,EACA,CAACyzB,YAAY,CAAA,CACf;EAGE,sBAAA5Z,GAAA,CAAC,KAAA,EAAA;IACC,SAAQ,EAAA,cAAA;IACP,GAAGoP,SAAA;IACJ,eAAavY,GAAI,CAAAzU,MAAA,GAASyU,GAAI,CAAAmQ,IAAA,CAAK,GAAG,CAAI,GAAA,KAAA,CAAA;IAC1C,eAAalQ,GAAI,CAAA1U,MAAA,GAAS0U,GAAI,CAAAkQ,IAAA,CAAK,GAAG,CAAI,GAAA,KAAA,CAAA;IAC1C9D,GAAK,EAAAuZ,MAAA;IAEJ7c;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;;;;;;;;;;;;AC7BM,MAAM8c,sBAAsBC,SAAkD,CAAA;EAA9EC,WAAAA,CAAA,EAAA;IAAA,KAAA,CAAA,GAAAz6B,SAAA,CAAA;IACuB06B,aAAA,CAAA,IAAA,EAAA,OAAA,EAAA;MAACC,OAAO;IAAI,CAAA,CAAA;EAAA;EAExC,OAAOC,yBAAyBD,KAAkC,EAAA;IAEhE,OAAO;MAACA;IAAK,CAAA;EACf;EAEAE,iBAAAA,CAAkBF,OAAcG,IAA6B,EAAA;IAC3D,IAAA,CAAKh7B,KAAM,CAAAi7B,OAAA,CAAQ;MAACJ,KAAA;MAAOG;IAAK,CAAA,CAAA;EAClC;EAEAE,MAA0BA,CAAA,EAAA;IAClB,MAAA;MAACL;IAAK,CAAA,GAAI,IAAK,CAAAM,KAAA;IAErB,IAAIN,KAAO,EAAA;MACT,MAAMt0B,UAAU,QAAOs0B,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOt0B,OAAY,CAAA,KAAA,QAAA,GAAWs0B,MAAMt0B,OAAU,GAAA,OAAA;MAE9D,OAAA,eAAAwX,GAAA,CAACwa;QAAM5a,QAAQ,EAAApX;MAAA,CAAA,CAAA;IACxB;IAEA,OAAO,KAAKvG,KAAM,CAAA2d,QAAA;EACpB;AACF;AC3CO,SAASyd,gBAAgBC,YAAoD,EAAA;EAIlF,IAAI,CAACrc,QAAS,CAAAqc,YAAY,CAAK,IAAAA,YAAA,CAAavd,YAAY,CAAK,EAAA;IACrD,MAAA,IAAIzd,MAAM,qCAAqC,CAAA;EACvD;EAEA,IAAI,CAACg7B,YAAc,EAAA;IACX,MAAA,IAAIh7B,MAAM,uEAAuE,CAAA;EACzF;EAEI,IAAAg7B,YAAA,CAAavd,YAAY,CAAK,EAAA;IACzB,OAAAud,YAAA;EACT;EAEM,MAAA,IAAIh7B,MAAM,6BAA6B,CAAA;AAC/C;AChBA,MAAMxB,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,0BAA0B,CAAA;AAEjDF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAwC,IAAI,CAAA;AAEtE,MAAA+d,YAAA,GAAkDle,YAAYve,KAAG,CAAA;ACAvE,SAAS08B,QAA8BA,CAAA,EAAA;EACtC,MAAA78B,KAAA,GAAQ8f,WAAW8c,YAAY,CAAA;EAErC,IAAI,CAAC58B,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,mCAAmC,CAAA;EACrD;EAEI,IAAA;IACF,OAAO+6B,gBAAgB18B,KAAK,CAAA;WACrB88B,GAAK,EAAA;IACZ,IAAIA,eAAen7B,KAAO,EAAA;MACxB,MAAM,IAAIA,KAAA,CAAM,cAAe,CAAArB,MAAA,CAAAw8B,GAAA,CAAIj1B,OAAS,CAAA,CAAA;IAAA,CACvC,MAAA;MACC,MAAA,IAAIlG,KAAM,CAAA,cAAA,CAAerB,MAAK,CAAAw8B,GAAA,CAAA,CAAA;IACtC;EACF;AACF;ACrBO,SAASC,KAAKC,EAA4B,EAAA;EACzC,MAAAC,OAAA,GAAUjsB,sBAAsBgsB,EAAE,CAAA;EAExC,OAAO,MAAM;IACX/K,oBAAA,CAAqBgL,OAAO,CAAA;EAAA,CAC9B;AACF;AAKO,SAASC,MAAMF,EAA4B,EAAA;EAChD,IAAIG,YAAoC,GAAA,IAAA;EAElC,MAAAC,YAAA,GAAeL,KAAK,MAAM;IAC9BI,YAAA,GAAeJ,KAAKC,EAAE,CAAA;EAAA,CACvB,CAAA;EAED,OAAO,MAAM;IACP,IAAAG,YAAA,EAA2BA,YAAA,EAAA;IAElBC,YAAA,EAAA;EAAA,CACf;AACF;ACvBO,SAASC,uBAAuBh4B,OAA+B,EAAA;EACpE,OAAOi4B,mBAAoB,CAAAj4B,OAAO,CAAK,IAAAk4B,mBAAA,CAAoBl4B,OAAO,CAAA;AACpE;AAKO,SAASm4B,cAAchvB,IAAoC,EAAA;EAChE,OAAOA,IAAgB,YAAA3H,IAAA,IAAQ2H,IAAK,CAAAivB,QAAA,KAAa52B,IAAK,CAAA62B,YAAA;AACxD;AAKO,SAASJ,oBAAoBj4B,OAAgD,EAAA;EAClF,OAAOm4B,aAAc,CAAAn4B,OAAO,CAAK,IAAAA,OAAA,CAAQs4B,QAAa,KAAA,GAAA;AACxD;AAKO,SAASC,mBAAmBv4B,OAA+C,EAAA;EAChF,OAAOm4B,aAAc,CAAAn4B,OAAO,CAAK,IAAAA,OAAA,CAAQs4B,QAAa,KAAA,OAAA;AACxD;AAKO,SAASJ,oBAAoBl4B,OAAgD,EAAA;EAClF,OAAOm4B,aAAc,CAAAn4B,OAAO,CAAK,IAAAA,OAAA,CAAQs4B,QAAa,KAAA,QAAA;AACxD;AAKO,SAASE,oBAAoBx4B,OAAgD,EAAA;EAClF,OAAOm4B,aAAc,CAAAn4B,OAAO,CAAK,IAAAA,OAAA,CAAQs4B,QAAa,KAAA,QAAA;AACxD;AAKO,SAASG,sBAAsBz4B,OAAkD,EAAA;EACtF,OAAOm4B,aAAc,CAAAn4B,OAAO,CAAK,IAAAA,OAAA,CAAQs4B,QAAa,KAAA,UAAA;AACxD;AAKgB,SAAAI,uBAAAA,CAAwB14B,SAAsBmJ,IAAqB,EAAA;EACjF,OAAOnJ,OAAQ,CAAAyB,QAAA,CAAS0H,IAAI,CAAA,IAAKnJ,OAAY,KAAAmJ,IAAA;AAC/C;ACtCO,SAASwvB,UAAU34B,OAA+B,EAAA;EACvD,OAAOM,QAAQmC,QAAS,CAAAm2B,aAAa,KAAK54B,OAAQ,CAAAyB,QAAA,CAASgB,SAASm2B,aAAa,CAAA;AACnF;AAKO,SAASC,YAAY74B,OAA+B,EAAA;EAEvD,IAAAA,OAAA,CAAQ84B,QAAW,GAAA,CAAA,IAClB94B,OAAQ,CAAA84B,QAAA,KAAa,KAAK94B,OAAQ,CAAA+4B,YAAA,CAAa,UAAU,CAAA,KAAM,IAChE,EAAA;IACO,OAAA,IAAA;EACT;EAEI,IAAAd,mBAAA,CAAoBj4B,OAAO,CAAG,EAAA;IAChC,OAAOM,OAAQ,CAAAN,OAAA,CAAQotB,IAAI,CAAA,IAAKptB,QAAQg5B,GAAQ,KAAA,QAAA;EAClD;EAEI,IAAAT,kBAAA,CAAmBv4B,OAAO,CAAG,EAAA;IAC/B,OAAOA,QAAQ4E,IAAS,KAAA,QAAA,IAAY5E,QAAQ4E,IAAS,KAAA,MAAA,IAAU,CAAC5E,OAAQ,CAAA6wB,QAAA;EAC1E;EAGE,IAAAqH,mBAAA,CAAoBl4B,OAAO,CAC3B,IAAAw4B,mBAAA,CAAoBx4B,OAAO,CAC3B,IAAAy4B,qBAAA,CAAsBz4B,OAAO,CAC7B,EAAA;IACA,OAAO,CAACA,OAAQ,CAAA6wB,QAAA;EAClB;EAEO,OAAA,KAAA;AACT;AAKO,SAASoI,aAAaj5B,OAA+B,EAAA;EACtD,IAAA,CAAC64B,WAAY,CAAA74B,OAAO,CAAG,EAAA;IAClB,OAAA,KAAA;EACT;EAII,IAAA;IACFA,OAAA,CAAQk5B,KAAM,CAAA,CAAA;WACPtT,CAAG,EAAA,CAEZ;EAIA,OAAOnjB,SAASm2B,aAAkB,KAAA54B,OAAA;AACpC;AAKO,SAASm5B,qBAAqBn5B,OAA+B,EAAA;EAClE,KAAA,IAAS+N,IAAI,CAAG,EAAAA,CAAA,GAAI/N,OAAQ,CAAAo5B,UAAA,CAAWh9B,QAAQ2R,CAAK,EAAA,EAAA;IAC5C,MAAA4gB,KAAA,GAAQ3uB,OAAQ,CAAAo5B,UAAA,CAAWrrB,CAAC,CAAA;IAE9B,IAAAoqB,aAAA,CAAcxJ,KAAK,CAAM,KAAAsK,YAAA,CAAatK,KAAK,CAAK,IAAAwK,oBAAA,CAAqBxK,KAAK,CAAI,CAAA,EAAA;MACzE,OAAA,IAAA;IACT;EACF;EAEO,OAAA,KAAA;AACT;AAKO,SAAS0K,oBAAoBr5B,OAA+B,EAAA;EACjE,KAAA,IAAS+N,IAAI/N,OAAQ,CAAAo5B,UAAA,CAAWh9B,SAAS,CAAG,EAAA2R,CAAA,IAAK,GAAGA,CAAK,EAAA,EAAA;IACjD,MAAA4gB,KAAA,GAAQ3uB,OAAQ,CAAAo5B,UAAA,CAAWrrB,CAAC,CAAA;IAE9B,IAAAoqB,aAAA,CAAcxJ,KAAK,CAAM,KAAAsK,YAAA,CAAatK,KAAK,CAAK,IAAA0K,mBAAA,CAAoB1K,KAAK,CAAI,CAAA,EAAA;MACxE,OAAA,IAAA;IACT;EACF;EAEO,OAAA,KAAA;AACT;AChGO,SAAS2K,cAAcn5B,EAAmB,EAAA;EAC/C,IAAI,EAAEA,EAAc,YAAAmE,OAAA,CAAA,EAAiB,OAAA,KAAA;EAE/B,MAAAzJ,KAAA,GAAQ6G,MAAO,CAAA4E,gBAAA,CAAiBnG,EAAE,CAAA;EAExC,OACEtF,MAAMkM,SAAU,CAAA3F,QAAA,CAAS,MAAM,CAC/B,IAAAvG,KAAA,CAAMkM,UAAU3F,QAAS,CAAA,QAAQ,CACjC,IAAAvG,KAAA,CAAMgM,UAAUzF,QAAS,CAAA,MAAM,KAC/BvG,KAAM,CAAAgM,SAAA,CAAUzF,SAAS,QAAQ,CAAA;AAErC;ACGO,SAASm4B,cAAct9B,KAA+C,EAAA;EAjB7E,IAAAyH,EAAA;EAkBE,MAAM;IAACkW,QAAA;IAAUf,OAAS,EAAA2gB,WAAA,GAAc;GAAK,GAAAv9B,KAAA;EAGvC,MAAAw9B,kBAAA,GAAqBhf,WAAW8c,YAAY,CAAA;EAC5C,MAAAjuB,MAAA,GAASmwB,kBAAsB,IAAApC,eAAA,CAAgBoC,kBAAkB,CAAA;EACvE,MAAMC,sBAAsBpwB,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAqwB,aAAA;EAC9B,MAAAC,WAAA,GAAA,CAAcl2B,EAAQ,GAAA4F,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAuwB,KAAA,KAAR,IAAiB,GAAAn2B,EAAA,GAAA,CAAA;EAGrC,MAAMm2B,QAAQD,WAAc,GAAA,CAAA;EAGtB,MAAA/gB,OAAA,GAAUnZ,aAAa85B,WAAW,CAAA;EAGlC,MAAAM,aAAA,GAAgBjhB,QAAQzc,MAAS,GAAA,CAAA;EACvC,MAAMX,UAAa,GAAAoD,IAAA,CAAKiS,GAAI,CAAAuL,aAAA,IAAiByd,aAAa,CAAA;EACpD,MAAA1P,MAAA,GAAS9gB,SAASA,MAAO,CAAA8gB,MAAA,GAASvR,QAAQpd,UAAU,CAAA,GAAIod,QAAQpd,UAAU,CAAA;EAGhF,MAAM,GAAGs+B,cAAc,CAAI,GAAAp5B,QAAA,CAAiC,CAAE,CAAA,CAAA;EAG9D,MAAM,CAACxC,IAAA,EAAM4R,OAAO,CAAA,GAAIpP,SAAS,CAAC,CAAA;EAElC,MAAMq5B,aAAa77B,IAAS,KAAA,CAAA;EAE5B,MAAMw7B,aAAgB,GAAA7M,WAAA,CACnBmN,UAAwB,IAAA;IAEvB,MAAMC,gBAAgBR,mBAAsB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,mBAAA,CAAAO,UAAA,CAAA;IAE5C,IAAIA,eAAe,KAAW,CAAA,EAAA;MAC5BF,cAAA,CAAgB3C,KAAU,IAAA;QAnDlC1zB,IAAAA,GAAAA;QAoDU,MAAMy2B,WAAUz2B,GAAA,GAAA0zB,KAAA,CAAM6C,UAAU,CAAA,KAAhB,OAAAv2B,GAAqB,GAAA,CAAA;QAC/B,MAAA02B,SAAA,GAAY;UAAC,GAAGhD,KAAA;UAAO,CAAC6C,UAAU,GAAGE,UAAU;SAAC;QAEtDpqB,OAAA,CAAQ/M,MAAO,CAAAtI,IAAA,CAAK0/B,SAAS,CAAA,CAAEh+B,MAAM,CAAA;QAE9B,OAAAg+B,SAAA;MAAA,CACR,CAAA;IAAA,CACI,MAAA;MAEGrqB,OAAA,CAACsqB,CAAM,IAAAA,CAAA,GAAI,CAAC,CAAA;IACtB;IAEA,OAAO,MAAM;MACX,IAAIJ,eAAe,KAAW,CAAA,EAAA;QAC5BF,cAAA,CAAgB3C,KAAU,IAAA;UAClB,MAAAgD,SAAA,GAAY;YAAC,GAAGhD;WAAK;UAEvB,IAAAgD,SAAA,CAAUH,UAAU,CAAA,KAAM,CAAG,EAAA;YAC/B,OAAOG,UAAUH,UAAU,CAAA;YAE3BlqB,OAAA,CAAQ/M,MAAO,CAAAtI,IAAA,CAAK0/B,SAAS,CAAA,CAAEh+B,MAAM,CAAA;UAAA,CAChC,MAAA;YACLg+B,SAAA,CAAUH,UAAU,CAAK,IAAA,CAAA;UAC3B;UAEO,OAAAG,SAAA;QAAA,CACR,CAAA;MAAA,CACI,MAAA;QAEGrqB,OAAA,CAACsqB,CAAM,IAAAA,CAAA,GAAI,CAAC,CAAA;MACtB;MAEAH,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,aAAA,CAAA,CAAA;IAAA,CACF;EACF,CAAA,EACA,CAACR,mBAAmB,CAAA,CACtB;EAGA14B,SAAA,CAAU,MAAM04B,mBAAsB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,mBAAA,CAAAG,KAAA,CAAA,EAAQ,CAACA,KAAA,EAAOH,mBAAmB,CAAC,CAAA;EAE1E,MAAM/+B,KAA2B,GAAAiF,OAAA,CAC/B,OAAO;IACLma,OAAS,EAAA,CAAA;IACTigB,UAAA;IACAH,KAAA;IACAF,aAAA;IACAx7B,IAAA;IACAisB;EAAA,CACF,CAAA,EACA,CAAC4P,UAAA,EAAYH,KAAO,EAAAF,aAAA,EAAex7B,MAAMisB,MAAM,CAAA,CACjD;EAEA,OAAQ,eAAApQ,GAAA,CAAAud,YAAA,CAAatd,QAAb,EAAA;IAAsBtf;IAAeif;EAAS,CAAA,CAAA;AACxD;ACnFA,MAAM4O,SAAOC,MAAO,CAAAC,GAAA,CAAI;EAACprB,QAAA,EAAU;AAAW,CAAA,CAAA;AAE9C,MAAMg9B,aAAgB,GAAAxR,UAAA,CAAW,SAASwR,cAAAA,CACxCr+B,OACAihB,GACA,EAAA;EACM,MAAA;IAACtD;IAAU2gB,UAAY;IAAAC,OAAA;IAAS3/B,QAAQV,YAAc;IAAA,GAAGivB;EAAa,CAAA,GAAAntB,KAAA;EAC5E,MAAM;IAACmuB,MAAA;IAAQ4P;EAAU,CAAA,GAAIxC,QAAS,CAAA,CAAA;EAChC,MAAAiD,cAAA,GAAiB15B,OAA2B,IAAI,CAAA;EAChD,MAAA6yB,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EAClC,MAAAwd,aAAA,GAAgB35B,OAAgBi5B,UAAU,CAAA;EAKhDh5B,SAAA,CAAU,MAAM;IACR,MAAA25B,cAAA,GAAiBD,aAAc,CAAAx5B,OAAA,KAAY84B,UAAc,IAAAA,UAAA;IAE/D,IAAIW,cAAgB,EAAA;MACLJ,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,UAAA,CAAA;QAAC3B,aAAe,EAAA6B,cAAA,CAAev5B;MAAO,CAAA,CAAA;IACrD;IAEAw5B,aAAA,CAAcx5B,OAAU,GAAA84B,UAAA;EAAA,CACvB,EAAA,CAACA,UAAY,EAAAO,UAAU,CAAC,CAAA;EAE3B,MAAMK,WAAc,GAAA9N,WAAA,CACjBxqB,KAA+C,IAAA;IAEpCk4B,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAl4B,KAAA,CAAA;IAEV,MAAMu4B,cAAcjH,YAAa,CAAA1yB,OAAA;IACjC,MAAMK,SAASkB,QAAS,CAAAm2B,aAAA;IAExB,IAAI,CAACoB,UAAA,IAAc,CAACa,WAAA,IAAe,CAACt5B,MAAA,EAAQ;IAE5C,IAAI42B,cAAc52B,MAAM,CAAA,IAAKm3B,uBAAwB,CAAAmC,WAAA,EAAat5B,MAAM,CAAG,EAAA;MACzEk5B,cAAA,CAAev5B,OAAU,GAAAK,MAAA;IAC3B;EACF,CAAA,EACA,CAACqyB,YAAc,EAAAoG,UAAA,EAAYQ,OAAO,CAAA,CACpC;EAGE,sBAAAxgB,GAAA,CAACwO,MAAA,EAAA;IACE,GAAGY,SAAA;IACJ,SAAQ,EAAA,OAAA;IACRoR,OAAS,EAAAI,WAAA;IACT1d,GAAK,EAAA0W,YAAA;IACL/4B,KAAO,EAAA;MAAC,GAAGA,KAAA;MAAOuvB;IAAM,CAAA;IAEvBxQ;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;AAKM,MAAMkhB,KAAQ,GAAAhS,UAAA,CAAW,SAASgS,MAAAA,CACvC7+B,OACAihB,GACA,EAAA;EACA,MAAM;IAACtD,QAAU;IAAAf,OAAA,GAAU,CAAG;IAAA,GAAGuQ;EAAa,CAAA,GAAAntB,KAAA;EAG5C,OAAA,eAAA+d,GAAA,CAACuf;IAAc1gB,OACb;IAAAe,QAAA,EAAA,eAAAI,GAAA,CAACsgB;MAAe,GAAGlR,SAAA;MAAWlM,GAC3B;MAAAtD;IACH,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;AC1FD,MAAM9e,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,2BAA2B,CAAA;AAClD,MAAMwhB,UAAA,GAAazhB,MAAO,CAAAC,GAAA,CAAI,mCAAmC,CAAA;AAEjEF,WAAA,CAAY0hB,UAAU,CAAI,GAAA,IAAA;AAEnB,MAAMC,mBAA0C,GAAA;EACrDjhB,OAAS,EAAA,CAAA;EACTtZ,eAAiB,EAAA,IAAA;EACjB,IAAIT,OAAUA,CAAA,EAAA;IACR,IAAA,OAAOyC,aAAa,WAAa,EAAA;MAC5B,OAAA,IAAA;IACT;IAEI,IAAA4W,WAAA,CAAY0hB,UAAU,CAAG,EAAA;MAC3B,OAAO1hB,YAAY0hB,UAAU,CAAA;IAC/B;IAEA1hB,WAAA,CAAY0hB,UAAU,CAAA,GAAIt4B,QAAS,CAAAqvB,aAAA,CAAc,KAAK,CAAA;IACtDzY,WAAA,CAAY0hB,UAAU,CAAA,CAAEE,YAAa,CAAA,aAAA,EAAe,EAAE,CAAA;IAEtDx4B,QAAA,CAASyK,IAAK,CAAAguB,WAAA,CAAY7hB,WAAY,CAAA0hB,UAAU,CAAC,CAAA;IAEjD,OAAO1hB,YAAY0hB,UAAU,CAAA;EAC/B;AACF,CAAA;AAEA1hB,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAkCwhB,mBAAmB,CAAA;AAE/E,MAAAG,aAAA,GAAmD9hB,YAAYve,KAAG,CAAA;ACxBxE,SAASsgC,SAAgCA,CAAA,EAAA;EACxC,MAAAzgC,KAAA,GAAQ8f,WAAW0gB,aAAa,CAAA;EAEtC,IAAI,CAACxgC,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,oCAAoC,CAAA;EACtD;EAKA,IAAI,CAAC2e,QAAS,CAAAtgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAK,EAAA;IACvC,MAAA,IAAIzd,MAAM,kDAAkD,CAAA;EACpE;EAEO,OAAA3B,KAAA;AACT;ACNO,SAAS0gC,OAAOp/B,KAA8C,EAAA;EAjBrE,IAAAyH,EAAA;EAkBE,MAAM;IAACkW,QAAA;IAAU0hB,eAAiB,EAAAnuB;EAAA,CAAQ,GAAAlR,KAAA;EAC1C,MAAMs/B,SAASH,SAAU,EAAA;EACzB,MAAMI,aACH,GAAA,CAAAruB,IAAA,GAAOouB,MAAO,CAAA36B,QAAA,IAAY26B,MAAO,CAAA36B,QAAA,CAASuM,IAAI,CAAA,GAAIouB,MAAO,CAAAv7B,OAAA,MAAA,CAAY0D,EAAO,GAAA63B,MAAA,CAAA36B,QAAA,KAAP,IAAiB,GAAA,KAAA,CAAA,GAAA8C,EAAA,CAAA+Q,OAAA,CAAA;EAEzF,IAAI,CAAC+mB,aAAe,EAAA;IACX,OAAA,IAAA;EACT;EAEO,OAAAC,YAAA,CAAa7hB,UAAU4hB,aAAa,CAAA;AAC7C;AClBO,SAASE,UAAqD/gC,KAA6B,EAAA;EAC1F,MAAAghC,QAAA,GAAW56B,OAAkBpG,KAAK,CAAA;EAExC,IAAI,CAACihC,QAAA,CAASD,QAAS,CAAAz6B,OAAA,EAASvG,KAAK,CAAG,EAAA;IACtCghC,QAAA,CAASz6B,OAAU,GAAAvG,KAAA;EACrB;EAEA,OAAOghC,QAAS,CAAAz6B,OAAA;AAClB;AAEA,SAAS06B,QAAAA,CAASC,MAAkBC,IAA2B,EAAA;EACzD,IAAA,CAACD,IAAQ,IAAA,CAACC,IAAM,EAAA;IAClB,OAAOD,IAAS,KAAAC,IAAA;EAClB;EAEM,MAAAC,KAAA,GAAQ/4B,MAAO,CAAAtI,IAAA,CAAKmhC,IAAI,CAAA;EACxB,MAAAG,KAAA,GAAQh5B,MAAO,CAAAtI,IAAA,CAAKohC,IAAI,CAAA;EAE1B,IAAAC,KAAA,CAAM3/B,MAAW,KAAA4/B,KAAA,CAAM5/B,MAAQ,EAAA;IAC1B,OAAA,KAAA;EACT;EAEO,OAAA2/B,KAAA,CAAME,MAAOnhC,GAAA,IAAQ+gC,KAAK/gC,GAAG,CAAA,KAAMghC,IAAK,CAAAhhC,GAAG,CAAC,CAAA;AACrD;ACZA,MAAMohC,WAAA,GAAc,OAAOz5B,QAAa,KAAA,WAAA;AAKjC,SAAS05B,eAAelgC,KAAgD,EAAA;EAC7E,MAAM;IAACwE,eAAiB;IAAAmZ,QAAA;IAAU5Z,OAAS;IAAAo8B,mBAAA,EAAqBC;EAAgB,CAAA,GAAApgC,KAAA;EAC1E,MAAA2E,QAAA,GAAW86B,UAAUW,YAAY,CAAA;EAEjC,MAAA1hC,KAAA,GAA4BiF,QAAQ,MAAM;IACvC,OAAA;MACLma,OAAS,EAAA,CAAA;MACTtZ,iBAAiBA,eAAmB,IAAA,IAAA;MACpCT,OAAS,EAAAA,OAAA,IAAYk8B,WAAe,IAAAz5B,QAAA,CAASyK,IAAS,IAAA,IAAA;MACtDtM;IAAA,CACF;EACC,CAAA,EAAA,CAACH,eAAiB,EAAAT,OAAA,EAASY,QAAQ,CAAC,CAAA;EAEvC,OAAQ,eAAAoZ,GAAA,CAAAmhB,aAAA,CAAclhB,QAAd,EAAA;IAAuBtf;IAAeif;EAAS,CAAA,CAAA;AACzD;;;;;;ACxCA,IAAAlW,IAAA;AAWA,MAAM8kB,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAPhlB,IAAU,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;AAYhB,MAAMkiB,MAAS,GAAAxT,UAAA,CAAW,SAASwT,OAAAA,CACxCrgC,OACAihB,GACA,EAAA;EACM,MAAA;IAACqO,EAAI;IAAA3R;EAAY,CAAA,GAAA3d,KAAA;EAGrB,OAAA,eAAA+d,GAAA,CAACwO;IAAK,aAAW,EAAA,IAAA;IAAC+C;IAAQ,SAAQ,EAAA,QAAA;IAASrO;IACxCtD;EACH,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AClCD,IAAAlW,IAAA,EAAAO,IAAA;AAiCA,MAAMukB,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAPhlB,IAAU,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,CAAA;AAIvB,MAAMmiB,WAAA,GAAc9T,MAAO,CAAAC,GAAA,CAAPzkB,IAAU,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,oDAAA,CAAA,CAAA,CAAA,CAAA;AASvB,MAAMoiB,WAAc,GAAA1T,UAAA,CAAW,SAAS0T,YAAAA,CAC7CvgC,OAGAihB,GACoB,EAAA;EACpB,MAAM;IAACqO,EAAA,GAAK,KAAO;IAAA7L,GAAA,GAAM,CAAG;IAAA+c,UAAA;IAAYC,KAAQ,GAAA,EAAI;IAAAC,QAAA;IAAUC,UAAY;IAAA,GAAGxT;GAAa,GAAAntB,KAAA;EAC1F,MAAM;IAACQ;EAAA,CAAS,GAAA0e,QAAA,CAAA,CAAW,CAAA5e,MAAA;EACrB,MAAAq3B,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EAClC,MAAA2f,UAAA,GAAa97B,OAA8B,IAAI,CAAA;EACrD,MAAM,CAAC+7B,SAAA,EAAWC,YAAY,CAAA,GAAIp8B,SAAS,CAAC,CAAA;EAC5C,MAAM,CAACq8B,YAAA,EAAcC,eAAe,CAAA,GAAIt8B,SAAS,CAAC,CAAA;EAClD,MAAM,CAACu8B,UAAA,EAAYC,aAAa,CAAA,GAAIx8B,SAAS,CAAE,CAAA,CAAA;EAE/CK,SAAA,CAAU,MAAM;IACd,IAAI,CAAC67B,UAAW,CAAA37B,OAAA,EAAS;IAEnB,MAAAk8B,YAAA,GAAeP,WAAW37B,OAAQ,CAAAm8B,UAAA;IAExC,IAAID,wBAAwBE,WAAa,EAAA;MACvCH,aAAA,CAAcC,aAAaj5B,YAAY,CAAA;IACzC;EAAA,CACF,EAAG,CAACy4B,UAAU,CAAC,CAAA;EAEf57B,SAAA,CAAU,MAAM;IACd,IAAI,CAAC4yB,YAAa,CAAA1yB,OAAA,EAAS;IAEvB,IAAAq8B,SAAA,GAAY3J,aAAa1yB,OAAQ,CAAAqI,UAAA;IAErC,OAAOg0B,SAAa,IAAA,CAACjE,aAAc,CAAAiE,SAAS,CAAG,EAAA;MAC7CA,SAAA,GAAYA,SAAU,CAAAh0B,UAAA;IACxB;IAEA,IAAIg0B,SAAW,EAAA;MACb,MAAMC,QAAW,GAAAD,SAAA;MAEjB,IAAI,EAAEC,QAAoB,YAAAF,WAAA,CAAA,EAAc;MAExC,MAAMG,gBAAeC,CAAA,KAAM;QACzBX,YAAA,CAAaS,SAASV,SAAS,CAAA;MAAA,CACjC;MAEAU,QAAA,CAAS77B,iBAAiB,QAAU87B,EAAAA,aAAAA,EAAc;QAACE,OAAA,EAAS;OAAK,CAAA;MAEjE,MAAM37B,EAAK,GAAA,IAAI6M,eAAgB,CAAChF,OAAY,IAAA;QAC1CozB,eAAA,CAAgBpzB,OAAQ,CAAA,CAAC,CAAE,CAAA9D,WAAA,CAAYnI,MAAM,CAAA;MAAA,CAC9C,CAAA;MAEDoE,EAAA,CAAGuJ,QAAQiyB,QAAQ,CAAA;MAEnBC,aAAa,EAAA;MAEb,OAAO,MAAM;QACFD,QAAA,CAAA57B,mBAAA,CAAoB,UAAU67B,aAAY,CAAA;QAEnDz7B,EAAA,CAAGsM,UAAUkvB,QAAQ,CAAA;QACrBx7B,EAAA,CAAGoL,UAAW,CAAA,CAAA;MAAA,CAChB;IACF;IAEA,MAAMqwB,eAAeA,CAAA,KAAM;MACzBV,YAAA,CAAar7B,OAAOk8B,OAAO,CAAA;IAAA,CAC7B;IAEA,MAAMC,eAAeA,CAAA,KAAM;MACzBZ,eAAA,CAAgBv7B,OAAOo8B,WAAW,CAAA;IAAA,CACpC;IAEAp8B,MAAA,CAAOC,iBAAiB,QAAU,EAAA87B,YAAA,EAAc;MAACE,OAAA,EAAS;KAAK,CAAA;IACxDj8B,MAAA,CAAAC,gBAAA,CAAiB,UAAUk8B,YAAY,CAAA;IAE9CZ,eAAA,CAAgBv7B,OAAOo8B,WAAW,CAAA;IAErBL,YAAA,EAAA;IAEb,OAAO,MAAM;MACJ/7B,MAAA,CAAAE,mBAAA,CAAoB,UAAU67B,YAAY,CAAA;MAC1C/7B,MAAA,CAAAE,mBAAA,CAAoB,UAAUi8B,YAAY,CAAA;IAAA,CACnD;EAAA,CACF,EAAG,CAACjK,YAAY,CAAC,CAAA;EAEjB,MAAMpO,MAAMkX,KAAM,CAAAtgC,MAAA;EACZ,MAAAwB,MAAA,GAASs/B,aAAa1X,GAAO,IAAA0X,UAAA,GAAazgC,MAAMijB,GAAG,CAAA,CAAA,GAAKjjB,KAAM,CAAAijB,GAAG,CAAI,GAAA,CAAA;EAC3E,MAAMqe,SAAY,GAAAngC,MAAA,GAASiB,IAAK,CAAAgS,GAAA,CAAIhS,IAAK,CAAAC,KAAA,CAAOg+B,SAAY,GAAAl/B,MAAA,GAAU4nB,GAAG,CAAA,GAAI,CAAG,EAAA,CAAC,CAAI,GAAA,CAAA;EAC/E,MAAAwY,OAAA,GAAUpgC,SAASiB,IAAK,CAAAo/B,IAAA,CAAA,CAAOnB,YAAYE,YAAgB,IAAAp/B,MAAA,GAAU4nB,GAAG,CAAA,GAAI,CAAI,GAAA,CAAA;EAEtFxkB,SAAA,CAAU,MAAM;IACd,IAAI,CAAC27B,QAAA,EAAU;IACNA,QAAA,CAAA;MAACoB,SAAW;MAAAre,GAAA,EAAKjjB,KAAM,CAAAijB,GAAG;MAAGwd,UAAY;MAAAF,YAAA;MAAcF,SAAW;MAAAkB;IAAQ,CAAA,CAAA;EAAA,CACrF,EAAG,CAACD,SAAA,EAAWre,GAAK,EAAAwd,UAAA,EAAYP,UAAUK,YAAc,EAAAF,SAAA,EAAWrgC,KAAO,EAAAuhC,OAAO,CAAC,CAAA;EAE5E,MAAApkB,QAAA,GAAWha,QAAQ,MAAM;IACzB,IAAA,CAACg9B,UAAc,IAAAF,KAAA,CAAMtgC,MAAW,KAAA,CAAA,EAAU,OAAA,IAAA;IAE9C,IAAI8gC,eAAe,CAAI,CAAA,EAAA;MACd,OAAA,oBAAEX,WAAqB,EAAA;QAAA3iB,QAAA,EAAAgjB,UAAA,CAAWF,MAAM,CAAC,CAAC;OAAvB,EAAA,CAAyB,CAAc,CAAA;IACnE;IAEO,OAAAA,KAAA,CAAMhuB,MAAMqvB,SAAW,EAAAC,OAAO,EAAEziC,GAAI,CAAA,CAAC+a,MAAM4nB,UAAe,KAAA;MAC/D,MAAMC,YAAYJ,SAAY,GAAAG,UAAA;MACxB,MAAA/0B,IAAA,GAAOyzB,WAAWtmB,IAAI,CAAA;MAC5B,MAAMxb,GAAM,GAAA2hC,UAAA,GAAaA,UAAW,CAAAnmB,IAAA,EAAM6nB,SAAS,CAAI,GAAAA,SAAA;MAEvD,OACG,eAAAnkB,GAAA,CAAAuiB,WAAA,EAAA;QAAsB1hC,KAAO,EAAA;UAACR,GAAK,EAAA8jC,SAAA,IAAajB,UAAa,GAAAzgC,KAAA,CAAMijB,GAAG,CAAA;QACpE,CAAA;QAAA9F,QAAA,EAAAzQ;MAAA,CAAA,EADerO,GAElB,CAAA;IAAA,CAEH,CAAA;EAAA,CACH,EAAG,CAACijC,SAAA,EAAWre,GAAK,EAAA+c,UAAA,EAAYS,YAAYR,KAAO,EAAAE,UAAA,EAAYngC,KAAO,EAAAuhC,OAAO,CAAC,CAAA;EAExE,MAAAI,YAAA,GAAex+B,QAAQ,OAAO;IAAChC;GAAU,CAAA,EAAA,CAACA,MAAM,CAAC,CAAA;EAEvD,0BACG4qB,MAAK,EAAA;IAAA+C,EAAA;IAAQ,SAAQ,EAAA,aAAA;IAAe,GAAGnC,SAAW;IAAAlM,GAAA,EAAK0W,YACtD;IAAAha,QAAA,EAAA,eAAAI,GAAA,CAAC;MAAIkD,GAAK,EAAA2f,UAAA;MAAYhiC,KAAO,EAAAujC,YAAA;MAC1BxkB;KACH;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;ACpKM,MAAMykB,wBAA2B,GAAA,CAAA;AACjC,MAAMC,uBAA0B,GAAA,CAAA;AAChC,MAAMC,2BAA8B,GAAA,EAAA;AACpC,MAAMC,4BAA+B,GAAA,EAAA;AACrC,MAAMC,uBAA0C,GAAA,CAAC,CAAG,EAAA,CAAA,EAAG,GAAG,CAAC,CAAA;AAC3D,MAAMC,6BAA8D,GAAA;EACzErkC,GAAK,EAAA,CAAC,QAAU,EAAA,MAAA,EAAQ,OAAO,CAAA;EAC/B,WAAa,EAAA,CAAC,cAAgB,EAAA,YAAA,EAAc,aAAa,CAAA;EACzD,SAAW,EAAA,CAAC,YAAc,EAAA,UAAA,EAAY,WAAW,CAAA;EACjDE,MAAQ,EAAA,CAAC,KAAO,EAAA,MAAA,EAAQ,OAAO,CAAA;EAC/B,cAAgB,EAAA,CAAC,WAAa,EAAA,YAAA,EAAc,aAAa,CAAA;EACzD,YAAc,EAAA,CAAC,SAAW,EAAA,UAAA,EAAY,WAAW,CAAA;EACjDC,IAAM,EAAA,CAAC,OAAS,EAAA,KAAA,EAAO,QAAQ,CAAA;EAC/B,YAAc,EAAA,CAAC,aAAe,EAAA,WAAA,EAAa,cAAc,CAAA;EACzD,UAAY,EAAA,CAAC,WAAa,EAAA,SAAA,EAAW,YAAY,CAAA;EACjDF,KAAO,EAAA,CAAC,MAAQ,EAAA,KAAA,EAAO,QAAQ,CAAA;EAC/B,aAAe,EAAA,CAAC,YAAc,EAAA,WAAA,EAAa,cAAc,CAAA;EACzD,WAAa,EAAA,CAAC,UAAY,EAAA,SAAA,EAAW,YAAY;AACnD,CAAA;ACVO,SAAS6D,KAAKgQ,OAON,EAAA;EACb,MAAM;IAACwwB,KAAA;IAAOC,OAAS;IAAAphC,OAAA,GAAU;GAAK,GAAA2Q,OAAA;EAE/B,OAAA;IACLhB,IAAM,EAAA,iBAAA;IACN,MAAMwqB,GAAGkH,IAAM,EAAA;MACb,MAAM;QAACj+B,QAAA;QAAUk+B,SAAW;QAAAC,QAAA;QAAUC;OAAS,GAAAH,IAAA;MACzC,MAAA;QAACI,QAAU;QAAAC;MAAa,CAAA,GAAAF,KAAA;MAExB,MAAAhgB,QAAA,GAAW,MAAMmgB,cAAA,CAAeN,IAAM,EAAA;QAC1CO,WAAa,EAAA,IAAA;QACbC,QAAA,EAAUlxB,QAAQ1N,eAAmB,IAAA,KAAA,CAAA;QACrC6+B,cAAgB,EAAA,UAAA;QAChB9hC,OAAA;QACA+hC,YAAc,EAAA;MAAA,CACf,CAAA;MAED,IAAIrK,QAAW,GAAA9rB,QAAA;MACf,IAAIo2B,SAAY,GAAAp2B,QAAA;MAEhB,MAAMq2B,YAAYR,QAAS,CAAA17B,KAAA;MAC3B,MAAMm8B,YAAYT,QAAS,CAAArhC,MAAA;MAEvB,IAAAkhC,SAAA,CAAU19B,QAAS,CAAA,KAAK,CAAG,EAAA;QAClB8zB,QAAA,GAAAuK,SAAA,IAAazgB,QAAS,CAAAxkB,IAAA,GAAOwkB,QAAS,CAAA1kB,KAAA,CAAA;QACjDklC,SAAA,GAAYE,YAAY1gB,QAAS,CAAA3kB,GAAA;MACnC;MAEI,IAAAykC,SAAA,CAAU19B,QAAS,CAAA,OAAO,CAAG,EAAA;QAC/B8zB,QAAA,GAAWuK,YAAYzgB,QAAS,CAAA1kB,KAAA;QACpBklC,SAAA,GAAAE,SAAA,IAAa1gB,QAAS,CAAA3kB,GAAA,GAAM2kB,QAAS,CAAAzkB,MAAA,CAAA;MACnD;MAEI,IAAAukC,SAAA,CAAU19B,QAAS,CAAA,QAAQ,CAAG,EAAA;QACrB8zB,QAAA,GAAAuK,SAAA,IAAazgB,QAAS,CAAAxkB,IAAA,GAAOwkB,QAAS,CAAA1kB,KAAA,CAAA;QACjDklC,SAAA,GAAYE,YAAY1gB,QAAS,CAAAzkB,MAAA;MACnC;MAEI,IAAAukC,SAAA,CAAU19B,QAAS,CAAA,MAAM,CAAG,EAAA;QAC9B8zB,QAAA,GAAWuK,YAAYzgB,QAAS,CAAAxkB,IAAA;QACpBglC,SAAA,GAAAE,SAAA,IAAa1gB,QAAS,CAAA3kB,GAAA,GAAM2kB,QAAS,CAAAzkB,MAAA,CAAA;MACnD;MAIMokC,KAAA,CAAA;QACJgB,gBAAgBzK,QAAW,GAAA0J,OAAA,CAAQ,CAAC,CAAA,GAAIA,QAAQ,CAAC,CAAA;QACjDgB,iBAAiBJ,SAAY,GAAAZ,OAAA,CAAQ,CAAC,CAAA,GAAIA,QAAQ,CAAC,CAAA;QACnDh+B,QAAA;QACAi/B,gBAAgBX,SAAU,CAAA37B,KAAA,GAAQq7B,QAAQ,CAAC,CAAA,GAAIA,QAAQ,CAAC;MAAA,CACzD,CAAA;MAED,MAAMkB,cAAiB,GAAA,MAAMf,QAAS,CAAAgB,aAAA,CAAcn/B,SAASq+B,QAAQ,CAAA;MAErE,MAAMe,UAAUF,cAAe,CAAAliC,MAAA;MAC/B,MAAMqiC,UAAUH,cAAe,CAAAv8B,KAAA;MAE3B,IAAAk8B,SAAA,KAAcQ,OAAW,IAAAP,SAAA,KAAcM,OAAS,EAAA;QAClD,OAAO;UAACE,KAAA,EAAO;YAAClB,KAAA,EAAO;UAAK;QAAA,CAAA;MAC9B;MAEA,OAAO,EAAC;IACV;EAAA,CACF;AACF;AC7EO,SAASmB,iBAAiBC,MAIV,EAAA;EACrB,MAAM;IAAC3kC,UAAA;IAAYO,KAAO;IAAAuH;EAAA,CAAS,GAAA68B,MAAA;EAE7B,MAAAC,CAAA,GAAI98B,MAAM9H,UAAU,CAAA;EAC1B,MAAM6kC,eAAyCD,CAAM,KAAA,KAAA,CAAA,GAAY98B,MAAMA,KAAM,CAAAnH,MAAA,GAAS,CAAC,CAAI,GAAAikC,CAAA;EAE3F,OAAO,OAAOC,YAAiB,KAAA,QAAA,GAAWtkC,MAAMO,MAAO,CAAAsb,SAAA,CAAUyoB,YAAY,CAAI,GAAA,KAAA,CAAA;AACnF;AAEO,SAASC,aAAaH,MAGN,EAAA;EACf,MAAA;IAACI,aAAe;IAAAF;EAAgB,CAAA,GAAAF,MAAA;EAElC,IAAAE,YAAA,KAAiB,KAAa,CAAA,IAAAE,aAAA,KAAkB,KAAW,CAAA,EAAA;IACtD,OAAA,KAAA,CAAA;EACT;EAEA,OAAO3hC,IAAK,CAAAiS,GAAA,CACVwvB,YAAgB,IAAA,IAAA,GAAAA,YAAA,GAAAl3B,QAAA,EACf,CAAAo3B,aAAA,IAAiBp3B,YAAYk1B,uBAA0B,GAAA,CAAA,CAC1D;AACF;;;;;;AC/BA,IAAA56B,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAKA,MAAMuC,MAAA,GAAOC,OAAOC,GAAP,CAAAhlB,IAAA,KAAAA,IAAA,GAAU0W,6EAGe,iBACC,EAAA,2HAAA,EASgB,OAAqC,4DAIlD,EAAA,4DAAA,EAIF,uHAQC,sHAQF,EAAA,sEAAA,CAAA,CAAA,CAAA,EAlC5BmkB,6BACCA,2BASY,EAAAA,2BAAA,GAA8B,GAAOA,2BAA8B,GAAA,CAAA,EAI5EA,2BAIF,EAAAA,2BAAA,EAQCA,2BAQF,EAAAA,2BAAA,CAAA;AAQZ,MAAMkC,UAAA,GAAahY,OAAOiY,IAAP,CAAAz8B,IAAA,KAAAA,IAAA,GAAWmW,4BACwB,KAA5C,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,2BAA2B,CAAA,CAAA;AAGrD,MAAMksB,SAAA,GAAYlY,OAAOiY,IAAP,CAAAza,IAAA,KAAAA,IAAA,GAAW7L,4BACQ,KAA3B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,QAAQ,UAAU,CAAA,CAAA;AAG7B,MAAMiqB,YAAe,GAAA9X,UAAA,CAAW,SAAS8X,aAAAA,CAC9C3kC,OACAihB,GACA,EAAA;EACA,0BACGsL,MAAK,EAAA;IAAA,SAAA,EAAQ,gBAAkB;IAAA,GAAGvsB;IAAOihB,GACxC;IAAAtD,QAAA,iBAAAmB,IAAA,CAAC,KAAA,EAAA;MACCxX,KAAO,EAAAg7B,2BAAA;MACP3gC,MAAQ,EAAA4gC,4BAAA;MACRxR,OAAQ,EAAA,WAAA;MACR5O,IAAK,EAAA,MAAA;MACLyiB,KAAM,EAAA,4BAAA;MAENjnB,QAAA,EAAA,CAAC,eAAAI,GAAA,CAAAymB,UAAA,EAAA;QAAWxT,GAAE;MAA2W,CAAA,CAAA,EACzX,eAAAjT,GAAA,CAAC2mB,SAAU,EAAA;QAAA1T,CAAA,EAAE;MAAqL,CAAA,CAAA;IAAA,CAEtM;EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;AC/DD,MAAMzE,MAAA,GAAOC,MAAO,CAAAuK,IAAI,CAAE,CAAA;EACxB,iBAAmB,EAAA;IACjBr1B,OAAS,EAAA;EACX,CAAA;EACAwiB,aAAe,EAAA,QAAA;EACf5c,KAAO,EAAA,aAAA;EACP6c,QAAU,EAAA;AACZ,CAAC,CAAA;AAKM,MAAM0gB,WAAc,GAAAC,IAAA,CACzBjY,UAAW,CAAA,SAASgY,YAClBE,CAAA/kC,KAAA,EAmBAihB,GACA,EAAA;EACM,MAAA;IACJ+jB,kBAAoB,EAAAC,WAAA;IACpBtX,KAAA;IACAuX,QAAA;IACAC,MAAA;IACAC,MAAA;IACAznB,QAAA;IACApc,OAAA;IACAshC,SAAA;IACA9f,QAAA;IACAlH,MAAA;IACA7C,MAAA;IACA8S,MAAA;IACAuZ,QAAA;IACAzmC,KAAA;IACAqa,IAAA;IACA3R,KAAA;IACAF,CAAG,EAAAk+B,KAAA;IACHj+B,CAAG,EAAAk+B,KAAA;IACH,GAAGpY;EACD,CAAA,GAAAntB,KAAA;EACE,MAAA;IAACmuB;GAAM,GAAIoN,QAAS,EAAA;EAC1B,MAAMjE,cAAchW,cAAe,EAAA;EAGnC,MAAMqhB,OAA0B,GAAAh/B,OAAA,CAC9B,MAAMshC,WAAe,IAAAzC,uBAAA,EACrB,CAACyC,WAAW,CAAA,CACd;EAGA,MAAM79B,CAAK,GAAA,CAAAk+B,KAAA,IAAA,IAAA,GAAAA,KAAA,GAAS,CAAK,IAAA3C,OAAA,CAAQ,CAAC,CAAA;EAClC,MAAMt7B,CAAK,GAAA,CAAAk+B,KAAA,IAAA,IAAA,GAAAA,KAAA,GAAS,CAAK,IAAA5C,OAAA,CAAQ,CAAC,CAAA;EAElC,MAAM6C,SAA2B,GAAA7hC,OAAA,CAC/B,OAAO;IACLtC,QAAU,EAAAgkC,QAAA;IACVjnC,GAAK,EAAAiJ,CAAA;IACL9I,IAAM,EAAA6I,CAAA;IACNE,KAAA;IACA6mB,MAAA;IACA,GAAGvvB;EAAA,CACL,CAAA,EACA,CAACymC,QAAU,EAAAzmC,KAAA,EAAO0I,KAAO,EAAAF,CAAA,EAAGC,GAAG8mB,MAAM,CAAA,CACvC;EAEM,MAAAsX,UAAA,GAAa5C,aAAa1kC,qBAAsB,CAAA0kC,SAAA,CAAUntB,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;EAEvE,MAAAgwB,UAAA,GAA4B/hC,QAAQ,MAAM;IAC9C,MAAM/E,MAAuB,GAAA;MAC3BL,IAAA,EAAM4mC,MAAW,KAAA,IAAA,GAAOA,MAAS,GAAA,KAAA,CAAA;MACjC/mC,GAAA,EAAKgnC,MAAW,KAAA,IAAA,GAAOA,MAAS,GAAA,KAAA,CAAA;MAChC/mC,KAAO,EAAA,KAAA,CAAA;MACPC,MAAQ,EAAA,KAAA;IAAA,CACV;IAEI,IAAAmnC,UAAA,EAAY7mC,MAAAA,CAAM6mC,UAAU,CAAA,GAAI,CAAI,GAAAnD,2BAAA;IAEjC1jC,OAAAA,MAAAA;EACN,CAAA,EAAA,CAACumC,MAAQ,EAAAC,MAAA,EAAQK,UAAU,CAAC,CAAA;EAG7B,sBAAA3mB,IAAA,CAACyN,MAAA,EAAA;IACC,SAAQ,EAAA,SAAA;IACP,GAAGY,SAAA;IACJ,WAAW,EAAAlU,IAAA;IACX,gBAAgB,EAAA4pB,SAAA;IAChBhnB,MAAA;IACAoF,GAAA;IACAjI,MAAA;IACA8S,MAAA;IACAlJ,MAAO,EAAA,QAAA;IAEPyU,aAAa,EAAA,IAAA;IACbpe,IAAM,EAAAA,IAAA,KAAS,SAAY,GAAAqe,WAAA,CAAYre,IAAO,GAAAA,IAAA;IAC9Cra,KAAO,EAAA4mC,SAAA;IAEP7nB,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC6V;MAAK,SAAQ,EAAA,kBAAA;MAAmB3P,SAAU,EAAA,QAAA;MAASO,MAAM,CAAG;MAAAzB,QAAA;MAC3DpF,QAAC,EAAA,eAAAI,GAAA,CAAA6V,IAAA,EAAA;QAAK3P,WAAU,QAAS;QAAAO,IAAA,EAAM,CAAG;QAAAjjB,OAAA;QAC/Boc;MACH,CAAA;KACF,CAAA,EAECgQ,wBAAU5P,GAAA,CAAA4mB,YAAA,EAAA;MAAa1jB,GAAK,EAAAikB,QAAA;MAAUtmC,OAAO8mC;KAAY,CAAA;EAAA,CAAA,CAC5D;AAAA,CAEH,CACH,CAAA;AAEAb,WAAA,CAAYc,WAAc,GAAA,aAAA;AC9DnB,MAAMC,OAAU,GAAAd,IAAA,CACrBjY,UAAW,CAAA,SAAS+Y,QAClBC,CAAA7lC,KAAA,EAEAihB,GACoB,EAAA;EAhFxB,IAAAxZ,EAAA,EAAAO,EAAA,EAAAgiB,EAAA,EAAA8b,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAA53B,EAAA;EAiFI,MAAMvO,QAAQmf,QAAS,EAAA;EACvB,MAAMinB,yBAAyBjM,kBAAmB,EAAA;EAE5C,MAAA;IACJ8K,oBAAoBrC,OAAU,GAAAH,uBAAA;IAC9B7U,OAAOyY,SAAY,GAAA,IAAA;IACnB5hC,kBAAkB2hC,sBAAuB,CAAApiC,OAAA;IACzC4Z,QAAU,EAAA0oB,SAAA;IACVC,aAAgB,GAAA,KAAA;IAChB7kC,OAAA;IACAmzB,QAAA;IACA2R,kBAAA,GAAA,CAAqBv+B,WAAMu+B,kBAAN,KAAA,IAAA,GAAAv+B,EAAA,GACnBy6B,+BAA4Bh7B,EAAM,GAAAzH,KAAA,CAAA6iC,SAAA,KAAN,YAAmB,QAAQ,CAAA;IACzD2D,mBAAA;IACAC,gBAAmB,GAAA,CAAAzc,EAAA,GAAAhqB,KAAA,CAAMwE,eAAN,KAAA,IAAA,GAAAwlB,EAAA,GAAyBmc,sBAAuB,CAAApiC,OAAA;IACnE2iC,IAAA;IACA3jB,QAAW,GAAA,QAAA;IACXxhB,OAAS,EAAA0zB,WAAA;IACT4N,WAAW8D,aAAgB,GAAA,QAAA;IAC3BrH,MAAA;IACAsH,eAAkB,GAAA,IAAA;IAClB/qB,QAAQ2Z,UAAa,GAAA,CAAA;IACrBqR,iBAAoB,GAAA,CAAAf,EAAA,GAAA9lC,KAAA,CAAMwE,eAAN,KAAA,IAAA,GAAAshC,EAAA,GAAyBK,sBAAuB,CAAApiC,OAAA;IACpE+iC,gBAAA;IACA9tB,MAAA;IACA8S,QAAQib,UAAa,GAAA,CAAA;IACrB9tB,IAAO,GAAA,SAAA;IACP3R,OAAO0/B,SAAY,GAAA,MAAA;IACnBpqB,SAAS2gB,WAAc,GAAA,CAAAwI,EAAA,GAAAhmC,KAAA,CAAMO,MAAO,CAAAoe,KAAA,KAAb,mBAAoB7B,OAAQ,CAAAD,OAAA;IACnDqqB,SAAA;IACA,GAAG9Z;EACD,CAAA,GAAAntB,KAAA;EACJ,MAAMknC,YAAe,GAAA,CAAAlB,EAAA,GAAAnyB,cAAA,CAAerP,eAAe,CAAA,KAA9B,IAAiC,GAAA,KAAA,CAAA,GAAAwhC,EAAA,CAAA3yB,MAAA;EAChD,MAAA9R,OAAA,GAAUkC,aAAawxB,WAAW,CAAA;EAClC,MAAApZ,MAAA,GAASpY,aAAa+xB,UAAU,CAAA;EAChC,MAAA1J,MAAA,GAASroB,aAAasjC,UAAU,CAAA;EAChC,MAAAI,cAAA,GAAiB1jC,aAAaujC,SAAS,CAAA;EACvC,MAAApqB,OAAA,GAAUnZ,aAAa85B,WAAW,CAAA;EAClC,MAAA5F,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EAClC,MAAAikB,QAAA,GAAWpgC,OAA8B,IAAI,CAAA;EACnD,MAAMw+B,YAA6B,GAAA,UAAA;EAEnC,MAAM9jC,aAAa4gB,aAAc,EAAA;EACjC,MAAMmkB,aAAgB,GAAA+B,aAAA,IAAiBM,eAAkB,GAAAM,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,YAAA,CAAc5/B,KAAQ,GAAA,KAAA,CAAA;EAK/E,MAAMA,QAAQ48B,gBAAiB,CAAA;IAAC1kC;IAAYO,KAAO;IAAAuH,KAAA,EAAO6/B;GAAe,CAAA;EACnE,MAAAC,QAAA,GAAWtiC,OAAOwC,KAAK,CAAA;EAE7BvC,SAAA,CAAU,MAAM;IACdqiC,QAAA,CAASniC,OAAU,GAAAqC,KAAA;EAAA,CACrB,EAAG,CAACA,KAAK,CAAC,CAAA;EAKV,MAAM2xB,WAAWqL,YAAa,CAAA;IAACC,aAAe;IAAAF,YAAA,EAAc/8B;GAAM,CAAA;EAC5D,MAAA+/B,WAAA,GAAcviC,OAAOm0B,QAAQ,CAAA;EAEnCl0B,SAAA,CAAU,MAAM;IACdsiC,WAAA,CAAYpiC,OAAU,GAAAg0B,QAAA;EAAA,CACxB,EAAG,CAACA,QAAQ,CAAC,CAAA;EAGb,MAAMqO,oBAAoBxiC,MAAe,EAAA;EAGzCC,SAAA,CAAU,MAAM;IACd,MAAMwiC,kBAAkB5P,YAAa,CAAA1yB,OAAA;IAEjC,IAAA,CAACyhC,QAAQ,CAACa,eAAA,EAAiB;IAE/B,MAAM3D,iBAAiB0D,iBAAkB,CAAAriC,OAAA;IAEzC,IAAIuhC,mBAAqB,EAAA;MACvB,IAAI5C,mBAAmB,KAAW,CAAA,EAAA;QAChB2D,eAAA,CAAA3oC,KAAA,CAAM0I,KAAQ,GAAA,EAAA,CAAGtI,MAAc,CAAA4kC,cAAA,EAAA,IAAA,CAAA;MACjD;IAAA,CACF,MAAA,IAAWt8B,UAAU,KAAW,CAAA,EAAA;MACdigC,eAAA,CAAA3oC,KAAA,CAAM0I,KAAQ,GAAA,EAAA,CAAGtI,MAAK,CAAAsI,KAAA,EAAA,IAAA,CAAA;IACxC;IAEI,IAAA,OAAO2xB,aAAa,QAAU,EAAA;MAChBsO,eAAA,CAAA3oC,KAAA,CAAMq6B,QAAW,GAAA,EAAA,CAAGj6B,MAAQ,CAAAi6B,QAAA,EAAA,IAAA,CAAA;IAC9C;EAAA,GACC,CAAC3xB,KAAA,EAAOqwB,cAAc6O,mBAAqB,EAAAvN,QAAA,EAAUyN,IAAI,CAAC,CAAA;EAEvD,MAAAc,UAAA,GAAa7jC,QAAQ,MAAM;IAC/B,MAAMM,MAAoB,EAAC;IAG3B,IAAIqiC,iBAAiBM,eAAiB,EAAA;MAChC3iC,GAAA,CAAAE,IAAA,CACFsjC,IAAK,CAAA;QACHrE,UAAUqD,gBAAoB,IAAA,KAAA,CAAA;QAC9BF,kBAAA;QACAhlC,OAAS,EAAA8gC,uBAAA;QACTiB;MAAA,CACD,CAAA,CACH;IACF;IAGIr/B,GAAA,CAAAE,IAAA,CACFqX,MAAO,CAAA;MACLksB,QAAA,EAAUtB,YAAYhE,wBAA2B,GAAA;IAAA,CAClD,CAAA,CACH;IAGA,IAAIkE,iBAAiBE,mBAAqB,EAAA;MACpCviC,GAAA,CAAAE,IAAA,CACFjC,IAAK,CAAA;QACHwgC,aAAmE;UAAA,IAA7D;YAACgB,cAAA;YAAgBC,eAAiB;YAAAh/B,QAAA;YAAUi/B;WAAiB,GAAA+D,KAAA;UAGjEL,iBAAA,CAAkBriC,OAAU,GAAA2+B,cAAA;UAE5B,MAAMgE,gBAAgBR,QAAS,CAAAniC,OAAA;UAC/B,MAAM4iC,YAAYR,WAAY,CAAApiC,OAAA;UAE9B,IAAIuhC,mBAAqB,EAAA;YACvB7hC,QAAA,CAASq+B,QAAS,CAAApkC,KAAA,CAAM0I,KAAQ,GAAA,EAAA,CAAGtI,MAAc,CAAA4kC,cAAA,EAAA,IAAA,CAAA;UAAA,CACnD,MAAA,IAAWgE,kBAAkB,KAAW,CAAA,EAAA;YACtCjjC,QAAA,CAASq+B,QAAS,CAAApkC,KAAA,CAAM0I,KAAQ,GAAA,EAAA,CAAGtI,MAAa,CAAA4oC,aAAA,EAAA,IAAA,CAAA;UAClD;UAEA,IAAItB,aAAe,EAAA;YACjB3hC,QAAA,CAASq+B,QAAS,CAAApkC,KAAA,CAAMq6B,QAAW,GAAA,EAAA,CAAGj6B,MAAK,CAAA4D,IAAA,CAAAiS,GAAA,CACzC6uB,cAAA,EACAmE,SAAa,IAAA,IAAA,GAAAA,SAAA,GAAA16B,QACd,CAAA,EAAA,IAAA,CAAA;YAEDxI,QAAA,CAASq+B,QAAS,CAAApkC,KAAA,CAAM2kC,SAAY,GAAA,EAAA,CAAGvkC,MAAe,CAAA2kC,eAAA,EAAA,IAAA,CAAA;UACxD;QACF,CAAA;QACAn/B,iBAAiBiiC,gBAAoB,IAAA,KAAA,CAAA;QACrCH,aAAA;QACA3D,OAAA;QACA6D,mBAAA;QACAjlC,OAAS,EAAA8gC;MAAA,CACV,CAAA,CACH;IACF;IAGA,IAAIuE,eAAiB,EAAA;MACf3iC,GAAA,CAAAE,IAAA,CACF2jC,KAAM,CAAA;QACJ1E,UAAUqD,gBAAoB,IAAA,KAAA,CAAA;QAC9BnD,YAAA;QACA/hC,OAAS,EAAA8gC;MAAA,CACV,CAAA,CACH;IACF;IAGA,IAAI+D,SAAW,EAAA;MACTniC,GAAA,CAAAE,IAAA,CACFwpB,KAAM,CAAA;QACJ5pB,OAAS,EAAAmhC,QAAA;QACT3jC,OAAS,EAAA8gC;MAAA,CACV,CAAA,CACH;IACF;IAEIp+B,GAAA,CAAAE,IAAA,CACF4jC,IAAK,CAAA;MACH3E,UAAUyD,iBAAqB,IAAA,KAAA,CAAA;MAC/BtlC,OAAS,EAAA8gC,uBAAA;MACTgD,QAAU,EAAA;IAAA,CACX,CAAA,CACH;IAEO,OAAAphC,GAAA;EAAA,CACN,EAAA,CACDmiC,SAAA,EACAE,aAAA,EACAC,kBAAA,EACAE,gBAAA,EACA9D,OAAA,EACA6D,mBAAA,EACAI,eAAA,EACAC,iBAAA,CACD,CAAA;EAEK,MAAA;IAACz/B;IAAGC,CAAG;IAAA2gC,cAAA;IAAgBnF;IAAWoF,IAAM;IAAA5C,QAAA;IAAU6C;EAAM,CAAA,GAAIC,WAAY,CAAA;IAC5EX,UAAA;IACA3E,SAAW,EAAA8D,aAAA;IACXyB,oBAAsB,EAAAC;EAAA,CACvB,CAAA;EAEK,MAAAC,eAAA,GAAA,CAAkBrC,EAAe,GAAA+B,cAAA,CAAAD,IAAA,KAAf,IAAqB,GAAA,KAAA,CAAA,GAAA9B,EAAA,CAAAqC,eAAA;EAEvC,MAAAnD,MAAA,GAAA,CAASe,EAAe,GAAA8B,cAAA,CAAAra,KAAA,KAAf,IAAsB,GAAA,KAAA,CAAA,GAAAuY,EAAA,CAAA9+B,CAAA;EAC/B,MAAAg+B,MAAA,GAAA,CAAS92B,EAAe,GAAA05B,cAAA,CAAAra,KAAA,KAAf,IAAsB,GAAA,KAAA,CAAA,GAAArf,EAAA,CAAAjH,CAAA;EAE/B,MAAAkhC,QAAA,GAAW1X,WAAY,CAAC2X,OAAmC,IAAA;IAC/DtD,QAAA,CAASjgC,OAAU,GAAAujC,OAAA;EACrB,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMC,WAAc,GAAA5X,WAAA,CACjB3jB,IAAgC,IAAA;IAC/ByqB,YAAA,CAAa1yB,OAAU,GAAAiI,IAAA;IACvB+6B,IAAA,CAAKQ,YAAYv7B,IAAI,CAAA;EACvB,CAAA,EACA,CAACyqB,cAAcsQ,IAAI,CAAA,CACrB;EAEA,MAAMS,YAAe,GAAA7X,WAAA,CAClB3jB,IAA6B,IAAA;IAC5B+6B,IAAA,CAAKS,aAAax7B,IAAI,CAAA;IAGtB,MAAMy7B,WAAYtC,SAAmB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAAplB,GAAA;IAEjC,IAAA,OAAO0nB,aAAa,UAAY,EAAA;MAClCA,QAAA,CAASz7B,IAAI,CAAA;eACJy7B,QAAU,EAAA;MACnBA,QAAA,CAAS1jC,OAAU,GAAAiI,IAAA;IACrB;EACF,CAAA,EACA,CAACm5B,WAAW4B,IAAI,CAAA,CAClB;EAEM,MAAAvV,KAAA,GAAQ/uB,QAAQ,MAAM;IAC1B,IAAI,CAAC0iC,SAAa,IAAAS,gBAAA,EAAyB,OAAA,IAAA;IAE3C,OAAO/T,YAAa,CAAAsT,SAAA,EAAW;MAACplB,GAAA,EAAKynB;IAAa,CAAA,CAAA;EACjD,CAAA,EAAA,CAACrC,SAAW,EAAAS,gBAAA,EAAkB4B,YAAY,CAAC,CAAA;EAE9C3jC,SAAA,CAAU,MAAM;IACd,IAAIkiC,SAAW,EAAA;MACT,IAAA,OAAOA,cAAc,UAAY,EAAA;QACnCA,SAAA,CAAUiB,MAAM,CAAA;iBACPjB,SAAW,EAAA;QACpBA,SAAA,CAAUhiC,OAAU,GAAAijC,MAAA;MACtB;IACF;EAAA,CACC,EAAA,CAACA,MAAQ,EAAAjB,SAAS,CAAC,CAAA;EAEtBliC,SAAA,CAAU,MAAM;IACTkjC,IAAA,CAAAS,YAAA,CAAa5B,oBAAoB,IAAI,CAAA;EAAA,CACzC,EAAA,CAACA,gBAAkB,EAAAmB,IAAI,CAAC,CAAA;EAE3B,IAAIrT,QAAU,EAAA;IACZ,OAAOyR,aAAe,eAAAtoB,GAAA,CAAA2T,QAAA,EAAA,CAAA,CAAA,CAAA;EACxB;EAEM,MAAA7U,OAAA,GACH,eAAAkB,GAAA,CAAAuf,aAAA,EAAA;IAAc1gB,OACb;IAAAe,QAAA,EAAA,eAAAI,GAAA,CAAC8mB,WAAA,EAAA;MACE,GAAG1X,SAAA;MACJ6X,kBAAoB,EAAArC,OAAA;MACpBhV,KAAO,EAAAyY,SAAA;MACPlB,QAAU,EAAAqD,QAAA;MACVpD,MAAA;MACAC,MAAA;MACAwD,MAAQ,EAAAN,eAAA;MACRvlB,QAAA;MACAxhB,OAAA;MACAshC,SAAA;MACAhnB,MAAA;MACAoF,GAAK,EAAAwnB,WAAA;MACLzvB,MAAA;MACA8S,MAAA;MACAuZ,QAAA;MACApsB,IAAA;MACA3R,KAAA,EAAOk/B,mBAAsB,GAAAc,iBAAA,CAAkBriC,OAAU,GAAAqC,KAAA;MACzDF,CAAA;MACAC,CAAA;MAECsW,QAAA,EAAAlc;IAAA,CAEL;EAAA,CAAA,CAAA;EAGF,sBAGKqd,IAAA,CAAA4S,QAAA,EAAA;IAAA/T,QAAA,EAAA,CAAA+oB,IAAA,IAEI,eAAA3oB,GAAA,CAAA2T,QAAA,EAAA;MAAA/T,QAAA,EAAA2hB,MAAA,kBACEvhB,GAAA,CAAAqhB,MAAA,EAAA;QAAOC,eAAiB,EAAA,OAAOC,MAAW,KAAA,QAAA,GAAWA,MAAS,GAAA,KAAA,CAAA;QAC5D3hB,QACH,EAAAd;MAAA,CAAA,CAAA,GAEAA;KAEJ,CAAA,EAID6V,KAAA;EACH,CAAA,CAAA;AAAA,CAEH,CACH,CAAA;AAEAkT,OAAA,CAAQD,WAAc,GAAA,SAAA;;;;;;AC9XtB,IAAAl+B,IAAA,EAAAO,IAAA;AAKO,SAAS6gC,cAAyCA,CAAA,EAAA;EACvD,OAAO3e,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,8JAAA,CAAA,CAAA,CAAA,CAAA;AAWZ;AAEO,SAAS2qB,kBAAkB9oC,KAA2C,EAAA;EACrE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAChB,MAAA;IAACib;EAAS,CAAA,GAAIW,KAAM,CAAAE,KAAA;EAC1B,MAAM2sB,QAAQ7sB,KAAM,CAAAE,KAAA,CAAMla,IAAO,GAAAga,KAAA,CAAME,MAAMC,QAAY,IAAA,CAAA;EAElD,OAAA6N,GAAA,CAAAliB,IAAA,KAAAA,IAAA,GAAGmW,8OAYkC,6HAOT,EAAA,kBAAA,EACD,4BACY,uBACF,EAAA,uBAAA,EAItC,yFAKgB,EAAA,mBAAA,EACC,qBACkB,EAAA,oBAAA,EACD,8BACY,yBACC,EAAA,sHAAA,EAU/C,yFAOA,EAAA,uJAAA,EASiD,uBAIjD,EAAA,2CAAA,EAEgD,0GAMI,uBACd,EAAA,6CAAA,EAGM,sHAMQ,EAAA,uBAAA,EACd,6CAGM,EAAA,uBAAA,CAAA,CAAA,CAAA,EA5E/Brf,IAAIod,KAAM,CAAAE,KAAA,CAAMla,IAAO,GAAA,CAAC,CAO7B,EAAApD,GAAA,CAAIod,MAAME,KAAM,CAAAla,IAAI,CACrB,EAAApD,GAAA,CAAIod,KAAM,CAAAE,KAAA,CAAMla,IAAI,CACZ,EAAApD,GAAA,CAAIod,KAAM,CAAAE,KAAA,CAAMla,IAAO,GAAA,CAAC,GAC3BuY,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAAA,EACzBiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CAAA,EAKQxI,GAAI,CAAAiqC,IAAI,CACP,EAAAjqC,GAAA,CAAIiqC,IAAI,CAAA,EACNjqC,GAAI,CAAAod,KAAA,CAAME,KAAM,CAAAC,QAAQ,CACzB,EAAAvd,GAAA,CAAIod,KAAM,CAAAE,KAAA,CAAMC,QAAQ,CAAA,EAChBvd,GAAI,CAAAod,KAAA,CAAME,KAAM,CAAAC,QAAA,GAAW,CAAC,CAAA,EAC/B5B,OAAQ,CAAAjC,OAAA,CAAQ,gBAAgB,CAAA,EAOlCkM,cAAe,CAAA;IAC3BrR,MAAA,EAAQ;MAAC/L,KAAA,EAAO4U,KAAM,CAAA7I,MAAA,CAAO/L;MAAO8P,KAAO,EAAAqD,OAAA,CAAQjC,OAAQ,CAAA,aAAa;IAAC,CAAA;IACzE+C;EACD,CAAA,GAIakJ,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CASmB,EAAAmT,OAAA,CAAQ5B,QAAS,CAAA,aAAa,GACpC4L,oBAAqB,CAAA;IACjCnd,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L,KAAA;IACpB8P,KAAA,EAAOqD,OAAQ,CAAA5B,QAAA,CAAS,gBAAgB;EACzC,CAAA,CAAA,EAEe4B,OAAQ,CAAA5B,QAAA,CAAS,gBAAgB,CAAA,EAMzB4B,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,EACvCiC,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAAA,EAGvBiC,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,EAMrBiC,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,EACvCiC,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAAA,EAGvBiC,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,CAAA;AAInD;ACzGA,MAAM+T,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAIoc,cAAc,CAAA;AACtC,MAAMpR,OAAA,GAAQjL,MAAO,CAAAtQ,KAAA,CAAM4sB,iBAAiB,CAAA;AAKrC,MAAME,KAAQ,GAAAnc,UAAA,CAAW,SAASmc,MAAAA,CACvChpC,OACA23B,YACA,EAAA;EACM,MAAA;IAACE;IAAWjD,QAAU;IAAAh2B,KAAA;IAAOwiB;IAAgB2W,QAAU;IAAA,GAAG5K;EAAa,CAAA,GAAAntB,KAAA;EACvE,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExCxW,iBAAA,CAAkBF,KAAKG,cAAc,CAAA;EAErC,OACG,eAAAtC,IAAA,CAAAyN,MAAA,EAAA;IAAKsL,SAAsB;IAAA,SAAA,EAAQ;IAAQj5B,KAC1C;IAAA+e,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,OAAA,EAAA;MACC,gBAAgB,EAAA,CAAC7C,QAAY,IAAAmD,QAAA,GAAW,EAAK,GAAA,KAAA,CAAA;MAC7C,YAAA,EAAY3W,iBAAiB,EAAK,GAAA,KAAA,CAAA;MACjC,GAAG+L,SAAA;MACJyH,UAAUA,QAAY,IAAAmD,QAAA;MACtBA,QAAA;MACA9W,GAAA;MACAtY,IAAK,EAAA;IAAA,CACP,CAAA,EAAA,mBACC,MAAK,EAAA,EAAA,CAAA;EACR,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;ACzCD,IAAAlB,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,IAAA;AAcA,SAASN,SAAoCA,CAAA,EAAA;EAC3C,OAAOtb,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,kHAAA,CAAA,CAAA,CAAA,CAAA;AAQZ;AAEA,SAAS8qB,eAAejpC,KAA2C,EAAA;EAC3D,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAAsqB,IAAA,GAAOvqB,KAAM,CAAAO,MAAA,CAAOO,KAAM,CAAAsa,IAAA;EAEzB,OAAA+O,GAAA,CAAAliB,IAAA,KAAAA,IAAA,GAAGmW,YAIkB,CAAA,CAAA,sGAAA,EAAA,gIAAA,CAAA,CAAA,CAAA,EAAXmM,IAAK,CAAAxpB,MAAA,CAAA;AAUxB;AAEA,SAASooC,gBAAgBlpC,KAAmB,EAAA;EACpC,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAChB,MAAA;IAACib;EAAS,CAAA,GAAIW,KAAM,CAAAO,MAAA;EAEnB,OAAAyN,GAAA,CAAAF,IAAA,KAAAA,IAAA,GAAG7L,6DAEsC,gBACN,EAAA,qBAAA,EAItC,mHAKsD,oBACZ,EAAA,yBAAA,EAItC,0FASF,EAAA,oFAAA,EAK4C,kBACN,EAAA,uBAAA,EAItC,oGAK4C,kBACN,EAAA,uBAAA,EAItC,cA5CgB,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GACpCiC,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAAA,EACzBiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EAAA,CACrB,CAKuB,EAAAmT,OAAA,CAAQjC,OAAQ,CAAA,eAAe,GAC1CiC,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAAA,EACzBiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,mBAAmB,CAAA;IAC1ClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,GAMWod,cAAe,CAAA;IAC3BrR,MAAA,EAAQ;MAAC/L,KAAA,EAAO4U,KAAM,CAAA7I,MAAA,CAAO/L;MAAO8P,KAAO,EAAAqD,OAAA,CAAQjC,OAAQ,CAAA,aAAa;IAAC,CAAA;IACzE+C;EAAA,CACD,CAKmB,EAAAd,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GACpCiC,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAAA,EACzBiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EAAA,CACrB,CAKmB,EAAAmT,OAAA,CAAQjC,OAAQ,CAAA,SAAS,GACpCiC,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAAA,EACzBiM,oBAAqB,CAAA;IACjCrN,KAAA,EAAOqD,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA;IACpClR,KAAA,EAAO4U,MAAM7I,MAAO,CAAA/L;EACrB,CAAA,CAAA,CAAA;AAGP;AAEA,SAAS6hC,SAASjnC,IAAqB,EAAA;EAC9B,OAAA;IAACD,QAAU,EAAAnD,GAAA,CAAIoD,IAAK,CAAAD,QAAQ;IAAGM,UAAY,EAAAzD,GAAA,CAAIoD,IAAK,CAAAK,UAAU;GAAC;AACxE;AAEA,SAAS6mC,mBAAmBppC,KAA2C,EAAA;EAC/D,MAAA;IAACD,KAAO;IAAAkpB;EAAa,CAAA,GAAAjpB,KAAA;EAC3B,MAAM;IAACe;EAAA,CAAS,GAAAhB,KAAA,CAAMO,OAAOO,KAAM,CAAAsa,IAAA;EAE5B,OAAAlc,WAAA,CAAYc,MAAMO,MAAO,CAAApB,KAAA,EAAO+pB,SAAA,EAAYjnB,aACjDmnC,QAAS,CAAApoC,KAAA,CAAMiB,SAAS,CAAK,IAAAjB,KAAA,CAAM,CAAC,CAAC,CAAA,CACvC;AACF;AAEA,SAASsoC,UASPA,CAAA,EAAA;EACO,OAAA,CACL3d,qBAAA,EACAud,cAAA,EACAC,eAAA,EACAE,kBAAA,EACArf,oCAAA,CACF;AACF;AAEA,SAASuf,YAAuCA,CAAA,EAAA;EAC9C,OAAOpf,oBAAG/L,YAO0B,CAAA,CAAA,6GAAA,EAAA,IAAA,EAAoC,sHAKhC,EAAA,IAAA,EAAoC,+EAMtC,IAAoC,EAAA,4EAAA,EAKpC,IAAoC,EAAA,cAAA,CAAA,CAAA,CAAA,EAhBtEhE,qBAAqB,UAAU,CAAA,EAAMM,OAAQ,CAAAjC,OAAA,CAAQ,cAAc,CAK/D,EAAA2B,oBAAA,CAAqB,UAAU,CAAA,EAAMM,QAAQjC,OAAQ,CAAA,cAAc,CAMrE,EAAA2B,oBAAA,CAAqB,UAAU,CAAM,EAAAM,OAAA,CAAQjC,OAAQ,CAAA,cAAc,GAKnE2B,oBAAqB,CAAA,UAAU,CAAM,EAAAM,OAAA,CAAQjC,QAAQ,cAAc,CAAA,CAAA;AAG3E;AAEO,MAAM+wB,WAAc,GAAA;EACzB3rB,IAAM,EAAA4nB,SAAA;EACNtpB,KAAO,EAAAmtB,UAAA;EACPG,OAAS,EAAAF;AACX,CAAA;AClJA,MAAM/c,MAAO,GAAAC,MAAA,CAAOC,GAAI,CAAA8c,WAAA,CAAY3rB,IAAI,CAAA;AAExC,MAAM6Z,OAAQ,GAAAjL,MAAA,CAAO/P,MAKlB,CAAA8sB,WAAA,CAAYrtB,KAAK,CAAA;AAEpB,MAAMutB,OAAU,GAAAjd,MAAA,CAAOyG,GAAG,CAAA,CAAEsW,YAAYC,OAAO,CAAA;AAKxC,MAAME,MAAS,GAAA7c,UAAA,CAAW,SAAS6c,OAAAA,CACxC1pC,OACA23B,YACA,EAAA;EACM,MAAA;IACJha,QAAA;IACAyD,cAAA;IACAwT,QAAA;IACA3yB,QAAW,GAAA,CAAA;IACXV,OAAU,GAAA,CAAA;IACVsa,MAAS,GAAA,CAAA;IACTkc,QAAA;IACAv3B,KAAQ,GAAA,CAAA;IACR,GAAG2sB;EACD,CAAA,GAAAntB,KAAA;EAEE,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExCxW,iBAAA,CAAkBF,KAAKG,cAAc,CAAA;EAGnC,OAAA,eAAAtC,IAAA,CAACyN,MAAK,EAAA;IAAA,SAAA,EAAQ,QACZ;IAAA5O,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,OAAA,EAAA;MACC,gBAAgB,EAAA,CAAC7C,QAAY,IAAAmD,QAAA,GAAW,EAAK,GAAA,KAAA,CAAA;MAC7C,SAAQ,EAAA,QAAA;MACP,GAAG5K,SAAA;MACJlE,SAAA,EAAWxlB,aAAaxB,QAAQ,CAAA;MAChCmnB,QAAA,EAAU3lB,aAAalC,OAAO,CAAA;MAC9BoqB,OAAA,EAASloB,aAAaoY,MAAM,CAAA;MAC5BwN,MAAA,EAAQ5lB,aAAajD,KAAK,CAAA;MAC1Bo0B,UAAUA,QAAY,IAAAmD,QAAA;MACtB9W,GAAA;MAECtD;IAAA,CACH,CAAA,EAAA,eAEAI,GAAA,CAAC0rB,OAAQ,EAAA;MAAAloC,OAAA;MACPoc,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;QAAK1qB,MAAMD,QACV;QAAA0b,QAAA,EAAA,eAAAI,GAAA,CAAC4rB,UAAW,EAAA,CAAA,CAAA;MACd,CAAA;KACF,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;ACtED,MAAM7nB,UAAwB,GAAA;EAC5B,kBAAoB,EAAA;IAClBpgB,OAAS,EAAA;EACX,CAAA;EACA,iCAAmC,EAAA;IACjCqgB,SAAW,EAAA;EACb,CAAA;EACA0E,mBAAqB,EAAA,gBAAA;EACrBN,YAAc,EAAA;AAChB,CAAA;AAEO,SAASyjB,cAA4BA,CAAA,EAAA;EACnC,OAAA9nB,UAAA;AACT;AAEO,SAAS+nB,0BACd7pC,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EAChB,MAAM;IAACd,KAAA;IAAOsB;GAAK,GAAIT,KAAM,CAAAO,MAAA;EAE7B,OAAOrB,WAAY,CAAAC,KAAA,EAAOc,KAAM,CAAAqpB,MAAA,EAAS9oB,UAAgB,KAAA;IACvDsmB,OAAS,EAAA/nB,GAAA,CAAI0B,KAAM,CAAAD,UAAU,CAAC;EAC9B,CAAA,CAAA,CAAA;AACJ;ACjBA,MAAMgsB,MAAO,GAAAC,MAAA,CAAOyG,GAAG,CAAA,CAAkC2W,gBAAgBC,yBAAyB,CAAA;AAK3F,MAAMC,KAAQ,GAAAjd,UAAA,CAAW,SAASid,MAAAA,CACvC9pC,OACAihB,GACA,EAAA;EACA,MAAM;IAACqO,EAAA;IAAI9uB,KAAO;IAAA,GAAG2sB;GAAa,GAAAntB,KAAA;EAGhC,sBAAA+d,GAAA,CAACwO,MAAA,EAAA;IACC,SAAS,EAAA,OAAO+C,EAAO,KAAA,QAAA,GAAWA,EAAK,GAAA,KAAA,CAAA;IACvC,SAAQ,EAAA,OAAA;IACP,GAAGnC,SAAA;IACJ9D,MAAA,EAAQ5lB,aAAajD,KAAK,CAAA;IAC1BqzB,WAAa,EAAAvE,EAAA;IACbrO;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;;;;;;ACnCD,IAAAxZ,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,EAAA;AAMO,SAAS8D,gBAA2CA,CAAA,EAAA;EACzD,OAAO7f,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2FAAA,CAAA,CAAA,CAAA,CAAA;AAMZ;AAGO,SAAS6rB,iBAA4CA,CAAA,EAAA;EAE1D,OAAO9f,GAAG,CAAAliB,IAAA,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,2RAAA,CAAA,CAAA,CAAA,CAAA;AAgBZ;AAGO,SAAS8rB,2BAA2BjqC,KAA2C,EAAA;EAC9E,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAChB,MAAA;IAACib;EAAS,CAAA,GAAIW,KAAM,CAAAI,MAAA;EAE1B,OAAO4N,oBAAG/L,YAC2C,CAAA,CAAA,2BAAA,EAAA,4BAAA,EACJ,kIAOf,iBACE,EAAA,wBAAA,EACW,icAoBO,wJAQI,EAAA,8BAAA,EACN,+GAKK,EAAA,gCAAA,EACJ,8FAIO,gCACN,EAAA,iGAAA,EAKC,gCACJ,kFAII,EAAA,8BAAA,EACJ,mBA7D5B1D,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,EAC7BiC,QAAQjC,OAAQ,CAAA,SAAS,GAOrC1Z,GAAI,CAAAod,KAAA,CAAMI,OAAOhV,KAAK,CAAA,EACrBxI,GAAI,CAAAod,KAAA,CAAMI,OAAO3a,MAAM,CAAA,EAChB7C,IAAIod,KAAM,CAAAI,MAAA,CAAO3a,SAAS,CAAC,CAAA,EAoBnB+iB,cAAe,CAAA;IAACnJ;GAAU,CAAA,EAQ5Bd,QAAQ/B,QAAS,CAAA,eAAe,GAChC+B,OAAQ,CAAA/B,QAAA,CAAS,SAAS,CAAA,EAKxB+B,QAAQjC,OAAQ,CAAA,aAAa,GAC7BiC,OAAQ,CAAAjC,OAAA,CAAQ,SAAS,CAIzB,EAAAiC,OAAA,CAAQ/B,QAAS,CAAA,eAAe,GAChC+B,OAAQ,CAAA/B,QAAA,CAAS,SAAS,CAK5B,EAAA+B,OAAA,CAAQjC,QAAQ,aAAa,CAAA,EAC7BiC,QAAQjC,OAAQ,CAAA,SAAS,GAIzBiC,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAC7B,EAAAiC,OAAA,CAAQjC,QAAQ,SAAS,CAAA,CAAA;AAGpD;AAGO,SAAS0xB,kBAAkBlqC,KAA2C,EAAA;EACrE,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAEtB,OAAO4pB,oBAAG/L,YAQwB,CAAA,CAAA,uKAAA,EAAA,iBAAA,EACE,0BACW,OAFpC,CAAA,CAAA,CAAA,EAAArf,GAAA,CAAIod,MAAMI,MAAO,CAAAhV,KAAK,GACrBxI,GAAI,CAAAod,KAAA,CAAMI,OAAO3a,MAAM,CAAA,EAChB7C,IAAIod,KAAM,CAAAI,MAAA,CAAO3a,SAAS,CAAC,CAAA,CAAA;AAEhD;AAGO,SAASwoC,kBACdnqC,KACwB,EAAA;EAClB,MAAA;IAACoqC,cAAgB;IAAArqC;EAAS,CAAA,GAAAC,KAAA;EAC1B,MAAA;IAACkc;EAAK,CAAA,GAAInc,KAAM,CAAAO,MAAA;EAChB,MAAA+pC,UAAA,GAAanuB,MAAMI,MAAO,CAAAhV,KAAA;EAC1B,MAAAgjC,WAAA,GAAcpuB,MAAMI,MAAO,CAAA3a,MAAA;EAC3B,MAAA4oC,YAAA,GAAeruB,MAAMI,MAAO,CAAA/a,OAAA;EAClC,MAAMW,IAAO,GAAAooC,WAAA,GAAcpuB,KAAM,CAAAI,MAAA,CAAO/a,OAAU,GAAA,CAAA;EAC5C,MAAAipC,aAAA,GAAgBH,UAAa,GAAAE,YAAA,GAAe,CAAI,GAAAroC,IAAA;EACtD,MAAMuoC,mBAAsB,GAAAJ,UAAA,GAAa,CAAI,GAAAnoC,IAAA,GAAO,CAAI,GAAAqoC,YAAA;EACxD,MAAM3S,OAAU,GAAAwS,cAAA,KAAmB,IAAQ,IAAApqC,KAAA,CAAM0qC,QAAa,KAAA,IAAA;EAE9D,OAAOxgB,gBAAG/L,YAKiB,CAAA,CAAA,4FAAA,EAAA,cAAA,EACD,mBACL,gBACD,EAAA,wBAAA,EACY,qEAE0B,uCACW,EAAA,+IAAA,EAQlE,UAKA,EAAA,MAAA,CAAA,CAAA,CAAA,EApBOrf,IAAIyrC,YAAY,CAAA,EACjBzrC,IAAIyrC,YAAY,CAAA,EACbzrC,IAAIoD,IAAI,CAAA,EACTpD,GAAI,CAAAoD,IAAI,GACApD,GAAI,CAAAoD,IAAA,GAAO,CAAC,CAEN,EAAAga,KAAA,CAAMI,OAAOC,oBACN,EAAAL,KAAA,CAAMI,OAAOE,wBAKzC,EAAAob,OAAA,IACF1N,oBAAG/L,YACqC,CAAA,CAAA,iCAAA,EAAA,kBAAA,CAAA,CAAA,CAAA,EAAbqsB,gBAGzBJ,cACF,IAAAlgB,GAAA,CAAA8b,IAAA,KAAAA,IAAA,GAAG7nB,iDAC2C,kBAAnB,CAAA,CAAA,CAAA,EAAAssB,mBAAA,CAAA,CAAA;AAG/B;ACvJA,MAAMle,MAAA,GAAOC,MAAO,CAAAG,IAAA,CAAKod,gBAAgB,CAAA;AACzC,MAAMtS,OAAA,GAAQjL,MAAO,CAAAtQ,KAAA,CAAM8tB,iBAAiB,CAAA;AAC5C,MAAMW,cAAA,GAAiBne,MAAO,CAAAG,IAAA,CAAKsd,0BAA0B,CAAA;AAC7D,MAAMW,KAAA,GAAQpe,MAAO,CAAAG,IAAA,CAAKud,iBAAiB,CAAA;AAC3C,MAAMW,KAAA,GAAQre,MAAO,CAAAG,IAAA,CAAqDwd,iBAAiB,CAAA;AAKpF,MAAMW,MAAS,GAAAje,UAAA,CAAW,SAASie,OAAAA,CACxC9qC,OACA23B,YACA,EAAA;EACM,MAAA;IAACC;IAASC,SAAW;IAAAjD,QAAA;IAAUkD;IAAeC,QAAU;IAAAn5B,KAAA;IAAO,GAAGuuB;EAAa,CAAA,GAAAntB,KAAA;EAC/E,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExC5yB,SAAA,CAAU,MAAM;IACd,IAAIkc,IAAIhc,OAAS,EAAA;MAEXgc,GAAA,CAAAhc,OAAA,CAAQ6yB,gBAAgBA,aAAiB,IAAA,KAAA;IAC/C;EAAA,CACC,EAAA,CAACA,aAAe,EAAA7W,GAAG,CAAC,CAAA;EAEvB,OACG,eAAAnC,IAAA,CAAAyN,MAAA,EAAA;IAAKsL,SAAsB;IAAA,SAAA,EAAQ;IAASj5B,KAC3C;IAAA+e,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,OAAA,EAAA;MACC,gBAAgB,EAAA,CAAC7C,QAAY,IAAAmD,QAAA,GAAW,EAAK,GAAA,KAAA,CAAA;MAC5C,GAAG5K,SAAA;MACJyK,OAAA,EAASE,kBAAkB,IAAQ,IAAAF,OAAA;MACnChD,UAAUA,QAAY,IAAAmD,QAAA;MACtBpvB,IAAK,EAAA,UAAA;MACLsY;IAAA,CACF,CAAA,EAAA,eACCnC,IAAA,CAAA6rB,cAAA,EAAA;MAAe,aAAW,EAAA,IAAA;MAAC,aAAU,gBACpC;MAAAhtB,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC6sB,KAAM,EAAA,EAAA,CAAA,EAAA,eACN7sB,GAAA,CAAA8sB,KAAA,EAAA;QAAMH,QAAU,EAAA9S,OAAA;QAASwS,gBAAgBtS;OAAe,CAAA;KAC3D,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;ACzDD,IAAArwB,IAAA;AA8BA,MAAM8kB,MAAA,GAAOC,MAAO,CAAAG,IAAA,CAAKxC,kBAAkB,CAAA;AAE3C,MAAM4gB,WAAA,GAAYve,MAAO,CAAAG,IAAA,CAAPllB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2EAAA,CAAA,CAAA,CAAA,CAAA;AAO7B,MAAMsZ,UAAQjL,MAAO,CAAAwe,QAAA,CACnBhiB,2BAAA,EACAoB,kBAAA,EACAG,sBACF,CAAA;AAEA,MAAM0gB,iBAAeze,MAAO,CAAAC,GAAA,CAC1Bf,qBAAA,EACAlB,4BACF,CAAA;AAKO,MAAM0gB,QAAW,GAAAre,UAAA,CAAW,SAASqe,SAAAA,CAC1ClrC,OACA23B,YACA,EAAA;EACM,MAAA;IACJtkB,MAAS,GAAA,IAAA;IACT+N,cAAA;IACAwT,QAAW,GAAA,KAAA;IACX3yB,QAAW,GAAA,CAAA;IACXV,OAAU,GAAA,CAAA;IACVsa,MAAS,GAAA,CAAA;IACTqR,MAAA;IACAjU,IAAO,GAAA,SAAA;IACP,GAAGkU;EACD,CAAA,GAAAntB,KAAA;EAEE,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExCxW,iBAAA,CAAkBF,KAAKG,cAAc,CAAA;EAErC,sBACGrD,GAAA,CAAAwO,MAAA,EAAA;IAAK,SAAQ,EAAA,UAAA;IACZ5O,8BAACotB,WACC,EAAA;MAAAptB,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,OAAA,EAAA;QACC,SAAQ,EAAA,UAAA;QACR,WAAW,EAAAxe,IAAA;QACV,GAAGkU,SAAA;QACJlE,SAAA,EAAWxlB,aAAaxB,QAAQ,CAAA;QAChCmnB,QAAA,EAAU3lB,aAAalC,OAAO,CAAA;QAC9B8nB,MAAA,EAAQ5lB,aAAa,CAAC,CAAA;QACtB4mB,KAAO,EAAApR,IAAA;QACPrY,OAAS,EAAAssB,MAAA;QACT0H,QAAA;QACA3T;MAAA,CACF,CAAA,EAAA,eACAlD,GAAA,CAACktB,cAAA,EAAA;QACCtf,OAAA,EAASloB,aAAaoY,MAAM,CAAA;QAC5BwO,KAAO,EAAApR,IAAA;QACP,aAAA,EAAa5F,SAAS,EAAK,GAAA,KAAA,CAAA;QAC3B,WAAW,EAAA4F;MAAA,CACb,CAAA;IACF,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;ACjGD,IAAAxR,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,IAAA,EAAAC,IAAA,EAAAC,IAAA;AA4EA,MAAMmF,sBAAA,GAA8C;EAAChd,MAAA,EAAQ;CAAC;AAE9D,MAAM5B,MAAA,GAAOC,MAAO,CAAAuK,IAAI,CAAE,CAAAqU,KAAA,CAAM;EAACvX,WAAa,EAAA;AAAA,CAAO,CAAA,CAAE1J,kBAAkB,CAAA;AAEzE,MAAM4gB,SAAA,GAAYve,MAAO,CAAAG,IAAA,CAAPllB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2EAAA,CAAA,CAAA,CAAA,CAAA;AAO7B,MAAMktB,MAAA,GAAS7e,MAAO,CAAAuK,IAAI,CAAE,CAAAqU,KAAA,CAAM;EAACvX,WAAa,EAAA;AAAA,CAAO,CAAA,CAAxC7rB,IAAyC,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,kIAAA,CAAA,CAAA,CAAA,CAAA;AAUxD,MAAMmtB,MAAA,GAAS9e,MAAO,CAAAuK,IAAI,CAAE,CAAAqU,KAAA,CAAM;EAACvX,WAAa,EAAA;AAAA,CAAO,CAAA,CAAxC7J,IAAyC,KAAAA,IAAA,GAAA7L,YAAA,CAAA,CAAA,gIAAA,CAAA,CAAA,CAAA,CAAA;AAUxD,MAAMsZ,QAAQjL,MAAO,CAAAtQ,KAAA,CACnB8M,2BAAA,EACAoB,kBAAA,EACAG,sBACF,CAAA;AAEA,MAAM0gB,eAAeze,MAAO,CAAAG,IAAA,CAC1BjB,qBAAA,EACAlB,4BACF,CAAA;AAEA,MAAM+gB,OAAU,GAAA/e,MAAA,CAAOyG,GAAG,CAAA,CAAV6S,IAAW,KAAAA,IAAA,GAAA3nB,YAAA,CAAA,CAAA,kDAAA,CAAA,CAAA,CAAA,CAAA;AAM3B,MAAMqtB,QAAW,GAAAhf,MAAA,CAAOyG,GAAG,CAAA,CAAV8S,IAAW,KAAAA,IAAA,GAAA5nB,YAAA,CAAA,CAAA,mDAAA,CAAA,CAAA,CAAA,CAAA;AAM5B,MAAMstB,SAAY,GAAAjf,MAAA,CAAOuK,IAAI,CAAA,CAAXiP,IAAY,KAAAA,IAAA,GAAA7nB,YAAA,CAAA,CAAA,qFAAA,CAAA,CAAA,CAAA,CAAA;AAO9B,MAAMutB,oBAAA,GAAuBlf,MAAO,CAAAmI,MAAM,CAAE,CAAA;EAC1C,iBAAmB,EAAA;IACjBjzB,OAAS,EAAA;EACX;AACF,CAAC,CAAA;AAKM,MAAMiqC,SAAY,GAAA9e,UAAA,CAAW,SAAS8e,UAAAA,CAC3C3rC,OACA23B,YACA,EAAA;EACM,MAAA;IACJtkB,MAAS,GAAA,IAAA;IACTu4B,WAAA;IACAhX,QAAW,GAAA,KAAA;IACX3yB,UAAU4pC,YAAe,GAAA,CAAA;IACzBhX,IAAA;IACAC,SAAA;IACAgX,OAAA;IACAvqC,SAAS0zB,WAAc,GAAA,CAAA;IACvB8W,MAAA;IACAlwB,QAAQ2Z,UAAa,GAAA,CAAA;IACrBuC,QAAA;IACAv3B,OAAOk1B,SAAY,GAAA,CAAA;IACnBsW,MAAA;IACA5qB,cAAA;IACAzY,IAAO,GAAA,MAAA;IACPukB,MAAA;IACAjU,MAAMme,QAAW,GAAA,SAAA;IACjB,GAAGjK;EACD,CAAA,GAAAntB,KAAA;EAEE,MAAAihB,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExC,MAAML,cAAchW,cAAe,EAAA;EACnC,MAAMrI,IAAO,GAAAme,QAAA,KAAa,SAAY,GAAAE,WAAA,CAAYre,IAAO,GAAAme,QAAA;EAEnD,MAAAn1B,QAAA,GAAWwB,aAAaooC,YAAY,CAAA;EACpC,MAAAtqC,OAAA,GAAUkC,aAAawxB,WAAW,CAAA;EAClC,MAAApZ,MAAA,GAASpY,aAAa+xB,UAAU,CAAA;EAChC,MAAAh1B,KAAA,GAAQiD,aAAaiyB,SAAS,CAAA;EAG9B,MAAAuW,eAAA,GAAkB5nC,QAAQunC,WAAW,CAAA;EACrC,MAAAM,QAAA,GAAW7nC,QAAQwwB,IAAI,CAAA;EACvB,MAAAsX,aAAA,GAAgB9nC,QAAQywB,SAAS,CAAA;EACjC,MAAApK,UAAA,GAAarmB,QAAQ2nC,MAAM,CAAA;EAC3B,MAAAvhB,UAAA,GAAapmB,QAAQ0nC,MAAM,CAAA;EAEjC5qB,iBAAA,CAAkBF,KAAKG,cAAc,CAAA;EAG/B,MAAAgrB,oBAAA,GAAuBvb,WAAY,CAACxqB,KAA+C,IAAA;IACvFA,KAAA,CAAMgmC,cAAe,CAAA,CAAA;IACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;EACxB,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMC,gBAAmB,GAAA1b,WAAA,CACtBxqB,KAA+C,IAAA;IArMpDoB,IAAAA,GAAAA;IAsMMpB,KAAA,CAAMgmC,cAAe,CAAA,CAAA;IACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;IAElB,IAAAR,OAAA,EAAiBA,OAAA,EAAA;IAGrB,CAAArkC,GAAA,GAAAwZ,GAAA,CAAIhc,OAAJ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAwC,GAAa,CAAAw1B,KAAA,EAAA;EACf,CAAA,EACA,CAAC6O,SAAS7qB,GAAG,CAAA,CACf;EAGA,MAAMurB,UAAa,GAAA7oC,OAAA,CACjB,MACEooC,MACE,IAAA,eAAAhuB,GAAA,CAACstB;IAAOlgC,SAAS,EAAA,IAAA;IAACM,YAAU,IAAC;IAAAF,YAAA,EAAY,IAAC;IAAAsQ,MAAA;IAAgB+G,QAAO,QAAS;IAAA3J,IAAA,EAAK;IAC7E0E,QAAC,EAAA,eAAAI,GAAA,CAAA,MAAA,EAAA;MAAMJ;IAAO,CAAA;GAChB,CAAA,EAEJ,CAACouB,QAAQlwB,MAAM,CAAA,CACjB;EAGA,MAAM4wB,gBAAmB,GAAA9oC,OAAA,CACvB,qBACEmb,IAAA,CAACmsB,YAAA,EAAA;IACCxgB,UAAA;IACAC,UAAA;IACAiB,OAAS,EAAA9P,MAAA;IACTwO,KAAO,EAAApR,IAAA;IACP,aAAA,EAAa5F,SAAS,EAAK,GAAA,KAAA,CAAA;IAC3B,WAAW,EAAA4F,IAAA;IAEV0E,QAAA,EAAA,CAAAkX,IAAA,uBACE0W,OAAQ,EAAA;MAAAhqC,OAAA;MACPoc,QAAC,iBAAAmB,IAAA,CAAA8N,IAAA,EAAA;QAAK1qB,MAAMD,QACT;QAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAef,IAAI,CAAK,IAAAA,IAAA,EACxB5E,kBAAmB,CAAA4E,IAAI,CAAK,IAAAgB,aAAA,CAAchB,IAAI,CAAA;MAAA,CACjD;IACF,CAAA,CAAA,EAGD,CAACoX,mBAAmBnX,SACnB,IAAA,eAAA/W,GAAA,CAACytB;MAASjqC,OACR;MAAAoc,QAAA,EAAA,eAAAmB,IAAA,CAAC8N,IAAK,EAAA;QAAA1qB,IAAA,EAAMD,QACT;QAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAed,SAAS,CAAK,IAAAA,SAAA,EAC7B7E,kBAAmB,CAAA6E,SAAS,CAAK,IAAAe,aAAA,CAAcf,SAAS,CAAA;MAAA,CAC3D;IACF,CAAA,CAAA;EAAA,CAEJ,CAAA,EAEF,CACEzhB,MAAA,EACApR,QAAA,EACA4yB,IAAA,EACAC,SAAA,EACAvzB,OAAA,EACAsa,MAAA,EACAowB,eAAA,EACAxhB,UAAA,EACAC,UAAA,EACAzR,IAAA,CACF,CACF;EAGA,MAAMyzB,qBAAwB,GAAA/oC,OAAA,CAC5B,MACEpC,OAAA,CAAQjC,GAAI,CAAC8+B,CAAM,IAAA;IACjB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IAEpB,OAAOA,CAAI,GAAA,CAAA;EAAA,CACZ,CAAA,EACH,CAAC78B,OAAO,CAAA,CACV;EACA,MAAMorC,kBAAqB,GAAAhpC,OAAA,CACzB,MACEpC,OAAA,CAAQjC,GAAI,CAAC8+B,CAAM,IAAA;IACjB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IAEpB,OAAOA,CAAI,GAAA,CAAA;EAAA,CACZ,CAAA,EACH,CAAC78B,OAAO,CAAA,CACV;EACA,MAAMqrC,gBAA8C,GAAAjpC,OAAA,CAClD,MAAO,OAAOioC,WAAgB,KAAA,QAAA,GAAWA,WAAc,GAAA1tC,YAAA,EACvD,CAAC0tC,WAAW,CAAA,CACd;EACA,MAAMiB,eAAkB,GAAAlpC,OAAA,CACtB,MACE,CAACixB,QACD,IAAA,CAACmD,YACD6T,WACE,IAAA,eAAA7tB,GAAA,CAAC0tB,SAAA,EAAA;IACC5X,WAAY,EAAA,MAAA;IACZtyB,OAAS,EAAAmrC,qBAAA;IACT9tC,KAAO,EAAAusC,sBAAA;IACPlyB,IAAA,EAAMmI,iBAAiB,UAAa,GAAA,SAAA;IAEpCzD,QAAA,iBAAAI,GAAA,CAAC2tB,oBAAA,EAAA;MACC,YAAW,EAAA,OAAA;MACX,SAAQ,EAAA,cAAA;MACRzpC,QAAA;MACA4yB,IAAM,EAAAiY,SAAA;MACNnZ,IAAK,EAAA,OAAA;MACLpyB,OAAS,EAAAorC,kBAAA;MACT9wB,MAAA;MACC,GAAG+wB,gBAAA;MACJG,OAAS,EAAAR,gBAAA;MACTS,WAAa,EAAAZ;IAAA,CACf;EAAA,CACF,CAAA,EAEJ,CACER,WAAA,EACAc,qBAAA,EACAC,kBAAA,EACAC,gBAAA,EACAxrB,cAAA,EACAwT,QAAA,EACA3yB,QAAA,EACAsqC,gBAAA,EACAH,oBAAA,EACAvwB,MAAA,EACAkc,QAAA,CACF,CACF;EAGA,MAAMkV,UAAa,GAAAtpC,OAAA,CACjB,MACEqoC,MACE,IAAA,eAAAjuB,GAAA,CAACutB;IAAOngC,SAAS,EAAA,IAAA;IAACE,aAAW,IAAC;IAAAE,YAAA,EAAY,IAAC;IAAAsQ,MAAA;IAAgB+G,QAAO,QAAS;IAAA3J,IAAA,EAAK;IAC9E0E,QAAC,EAAA,eAAAI,GAAA,CAAA,MAAA,EAAA;MAAMJ;IAAO,CAAA;GAChB,CAAA,EAEJ,CAAC9B,QAAQmwB,MAAM,CAAA,CACjB;EAEA,OACG,eAAAltB,IAAA,CAAAyN,MAAA,EAAA;IAAK,SAAQ,EAAA,WAAA;IAAYtT,IACvB;IAAA0E,QAAA,EAAA,CAAA6uB,UAAA,EAAA,oBAEAzB,SACC,EAAA;MAAAptB,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC0Z,KAAA,EAAA;QACC,SAAQ,EAAA,OAAA;QACR,WAAW,EAAAxe,IAAA;QACV,GAAGkU,SAAA;QACJlE,SAAW,EAAAhnB,QAAA;QACXinB,SAAW,EAAAgjB,QAAA;QACX/iB,YAAYgjB,aAAiB,IAAAF,eAAA;QAC7B7iB,QAAU,EAAA7nB,OAAA;QACV8nB,MAAQ,EAAA7oB,KAAA;QACR6pB,KAAO,EAAApR,IAAA;QACPrY,OAAS,EAAAssB,MAAA;QACT0H,QAAA;QACAmD,QAAA;QACA9W,GAAA;QACAtY;MAAA,CACF,CAAA,EAEC8jC,gBAAA,EACAI,eAAA;KACH,CAAA,EAECI,UAAA;EACH,CAAA,CAAA;AAEJ,CAAC,CAAA;AC7WM,SAASC,gBACdC,YAC6D,EAAA;EAC7D,MAAM,CAAChS,KAAA,EAAOiS,QAAQ,CAAA,GAAI1oC,SAASyoC,YAAY,CAAA;EAC/C,MAAME,gBAAgBvoC,MAAmC,EAAA;EAEzD,MAAMwoC,aAAgB,GAAAzc,WAAA,CAAY,CAACsN,SAAA,EAA8BoP,KAAmB,KAAA;IAClF,MAAMC,SAASA,CAAA,KAAM;MACnBJ,QAAA,CAASjP,SAAS,CAAA;IAAA,CACpB;IAGA,IAAIkP,cAAcpoC,OAAS,EAAA;MACzBwoC,YAAA,CAAaJ,cAAcpoC,OAAO,CAAA;MAClCooC,aAAA,CAAcpoC,OAAU,GAAA,KAAA,CAAA;IAC1B;IAEA,IAAI,CAACsoC,KAAA,EAAO,OAAOC,MAAO,CAAA,CAAA;IACZH,aAAA,CAAApoC,OAAA,GAAUyoC,UAAW,CAAAF,MAAA,EAAQD,KAAK,CAAA;EAClD,CAAA,EAAG,EAAE,CAAA;EAEE,OAAA,CAACpS,OAAOmS,aAAa,CAAA;AAC9B;AC1BO,MAAM7K,2BAA8D,GAAA;EACzErkC,GAAK,EAAA,CAAC,QAAU,EAAA,MAAA,EAAQ,OAAO,CAAA;EAC/B,WAAa,EAAA,CAAC,cAAgB,EAAA,YAAA,EAAc,aAAa,CAAA;EACzD,SAAW,EAAA,CAAC,YAAc,EAAA,UAAA,EAAY,WAAW,CAAA;EACjDE,MAAQ,EAAA,CAAC,KAAO,EAAA,MAAA,EAAQ,OAAO,CAAA;EAC/B,cAAgB,EAAA,CAAC,WAAa,EAAA,YAAA,EAAc,aAAa,CAAA;EACzD,YAAc,EAAA,CAAC,SAAW,EAAA,UAAA,EAAY,WAAW,CAAA;EACjDC,IAAM,EAAA,CAAC,OAAS,EAAA,KAAA,EAAO,QAAQ,CAAA;EAC/B,YAAc,EAAA,CAAC,aAAe,EAAA,WAAA,EAAa,cAAc,CAAA;EACzD,UAAY,EAAA,CAAC,WAAa,EAAA,SAAA,EAAW,YAAY,CAAA;EACjDF,KAAO,EAAA,CAAC,MAAQ,EAAA,KAAA,EAAO,QAAQ,CAAA;EAC/B,aAAe,EAAA,CAAC,YAAc,EAAA,WAAA,EAAa,cAAc,CAAA;EACzD,WAAa,EAAA,CAAC,UAAY,EAAA,SAAA,EAAW,YAAY;AACnD,CAAA;;;;;;ACfA,IAAAoJ,IAAA,EAAAO,IAAA,EAAAgiB,IAAA;AAIA,MAAMuC,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAPhlB,IAAU,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,g2BAAA,CAAA,CAAA,CAAA,CAAA;AA6DvB,MAAMwvB,MAAA,GAASnhB,OAAOiY,IAAP,CAAAz8B,IAAA,KAAAA,IAAA,GAAWmW,4BAC4B,KAA5C,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,2BAA2B,CAAA,CAAA;AAGrD,MAAMo1B,KAAA,GAAQphB,OAAOiY,IAAP,CAAAza,IAAA,KAAAA,IAAA,GAAW7L,4BACY,KAA3B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQC,QAAQ,UAAU,CAAA,CAAA;AAK7B,MAAMmzB,YAAe,GAAAhhB,UAAA,CAAW,SAASghB,aAAAA,CAC9C7tC,OACAihB,GACA,EAAA;EACM,MAAA;IAAC,GAAGkM;EAAa,CAAA,GAAAntB,KAAA;EAEvB,OACG,eAAA+d,GAAA,CAAAwO,MAAA,EAAA;IAAK,SAAQ,EAAA,gBAAA;IAAkB,GAAGY,SAAW;IAAAlM,GAAA;IAC5CtD,QAAC,EAAA,eAAAmB,IAAA,CAAA,KAAA,EAAA;MAAIxX,KAAM,EAAA,IAAA;MAAK3F,MAAO,EAAA,IAAA;MAAKovB,SAAQ,WAClC;MAAApT,QAAA,EAAA,CAAC,eAAAI,GAAA,CAAA4vB,MAAA,EAAA;QAAO3c,GAAE;MAAmW,CAAA,CAAA,EAC7W,eAAAjT,GAAA,CAAC6vB,KAAM,EAAA;QAAA5c,CAAA,EAAE;MAAyL,CAAA,CAAA;IACpM,CAAA;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;ACrFD,MAAMnyB,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,sCAAsC,CAAA;AAE7DF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAoD,IAAI,CAAA;AAKlF,MAAAuwB,wBAAA,GACX1wB,YAAYve,KAAG,CAAA;ACLV,SAASkvC,oBAA6DA,CAAA,EAAA;EACrE,MAAArvC,KAAA,GAAQ8f,WAAWsvB,wBAAwB,CAAA;EAE1C,OAAApvC,KAAA;AACT;ACeO,SAASsvC,0BACdhuC,KACoB,EAAA;EACd,MAAA;IAAC2d,QAAU;IAAA4vB;EAAS,CAAA,GAAAvtC,KAAA;EAC1B,MAAM,CAACiuC,aAAA,EAAeC,gBAAgB,CAAA,GAAIhB,gBAAgB,KAAK,CAAA;EAC/D,MAAM,CAACiB,aAAA,EAAeC,gBAAgB,CAAA,GAAIlB,gBAA+B,IAAI,CAAA;EAE7E,MAAMmB,kBAAkBN,oBAAqB,EAAA;EAE7C,IAAIM,eAAiB,EAAA;IACnB,MAAM,IAAIhuC,KAAA,CACR,qFAAA,CACF;EACF;EAEA,MAAMiuC,YAAY,OAAOf,KAAA,KAAU,QAAW,GAAAA,KAAA,GAAA,CAAQA,+BAAO7G,IAAQ,KAAA,CAAA;EACrE,MAAM6H,aAAa,OAAOhB,KAAA,KAAU,QAAW,GAAAA,KAAA,GAAA,CAAQA,+BAAOiB,KAAS,KAAA,CAAA;EAEvE,MAAM9vC,KAAuC,GAAAiF,OAAA,CAC3C,OAAO;IACLsqC,aAAA;IACAC,gBAAA;IACAC,aAAA;IACAC,gBAAA;IAAA;IAEAE,SAAA,EAAWL,gBAAgB,CAAI,GAAAK,SAAA;IAC/BC;EAAA,CACF,CAAA,EACA,CAACA,UAAY,EAAAN,aAAA,EAAeK,SAAW,EAAAH,aAAA,EAAeD,kBAAkBE,gBAAgB,CAAA,CAC1F;EAEA,OACG,eAAArwB,GAAA,CAAA+vB,wBAAA,CAAyB9vB,QAAzB,EAAA;IAAkCtf;IAAeif;EAAS,CAAA,CAAA;AAE/D;;;;;;AC5DA,IAAAlW,IAAA;AA+DA,MAAM8kB,MAAO,GAAAC,MAAA,CAAOqS,KAAK,CAAA,CAAZp3B,IAAa,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,CAAA;AAOnB,MAAMswB,OAAU,GAAA5hB,UAAA,CAAW,SAAS4hB,QAAAA,CACzCzuC,OACAihB,GACA,EAAA;EAzEF,IAAAxZ,GAAA,EAAAO,EAAA,EAAAgiB,EAAA,EAAA8b,EAAA,EAAAC,EAAA;EA0EE,MAAMI,yBAAyBjM,kBAAmB,EAAA;EAClD,MAAMn6B,QAAQmf,QAAS,EAAA;EACjB,MAAA;IACJ1a,kBAAkB2hC,sBAAwB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,sBAAA,CAAApiC,OAAA;IAC1C4Z,QAAU,EAAA0oB,SAAA;IACV5kC,OAAA;IACAmzB,QAAA;IACA2R,kBAAA,EAAoBmI,sBAAyB,GAAA,CAAA1mC,EAAA,GAAAhI,KAAA,CAAMumC,kBAAN,KAAA,IAAA,GAAAv+B,EAAA,GAC3Cy6B,2BAA4Bh7B,CAAAA,CAAAA,GAAAA,GAAAzH,KAAM,CAAA6iC,SAAA,KAAN,IAAAp7B,GAAAA,GAAAA,GAAmB,QAAQ,CAAA;IACzDlG,OAAU,GAAA,CAAA;IACVshC,WAAW8D,aAAgB,GAAA,QAAA;IAC3BrH,MAAA;IACAtmB,MAAA;IACA8S,MAAS,GAAA,CAAA;IACTlP,OAAU,GAAA,CAAAoN,EAAA,GAAAjqB,KAAA,CAAMO,MAAO,CAAAoe,KAAA,KAAb,mBAAoB5B,OAAQ,CAAAF,OAAA;IACtC2wB,KAAA;IACA,GAAGpgB;EACD,CAAA,GAAAntB,KAAA;EACE,MAAAumC,kBAAA,GAAqB9iC,aAAairC,sBAAsB,CAAA;EACxD,MAAA/W,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EACxC,MAAM,CAAC6lB,gBAAA,EAAkB6H,mBAAmB,CAAA,GAAIjqC,SAA6B,IAAI,CAAA;EAC3E,MAAAwgC,QAAA,GAAWpgC,OAA8B,IAAI,CAAA;EACnD,MAAMw+B,YAA6B,GAAA,UAAA;EAE7B,MAAAkE,UAAA,GAAa7jC,QAAQ,MAAM;IAC/B,MAAMM,MAAoB,EAAC;IAGvBA,GAAA,CAAAE,IAAA,CACFsjC,IAAK,CAAA;MACHrE,UAAU5+B,eAAmB,IAAA,KAAA,CAAA;MAC7B+hC,kBAAA;MACAhlC,OAAS,EAAA,CAAA;MACT+hC,YAAA;MACAoE,QAAU,EAAA;IAAA,CACX,CAAA,CACH;IAGAzjC,GAAA,CAAIE,KAAKqX,MAAO,CAAA;MAACksB,QAAU,EAAA;IAAE,CAAA,CAAC,CAAA;IAG1BzjC,GAAA,CAAAE,IAAA,CACFjC,MAAK,CAAA;MACHwgC,KAAMA,CAAAkM,KAAA,EAA6C;QAAA,IAA7C;UAAClL,cAAgB;UAAAC,eAAA;UAAiBh/B;SAAW,GAAAiqC,KAAA;QAC1C7nC,MAAA,CAAA8nC,MAAA,CAAOlqC,QAAS,CAAAq+B,QAAA,CAASpkC,KAAO,EAAA;UACrCq6B,QAAU,EAAA,EAAA,CAAGj6B,MAAiB,CAAA0kC,cAAA,GAAA,CAAA,GAAI,CAAC,EAAA,IAAA,CAAA;UAAA;UACnCH,SAAW,EAAA,EAAA,CAAGvkC,MAAkB,CAAA2kC,eAAA,GAAA,CAAA,GAAI,CAAC,EAAA,IAAA;UAAA;QAAA,CACtC,CAAA;MACH;IAAA,CACD,CAAA,CACH;;IAGI1/B,GAAA,CAAAE,IAAA,CACF2jC,KAAM,CAAA;MACJ1E,UAAU5+B,eAAmB,IAAA,KAAA,CAAA;MAC7B8+B,YAAA;MACA/hC,OAAS,EAAA;IAAA,CACV,CAAA,CACH;IAGI0C,GAAA,CAAAE,IAAA,CAAKwpB,MAAM;MAAC5pB,OAAA,EAASmhC;MAAU3jC,OAAS,EAAA;IAAE,CAAA,CAAC,CAAA;IAExC,OAAA0C,GAAA;EAAA,CACN,EAAA,CAACO,eAAiB,EAAA+hC,kBAAkB,CAAC,CAAA;EAExC,MAAM;IAACuI,cAAgB;IAAAjM,SAAA;IAAWmF;IAAgBC,IAAM;IAAAC;MAAUC,WAAY,CAAA;IAC5EX,UAAA;IACA3E,SAAW,EAAA8D,aAAA;IACXyB,oBAAsB,EAAAC;EAAA,CACvB,CAAA;EAEK,MAAA5C,UAAA,GAAa5C,aAAa1kC,qBAAsB,CAAA0kC,SAAA,CAAUntB,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;EAEvE,MAAAyvB,MAAA,GAAA,CAASW,EAAe,GAAAkC,cAAA,CAAAra,KAAA,KAAf,IAAsB,GAAA,KAAA,CAAA,GAAAmY,EAAA,CAAA1+B,CAAA;EAC/B,MAAAg+B,MAAA,GAAA,CAASW,EAAe,GAAAiC,cAAA,CAAAra,KAAA,KAAf,IAAsB,GAAA,KAAA,CAAA,GAAAoY,EAAA,CAAA1+B,CAAA;EAE/B,MAAAq+B,UAAA,GAA4B/hC,QAAQ,MAAM;IAC9C,MAAM/E,KAAuB,GAAA;MAC3BL,IAAA,EAAM4mC,MAAW,KAAA,IAAA,GAAOA,MAAS,GAAA,KAAA,CAAA;MACjC/mC,GAAA,EAAKgnC,MAAW,KAAA,IAAA,GAAOA,MAAS,GAAA,KAAA,CAAA;MAChC/mC,KAAO,EAAA,KAAA,CAAA;MACPC,MAAQ,EAAA,KAAA;IAAA,CACV;IAEI,IAAAmnC,UAAA,EAAY7mC,KAAA,CAAM6mC,UAAU,CAAI,GAAA,CAAA,EAAA;IAE7B,OAAA7mC,KAAA;EACN,CAAA,EAAA,CAACumC,MAAQ,EAAAC,MAAA,EAAQK,UAAU,CAAC,CAAA;EAE/B,MAAMsJ,YAAY1e,KAAM,EAAA;EACxB,MAAM,CAAC2e,MAAA,EAAQC,SAAS,CAAA,GAAI/B,gBAAgB,KAAK,CAAA;EACjD,MAAMgC,oBAAoBnB,oBAAqB,EAAA;EACzC,MAAAoB,WAAA,GAAcH,MAAU,IAAA,CAAAE,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,iBAAA,CAAmBf,aAAkB,MAAAY,SAAA;EAEnE,MAAMK,gBAAgBF,iBAAsB,KAAA,IAAA;EAC5C,MAAMG,gBAAgB,OAAO9B,KAAA,KAAU,QAAW,GAAAA,KAAA,GAAA,CAAQA,+BAAO7G,IAAQ,KAAA,CAAA;EACzE,MAAM4I,iBAAiB,OAAO/B,KAAA,KAAU,QAAW,GAAAA,KAAA,GAAA,CAAQA,+BAAOiB,KAAS,KAAA,CAAA;EAErE,MAAAF,SAAA,GAAYc,aAAgB,GAAAF,iBAAA,CAAkBZ,SAAY,GAAAe,aAAA;EAC1D,MAAAd,UAAA,GAAaa,aAAgB,GAAAF,iBAAA,CAAkBX,UAAa,GAAAe,cAAA;EAElE,MAAMC,kBAAqB,GAAA1e,WAAA,CACxB6V,IAAkB,IAAA;IACjB,IAAI0I,aAAe,EAAA;MAEjB,IAAI1I,IAAM,EAAA;QACUwI,iBAAA,CAAAhB,gBAAA,CAAiBxH,MAAM4H,SAAS,CAAA;QAChCY,iBAAA,CAAAd,gBAAA,CAAiBW,WAAWT,SAAS,CAAA;MAAA,CAClD,MAAA;QACL,MAAMkB,2BAA8B,GAAA,GAAA;QAC9B,MAAAC,oBAAA,GACJlB,UAAa,GAAAiB,2BAAA,GAA8BjB,UAAa,GAAAiB,2BAAA;QAExCN,iBAAA,CAAAhB,gBAAA,CAAiBxH,MAAM+I,oBAAoB,CAAA;QAC3CP,iBAAA,CAAAd,gBAAA,CAAiB,MAAMG,UAAU,CAAA;MACrD;IAAA,CACK,MAAA;MAEKU,SAAA,CAAAvI,IAAA,EAAMA,IAAO,GAAA4H,SAAA,GAAYC,UAAU,CAAA;IAC/C;EACF,CAAA,EACA,CAACa,aAAe,EAAAF,iBAAA,EAAmBZ,SAAW,EAAAS,SAAA,EAAWR,YAAYU,SAAS,CAAA,CAChF;EAEM,MAAAS,UAAA,GAAa7e,YAAY,MAAM0e,kBAAA,CAAmB,KAAK,CAAG,EAAA,CAACA,kBAAkB,CAAC,CAAA;EAC9E,MAAA5Q,WAAA,GAAc9N,YAAY,MAAM0e,kBAAA,CAAmB,IAAI,CAAG,EAAA,CAACA,kBAAkB,CAAC,CAAA;EAC9E,MAAAI,gBAAA,GAAmB9e,YAAY,MAAM0e,kBAAA,CAAmB,IAAI,CAAG,EAAA,CAACA,kBAAkB,CAAC,CAAA;EACnF,MAAAK,gBAAA,GAAmB/e,YAAY,MAAM0e,kBAAA,CAAmB,KAAK,CAAG,EAAA,CAACA,kBAAkB,CAAC,CAAA;EAK1FxqC,SAAA,CAAU,MAAM;IACd,IAAI,CAACiqC,MAAA,EAAQ;IAEb,SAASa,sBAAsBxpC,KAAmB,EAAA;MAChD,IAAI,CAACygC,gBAAA,EAAkB;MAEjB,MAAAgJ,mBAAA,GACJhJ,gBAAqB,KAAAzgC,KAAA,CAAMf,MAC1B,IAAAe,KAAA,CAAMf,kBAAkBC,IAAQ,IAAAuhC,gBAAA,CAAiBthC,QAAS,CAAAa,KAAA,CAAMf,MAAM,CAAA;MAEzE,IAAI,CAACwqC,mBAAqB,EAAA;QACxBP,kBAAA,CAAmB,KAAK,CAAA;QACjB9pC,MAAA,CAAAE,mBAAA,CAAoB,aAAakqC,qBAAqB,CAAA;MAC/D;IACF;IAEOpqC,MAAA,CAAAC,gBAAA,CAAiB,aAAamqC,qBAAqB,CAAA;IAE1D,OAAO,MAAM;MACJpqC,MAAA,CAAAE,mBAAA,CAAoB,aAAakqC,qBAAqB,CAAA;IAAA,CAC/D;EACC,CAAA,EAAA,CAACb,MAAQ,EAAAlI,gBAAA,EAAkByI,kBAAkB,CAAC,CAAA;EAGjDxqC,SAAA,CAAU,MAAM;IACV,IAAA6vB,QAAA,EAAU2a,kBAAA,CAAmB,KAAK,CAAA;EAAA,CACrC,EAAA,CAAC3a,QAAU,EAAA2a,kBAAkB,CAAC,CAAA;EAGjCxqC,SAAA,CAAU,MAAM;IACd,IAAI,CAACtD,OAAA,EAAS8tC,kBAAA,CAAmB,KAAK,CAAA;EAAA,CACrC,EAAA,CAAC9tC,OAAS,EAAA8tC,kBAAkB,CAAC,CAAA;EAGtBxqC,SAAA,CAAA,MAAMkjC,KAAKS,YAAa,CAAA5B,gBAAgB,GAAG,CAACA,gBAAA,EAAkBmB,IAAI,CAAC,CAAA;EAE7E,MAAMM,QAAW,GAAA1X,WAAA,CACd2X,OAAmC,IAAA;IAClCtD,QAAA,CAASjgC,OAAU,GAAAujC,OAAA;IACZN,MAAA,EAAA;EACT,CAAA,EACA,CAACA,MAAM,CAAA,CACT;EAEA,MAAMO,WAAc,GAAA5X,WAAA,CACjB3jB,IAAgC,IAAA;IAC/ByqB,YAAA,CAAa1yB,OAAU,GAAAiI,IAAA;IACvB+6B,IAAA,CAAKQ,YAAYv7B,IAAI,CAAA;EACvB,CAAA,EACA,CAACyqB,cAAcsQ,IAAI,CAAA,CACrB;EAEA,MAAMU,WAA8CtC,SAAmB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAAplB,GAAA;EAEvE,MAAMynB,YAAe,GAAA7X,WAAA,CAClB3jB,IAA6B,IAAA;IACxB,IAAA,OAAOy7B,aAAa,UAAY,EAAA;MAClCA,QAAA,CAASz7B,IAAI,CAAA;eACJy7B,QAAU,EAAA;MACnBA,QAAA,CAAS1jC,OAAU,GAAAiI,IAAA;IACrB;IAGAyhC,mBAAA,CAAoBzhC,IAAI,CAAA;EAC1B,CAAA,EACA,CAACy7B,QAAQ,CAAA,CACX;EAEM,MAAAjW,KAAA,GAAQ/uB,QAAQ,MAAM;IAC1B,IAAI,CAAC0iC,SAAA,EAAkB,OAAA,IAAA;IAEvB,OAAOtT,aAAasT,SAAW,EAAA;MAC7B0J,MAAQ,EAAAL,UAAA;MACRnR,OAAS,EAAAI,WAAA;MACTqR,YAAc,EAAAL,gBAAA;MACdM,YAAc,EAAAL,gBAAA;MACd3uB,GAAK,EAAAynB;IAAA,CACN,CAAA;EAAA,CACH,EAAG,CAACrC,SAAW,EAAAqJ,UAAA,EAAY/Q,aAAagR,gBAAkB,EAAAC,gBAAA,EAAkBlH,YAAY,CAAC,CAAA;EAEzF,IAAI,CAAChW,KAAA,EAAO,sBAAS3U,GAAA,CAAA2T,QAAA,EAAA,CAAA,CAAA,CAAA;EAEjB,IAAAkD,QAAA,EAAiB,OAAAlC,KAAA;EAErB,MAAM9U,IACJ,GAAA,eAAAG,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,SAAA;IACP,GAAGY,SAAA;IACJlM,GAAK,EAAAwnB,WAAA;IACL7pC,KAAO,EAAAkwC,cAAA;IACPlyB,OAAA;IAEAe,QAAA,iBAAAmB,IAAA,CAACiY,IAAA,EAAA;MACC,SAAQ,EAAA,eAAA;MACR,gBAAgB,EAAA8L,SAAA;MAChBthC,OAAA;MACAsa,MAAQ,EAAA,CAAA;MACR7C,MAAA;MACA8S,MAAA;MAECnO,QAAA,EAAA,CAAAlc,OAAA,EAAA,eACAsc,GAAA,CAAA8vB,YAAA,EAAA;QAAa5sB,GAAK,EAAAsnB,QAAA;QAAU3pC,OAAO8mC;OAAY,CAAA;IAAA,CAClD;EAAA,CAAA,CACF;EAGF,sBAEK5mB,IAAA,CAAA4S,QAAA,EAAA;IAAA/T,QAAA,EAAA,CAAA+U,KAAA,EAEAyc,WACC,IAAA,eAAApxB,GAAA,CAAA2T,QAAA,EAAA;MACG/T,QACC,EAAA2hB,MAAA,kBAAAvhB,GAAA,CAACqhB,MAAO,EAAA;QAAAC,eAAA,EAAiB,OAAOC,MAAA,KAAW,QAAW,GAAAA,MAAA,GAAS,KAC5D,CAAA;QAAA3hB,QAAA,EAAAC;MACH,CAAA,IAEAA;KAEJ,CAAA;EAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AC5UD,IAAAnW,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,IAAA;AAOa,MAAAvZ,MAAA,GAAOC,MAAO,CAAAC,GAAA,CAAPhlB,IAAU,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAOvB,MAAM+xB,OAAU,GAAA1jB,MAAA,CAAOyG,GAAG,CAAA,CAAVjrB,IAAW,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,6EAAA,CAAA,CAAA,CAAA,CAAA;AAQlC,MAAM2V,SAASC,SAAS,CAAA/J,IAAA,KAAAA,IAAA,GAAA7L,YAAA,CAAA,CAAA,gGAAA,CAAA,CAAA,CAAA,CAAA;AAajB,MAAMgyB,sBAAsB3jB,MAAO,CAAAyH,WAAW,CAAlB,CAAA6R,IAAA,KAAAA,IAAA,GAAmB3nB,iCACjC,2BAAN,CAAA,CAAA,CAAA,EAAA2V,MAAA,CAAA;ACzBR,SAASsc,mBAAmBpwC,KAAoD,EAAA;EACrF,MAAM;IAAC2d,QAAU;IAAAsT,EAAA;IAAIof,QAAU;IAAA5a,QAAA;IAAU/2B;EAAS,CAAA,GAAAsB,KAAA;EAE5C,MAAAswC,WAAA,GAAczf,YAAY,MAAM;IAGpC6c,UAAA,CAAW,MAAM;MACf2C,QAAA,CAAS3xC,KAAK,CAAA;OACb,CAAC,CAAA;EAAA,CACH,EAAA,CAAC2xC,QAAU,EAAA3xC,KAAK,CAAC,CAAA;EAEpB,MAAM6xC,aAAgB,GAAA1f,WAAA,CACnBxqB,KAA8C,IAAA;IAC7C,IAAIA,MAAMxH,GAAQ,KAAA,OAAA,IAAW,CAACk9B,sBAAuB,CAAA11B,KAAA,CAAMmqC,aAAa,CAAG,EAAA;MAC7DF,WAAA,EAAA;IACd;EACF,CAAA,EACA,CAACA,WAAW,CAAA,CACd;EAGE,sBAAAvyB,GAAA,CAAC,IAAA,EAAA;IACC,eAAe,EAAA0X,QAAA;IACf,SAAQ,EAAA,oBAAA;IACRxE,EAAA;IACAwf,IAAK,EAAA,QAAA;IACL1D,OAAS,EAAAuD,WAAA;IACTp8B,SAAW,EAAAq8B,aAAA;IAEV5yB;EAAA,CAAA,CACH;AAEJ;ACtCgB,SAAA+yB,mBAAAA,CACdvV,OACAh1B,GACmB,EAAA;EACf,IAAAA,GAAA,CAAIwC,SAAS,cAAgB,EAAA;IACxB,OAAA;MAAC,GAAGwyB,KAAO;MAAAwV,WAAA,EAAa;MAAMC,OAAS,EAAA,IAAA;MAAMC,KAAO,EAAA1qC,GAAA,CAAI0qC;KAAK;EACtE;EAEI,IAAA1qC,GAAA,CAAIwC,SAAS,aAAe,EAAA;IAC9B,OAAO;MAAC,GAAGwyB,KAAO;MAAAyV,OAAA,EAAS;IAAI,CAAA;EACjC;EAEI,IAAAzqC,GAAA,CAAIwC,SAAS,WAAa,EAAA;IAC5B,OAAO;MAAC,GAAGwyB,KAAA;MAAOyV,OAAS,EAAA,KAAA;MAAOC,OAAO;KAAI;EAC/C;EAEI,IAAA1qC,GAAA,CAAIwC,SAAS,YAAc,EAAA;IACtB,OAAA;MAAC,GAAGwyB,KAAO;MAAAwV,WAAA,EAAa;MAAME,KAAO,EAAA,IAAA;MAAMnyC,OAAO;KAAI;EAC/D;EAEI,IAAAyH,GAAA,CAAIwC,SAAS,aAAe,EAAA;IAC9B,OAAO;MAAC,GAAGwyB,KAAA;MAAOyV,OAAS,EAAA,KAAA;MAAOC,OAAO;KAAI;EAC/C;EAEI,IAAA1qC,GAAA,CAAIwC,SAAS,WAAa,EAAA;IAC5B,OAAO;MAAC,GAAGwyB,KAAA;MAAO0V,OAAO1V,KAAM,CAAA0V,KAAA,IAAS1qC,IAAI0qC;KAAK;EACnD;EAEI,IAAA1qC,GAAA,CAAIwC,SAAS,qBAAuB,EAAA;IAC/B,OAAA;MAAC,GAAGwyB,KAAA;MAAOwV,WAAa,EAAAxqC,GAAA,CAAIzH;MAAOoyC,WAAa,EAAA3qC,GAAA,CAAI2qC,WAAe,IAAA3V,KAAA,CAAM2V;IAAW,CAAA;EAC7F;EAEI,IAAA3qC,GAAA,CAAIwC,SAAS,qBAAuB,EAAA;IACtC,OAAO;MAAC,GAAGwyB,KAAO;MAAA2V,WAAA,EAAa3qC,IAAI2qC;IAAW,CAAA;EAChD;EAEI,IAAA3qC,GAAA,CAAIwC,SAAS,cAAgB,EAAA;IACxB,OAAA;MAAC,GAAGwyB,KAAA;MAAOwV,WAAa,EAAAxqC,GAAA,CAAIzH;MAAOmyC,KAAO,EAAA,IAAA;MAAMnyC,KAAO,EAAAyH,GAAA,CAAIzH;IAAK,CAAA;EACzE;EAEO,OAAAy8B,KAAA;AACT;ACzCO,MAAM4V,gCAAmC,GAAA,CAC9C,SAAA,EACA,OAAA,EACA,KAAA,EACA,OAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,EACA,UAAA,EACA,MAAA,EACA,KAAA,EACA,UAAA,CACF;AAKO,MAAMC,8BAA4C,GAAA,cAAA;AAK5C,MAAAC,wCAAA,GAAwD,CAAC,cAAA,EAAgB,WAAW,CAAA;AC4DjG,MAAMC,uBAAuBA,CAACxyC,KAAA,EAAeyyC,MAC3C,KAAAA,MAAA,GAASA,OAAOzyC,KAAQ,GAAAA,KAAA;AAE1B,MAAM0yC,qBAAwB,GAAAA,CAACP,KAAe,EAAAM,MAAA,KAC5CA,MAAO,CAAAzyC,KAAA,CAAM2yC,WAAY,EAAA,CAAE7+B,OAAQ,CAAAq+B,KAAA,CAAMQ,WAAY,EAAC,CAAI,GAAA,CAAA,CAAA;AAE5D,MAAMC,iBAAoB,GAAAzkB,UAAA,CAAW,SAASykB,kBAAAA,CAG5CtxC,OAsBAihB,GACA,EAAA;EACM,MAAA;IACJ5N,MAAS,GAAA,IAAA;IACT+N,cAAA;IACAwT,QAAA;IACA2c,YAAc,EAAAC,gBAAA;IACdvvC,QAAW,GAAA,CAAA;IACX4yB,IAAA;IACA5D,EAAA;IACAwgB,OAAU,GAAAvzC,YAAA;IACV82B,OAAA;IACA+a,MAAA;IACArP,QAAA;IACAnC,OAAA;IACAmT,aAAA;IACArB,QAAA;IACAsB,UAAA;IACAz/B,OAAS,EAAA0/B,WAAA;IACTrwC,SAAS0zB,WAAc,GAAA,CAAA;IACvBpY,OAAU,GAAA3e,YAAA;IACV6tC,MAAA;IACAlwB,MAAS,GAAA,CAAA;IACTkc,QAAA;IACA8Z,eAAA;IACAC,YAAc,EAAAC,gBAAA;IACdC,aAAA;IACAC,WAAc,GAAAf,oBAAA;IACdlF,MAAA;IACAttC,KAAO,EAAAwzC,SAAA;IACP,GAAG/kB;EACD,CAAA,GAAAntB,KAAA;EAEJ,MAAM,CAACm7B,KAAA,EAAOgX,QAAQ,CAAA,GAAIC,WAAW1B,mBAAqB,EAAA;IACxDC,aAAauB,SAAa,IAAA,IAAA;IAC1BtB,OAAS,EAAA,KAAA;IACTE,WAAa,EAAA,KAAA;IACbD,KAAO,EAAA,IAAA;IACPnyC,OAAOwzC,SAAa,IAAA;EAAA,CACrB,CAAA;EAED,MAAM;IAACvB,WAAa;IAAAC,OAAA;IAASE,WAAa;IAAAD,KAAA;IAAOnyC;EAAS,CAAA,GAAAy8B,KAAA;EAE1D,MAAMkX,mBAAsB,GAAAxhB,WAAA,CAC1ByhB,KAAA;IAAA,IAAC;MAAC5zC,KAAAA,EAAAA;;0BACCqf,GAAA,CAAAgZ,IAAA,EAAA;MAAK,SAAQ,EAAA,QAAA;MAASx1B,OAAS,EAAA0zB,WAAA;MAAapZ,QAAQ,CAAG;MAAA5C,IAAA,EAAK,SAC3D;MAAA0E,QAAA,EAAA,eAAAI,GAAA,CAAC6O,IAAK,EAAA;QAAA1qB,IAAA,EAAMD;QAAUgrB,YAAa,EAAA,UAAA;QAChCtP,QAAAjf,EAAAA;MAAAA,CACH;IACF,CAAA,CAAA;EAAA,GAEF,CAACuD,UAAUgzB,WAAW,CAAA,CACxB;EAEA,MAAM6c,YACJ,GAAA,OAAOC,gBAAqB,KAAA,UAAA,GAAaA,gBAAmB,GAAAM,mBAAA;EAE9D,MAAMd,YACJ,GAAA,OAAOC,gBAAqB,KAAA,UAAA,GAAaA,gBAAmB,GAAAJ,qBAAA;EAGxD,MAAAmB,cAAA,GAAiBztC,OAA8B,IAAI,CAAA;EACnD,MAAA0tC,wBAAA,GAA2B1tC,OAA8B,IAAI,CAAA;EAC7D,MAAA2tC,eAAA,GAAkB3tC,OAAgC,IAAI,CAAA;EACtD,MAAA4tC,iBAAA,GAAoB5tC,OAA8B,IAAI,CAAA;EAGtD,MAAA6tC,cAAA,GAAiB7tC,OAAO,KAAK,CAAA;EAC7B,MAAA46B,QAAA,GAAW56B,OAAOpG,KAAK,CAAA;EACvB,MAAAk0C,YAAA,GAAe9tC,OAAOotC,SAAS,CAAA;EAC/B,MAAAW,qBAAA,GAAwB/tC,OAAO,KAAK,CAAA;EAEpC,MAAA6yB,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EAElC,MAAA6xB,SAAA,GAAY,GAAG9zC,MAAE,CAAAiyB,EAAA,EAAA,UAAA,CAAA;EACvB,MAAM/e,OAAU,GAAAtS,KAAA,CAAMC,OAAQ,CAAA+xC,WAAW,IAAIA,WAAc,GAAA3zC,WAAA;EACrD,MAAAsD,OAAA,GAAUkC,aAAawxB,WAAW,CAAA;EACxC,MAAM8d,aAAgB,GAAApvC,OAAA,CACpB,MAAOjF,KAAU,KAAA,IAAA,GAAOwT,OAAQ,CAAA8gC,IAAA,CAAMC,CAAM,IAAAA,CAAA,CAAEv0C,KAAU,KAAAA,KAAK,CAAI,GAAA,KAAA,CAAA,EACjE,CAACwT,SAASxT,KAAK,CAAA,CACjB;EACA,MAAMw0C,eAAkB,GAAAvvC,OAAA,CACtB,MAAMuO,OAAQ,CAAA9N,MAAA,CAAQ+sC,MAAA,IAAYN,QAAQU,YAAa,CAAAV,KAAA,EAAOM,MAAM,CAAA,GAAI,IAAK,CAAA,EAC7E,CAACI,YAAc,EAAAr/B,OAAA,EAAS2+B,KAAK,CAAA,CAC/B;EACA,MAAMsC,qBAAqBD,eAAgB,CAAA/yC,MAAA;EAC3C,MAAMizC,YAAe,GAAAzC,WAAA,GAAc,EAAG,CAAA3xC,MAAA,CAAAiyB,EAAA,EAAE,YAAWjyB,MAAgB,CAAA2xC,WAAA,CAAA,GAAA,KAAA,CAAA;EACnE,MAAM0C,QAAY,GAAAxC,KAAA,KAAU,IAAQ,IAAA7b,OAAA,IAAa4b,WAAWC,KAAU,KAAA,IAAA;EAEtE,MAAMyC,cAAiB,GAAAziB,WAAA,CACpBxqB,KAAwC,IAAA;IACvCqnC,UAAA,CAAW,MAAM;MAIf,IAAImF,sBAAsB5tC,OAAS,EAAA;QACjC;MACF;MAEM,MAAAN,QAAA,GAAA,CAA2BktC,eAAmB,IAAA,EAAI,EAAA7yC,MAAA,CACtDuzC,eAAettC,OAAU,GAAA,CAACstC,cAAe,CAAAttC,OAAO,IAAI,EAAC,EACrDutC,yBAAyBvtC,OAAU,GAAA,CAACutC,wBAAyB,CAAAvtC,OAAO,IAAI,EAAC,CAC3E;MAEA,IAAIsuC,WAAc,GAAA,KAAA;MAElB,IAAI/sC,SAASm2B,aAAe,EAAA;QAC1B,KAAA,MAAW6W,KAAK7uC,QAAU,EAAA;UACxB,IAAI6uC,MAAMhtC,QAAS,CAAAm2B,aAAA,IAAiB6W,EAAEhuC,QAAS,CAAAgB,QAAA,CAASm2B,aAAa,CAAG,EAAA;YACxD4W,WAAA,GAAA,IAAA;YACd;UACF;QACF;MACF;MAEA,IAAIA,gBAAgB,KAAO,EAAA;QAChBpB,QAAA,CAAA;UAACxpC,IAAM,EAAA;QAAA,CAAY,CAAA;QAC5BkqC,qBAAA,CAAsB5tC,OAAU,GAAA,KAAA;QAC5B,IAAAysC,aAAA,EAAeA,aAAA,CAAc,IAAI,CAAA;QACjC,IAAA3B,MAAA,EAAQA,MAAA,CAAO1pC,KAAK,CAAA;MAC1B;OACC,CAAC,CAAA;EACN,CAAA,EACA,CAAC0pC,MAAQ,EAAA2B,aAAA,EAAeG,eAAe,CAAA,CACzC;EAEM,MAAA4B,eAAA,GAAkB5iB,WAAY,CAACxqB,KAAsC,IAAA;IACzE,MAAMqtC,iBAAiBhB,iBAAkB,CAAAztC,OAAA;IACzC,MAAM0uC,cAAiB,GAAAttC,KAAA,CAAMf,MAAkB,YAAA+7B,WAAA,GAAch7B,MAAMf,MAAS,GAAA,IAAA;IACtEwrC,MAAAA,YAAAA,GAAAA,CAAc4C,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,cAAA,CAAAluC,QAAA,CAASmuC,cAAmB,CAAA,KAAA,KAAA;IAE5D7C,IAAAA,YAAAA,KAAgB6B,eAAe1tC,OAAS,EAAA;MAC1C0tC,cAAA,CAAe1tC,OAAU6rC,GAAAA,YAAAA;MAEzBqB,QAAA,CAAS;QAACxpC,IAAA,EAAM,qBAAuB;QAAAmoC,WAAA,EAAAA;MAAY,CAAA,CAAA;IACrD;EACF,CAAA,EAAG,EAAE,CAAA;EAEL,MAAM8C,kBAAqB,GAAA/iB,WAAA,CACxBuN,CAAc,IAAA;IAjQnB,IAAA32B,EAAA;IAkQM0qC,QAAA,CAAS;MAACxpC,IAAA,EAAM,cAAgB;MAAAjK,KAAA,EAAO0/B;IAAE,CAAA,CAAA;IAEzCyU,qBAAA,CAAsB5tC,OAAU,GAAA,KAAA;IAE5B,IAAAorC,QAAA,EAAUA,QAAA,CAASjS,CAAC,CAAA;IAExBsB,QAAA,CAASz6B,OAAU,GAAAm5B,CAAA;IAEf,IAAAsC,QAAA,EAAUA,QAAA,CAAStC,CAAC,CAAA;IACpB,IAAAsT,aAAA,EAAeA,aAAA,CAAc,IAAI,CAAA;IAErC,CAAAjqC,EAAA,GAAAgrC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAAwC,EAAA,CAAAw1B,KAAA,EAAA;EAC3B,CAAA,EACA,CAACyD,QAAU,EAAA2P,QAAA,EAAUqB,aAAa,CAAA,CACpC;EAEA,MAAMmC,iBAAoB,GAAAhjB,WAAA,CACvBxqB,KAAsC,IAAA;IAnR3C,IAAAoB,EAAA,EAAAO,EAAA;IAoRU,IAAA3B,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,IAAI,CAAC8G,kBAAA,EAAoB;MAEzB,MAAMW,eAAeZ,eAAgB,CAAAF,IAAA,CAAMC,CAAM,IAAAA,CAAA,CAAEv0C,UAAUiyC,WAAW,CAAA;MACxE,MAAMoD,WAAc,GAAAD,YAAA,GAAeZ,eAAgB,CAAA1gC,OAAA,CAAQshC,YAAY,CAAI,GAAA,CAAA,CAAA;MAC3E,MAAME,gBAAmB,GAAAd,eAAA,CAAA,CAAiBa,WAAc,GAAA,CAAA,IAAKZ,kBAAkB,CAAA;MAE/E,IAAIa,gBAAkB,EAAA;QACX7B,QAAA,CAAA;UAACxpC,MAAM,qBAAuB;UAAAjK,KAAA,EAAOs1C,iBAAiBt1C,KAAO;UAAAoyC,WAAA,EAAa;SAAK,CAAA;MAC1F;MAEA;IACF;IAEI,IAAAzqC,KAAA,CAAMxH,QAAQ,SAAW,EAAA;MAC3BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,IAAI,CAAC8G,kBAAA,EAAoB;MAEzB,MAAMW,eAAeZ,eAAgB,CAAAF,IAAA,CAAMC,CAAM,IAAAA,CAAA,CAAEv0C,UAAUiyC,WAAW,CAAA;MACxE,MAAMoD,WAAc,GAAAD,YAAA,GAAeZ,eAAgB,CAAA1gC,OAAA,CAAQshC,YAAY,CAAI,GAAA,CAAA,CAAA;MACrE,MAAAE,gBAAA,GACJd,gBACEa,WAAgB,KAAA,CAAA,CAAA,GACZZ,qBAAqB,CACpB,GAAA,CAAAA,kBAAA,GAAqBY,WAAc,GAAA,CAAA,IAAKZ,kBAC/C,CAAA;MAEF,IAAIa,gBAAkB,EAAA;QACX7B,QAAA,CAAA;UAACxpC,MAAM,qBAAuB;UAAAjK,KAAA,EAAOs1C,iBAAiBt1C,KAAO;UAAAoyC,WAAA,EAAa;SAAK,CAAA;MAC1F;MAEA;IACF;IAEI,IAAAzqC,KAAA,CAAMxH,QAAQ,QAAU,EAAA;MACjBszC,QAAA,CAAA;QAACxpC,IAAM,EAAA;MAAA,CAAc,CAAA;MAC9BkqC,qBAAA,CAAsB5tC,OAAU,GAAA,KAAA;MAC5B,IAAAysC,aAAA,EAAeA,aAAA,CAAc,IAAI,CAAA;MACrC,CAAAjqC,EAAA,GAAAgrC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAAwC,EAAA,CAAAw1B,KAAA,EAAA;MAEzB;IACF;IAEA,MAAM33B,SAASe,KAAM,CAAAf,MAAA;IACrB,MAAM2uC,SAASvB,iBAAkB,CAAAztC,OAAA;IAG9B,IAAA,CAAAgvC,MAAA,KAAW3uC,MAAU,KAAA2uC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQzuC,QAAS,CAAAF,MAAA,CAAA,CAAA,KACvC,CAACyrC,gCAAiC,CAAA5rC,QAAA,CAASkB,KAAM,CAAAxH,GAAG,CACpD,EAAA;MACA,CAAAmJ,EAAA,GAAAyqC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAA+C,EAAA,CAAAi1B,KAAA,EAAA;MAEzB;IACF;EACF,CAAA,EACA,CAAC0T,WAAA,EAAauC,eAAiB,EAAAC,kBAAA,EAAoBzB,aAAa,CAAA,CAClE;EAEA,MAAMwC,iBAAoB,GAAArjB,WAAA,CACvBxqB,KAAyC,IAAA;IAClC,MAAA8tC,SAAA,GAAY9tC,MAAMmqC,aAAc,CAAA9xC,KAAA;IAEtCyzC,QAAA,CAAS;MAACxpC,IAAA,EAAM,cAAgB;MAAAkoC,KAAA,EAAOsD;IAAU,CAAA,CAAA;IAE7C,IAAAzC,aAAA,EAAeA,aAAA,CAAcyC,SAAS,CAAA;EAC5C,CAAA,EACA,CAACzC,aAAa,CAAA,CAChB;EAEA,MAAM0C,gBAAmB,GAAAvjB,WAAA,CACtBxqB,KAAwC,IAAA;IACvC,IAAI,CAACuqC,OAAS,EAAA;MACHuB,QAAA,CAAA;QAACxpC,IAAM,EAAA;MAAA,CAAc,CAAA;MAE1B,IAAA41B,OAAA,EAASA,OAAA,CAAQl4B,KAAK,CAAA;IAC5B;EACF,CAAA,EACA,CAACuqC,SAASrS,OAAO,CAAA,CACnB;EAEM,MAAA8V,uBAAA,GAA0BxjB,YAAY,MAAM;IAChDgiB,qBAAA,CAAsB5tC,OAAU,GAAA,IAAA;EAClC,CAAA,EAAG,EAAE,CAAA;EAEC,MAAAqvC,uBAAA,GAA0BzjB,YAAY,MAAM;IAChDgiB,qBAAA,CAAsB5tC,OAAU,GAAA,KAAA;EAClC,CAAA,EAAG,EAAE,CAAA;EAEC,MAAAsvC,sBAAA,GAAyB1jB,YAAY,MAAM;IA/WnD,IAAAppB,EAAA;IAgXa0qC,QAAA,CAAA;MAACxpC,IAAM,EAAA;IAAA,CAAa,CAAA;IAC7B+2B,QAAA,CAASz6B,OAAU,GAAA,EAAA;IACf,IAAAy7B,QAAA,EAAUA,QAAA,CAAS,EAAE,CAAA;IACrB,IAAAgR,aAAA,EAAeA,aAAA,CAAc,IAAI,CAAA;IACrC,CAAAjqC,EAAA,GAAAgrC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAAwC,EAAA,CAAAw1B,KAAA,EAAA;EAAA,CACxB,EAAA,CAACyD,QAAU,EAAAgR,aAAa,CAAC,CAAA;EAEtB,MAAA8C,sBAAA,GAAyB3jB,YAAY,MAAM;IACtCshB,QAAA,CAAA;MAACxpC,IAAM,EAAA;IAAA,CAAc,CAAA;EAChC,CAAA,EAAG,EAAE,CAAA;EAGL5D,SAAA,CAAU,MAAM;IAEV,IAAAmtC,SAAA,KAAcU,aAAa3tC,OAAS,EAAA;MACtC2tC,YAAA,CAAa3tC,OAAU,GAAAitC,SAAA;MAEvB,IAAIA,cAAc,KAAW,CAAA,EAAA;QAC3BC,QAAA,CAAS;UAACxpC,IAAA,EAAM,cAAgB;UAAAjK,KAAA,EAAOwzC;QAAU,CAAA,CAAA;QACjDxS,QAAA,CAASz6B,OAAU,GAAAitC,SAAA;MACrB;MAEA;IACF;IAGI,IAAAA,SAAA,KAAcxS,SAASz6B,OAAS,EAAA;MAClCy6B,QAAA,CAASz6B,UAAUitC,SAAa,IAAA,IAAA;MAEhCC,QAAA,CAAS;QAACxpC,IAAM,EAAA,cAAA;QAAgBjK,KAAO,EAAAwzC,SAAA,IAAa;OAAK,CAAA;IAC3D;EAAA,CACF,EAAG,CAACA,SAAS,CAAC,CAAA;EAGdntC,SAAA,CAAU,MAAM;IACV,IAAA,CAAC6rC,OAAW,IAAAlR,QAAA,CAASz6B,OAAS,EAAA;MAChCktC,QAAA,CAAS;QAACxpC,IAAM,EAAA,qBAAA;QAAuBjK,KAAO,EAAAghC,QAAA,CAASz6B;OAAQ,CAAA;IACjE;EAAA,CACF,EAAG,CAAC2rC,OAAO,CAAC,CAAA;EAGZ7rC,SAAA,CAAU,MAAM;IACd,MAAM0vC,cAAc/B,iBAAkB,CAAAztC,OAAA;IAEtC,IAAI,CAACwvC,WAAA,EAAa;IAElB,MAAMX,eAAeZ,eAAgB,CAAAF,IAAA,CAAMC,CAAM,IAAAA,CAAA,CAAEv0C,UAAUiyC,WAAW,CAAA;IAExE,IAAImD,YAAc,EAAA;MACV,MAAAC,WAAA,GAAcb,eAAgB,CAAA1gC,OAAA,CAAQshC,YAAY,CAAA;MAClD,MAAAY,iBAAA,GAAoBD,WAAY,CAAAtX,UAAA,CAAW4W,WAAW,CAAA;MAE5D,IAAIW,iBAAmB,EAAA;QACjB,IAAAhY,SAAA,CAAUgY,iBAAiB,CAAG,EAAA;UAEhC;QACF;QAEAxX,oBAAA,CAAqBwX,iBAAiB,CAAA;MACxC;IACF;EAAA,CACC,EAAA,CAAC/D,WAAa,EAAAuC,eAAe,CAAC,CAAA;EAEjC,MAAM1Y,MAAS,GAAA3J,WAAA,CACZ3sB,EAAgC,IAAA;IAC/BuuC,eAAA,CAAgBxtC,OAAU,GAAAf,EAAA;IAC1ByzB,YAAA,CAAa1yB,OAAU,GAAAf,EAAA;EACzB,CAAA,EACA,CAACyzB,YAAY,CAAA,CACf;EAEM,MAAAiU,WAAA,GAAcjoC,QAAQ,MAAM;IAChC,IAAI,CAACqxB,OAAA,IAAW,CAACJ,QAAA,IAAYl2B,KAAO,EAAA;MAC3B,OAAA;QACL,YAAc,EAAA,OAAA;QACd6/B,OAAS,EAAAiW;MAAA,CACX;IACF;IAEO,OAAA,KAAA,CAAA;KACN,CAAC5f,QAAA,EAAU4f,sBAAwB,EAAAxf,OAAA,EAASt2B,KAAK,CAAC,CAAA;EAErD,MAAMi2C,oBAAuB,GAAAhxC,OAAA,CAC3B,MACEpC,OAAA,CAAQjC,GAAI,CAAC8+B,CAAM,IAAA;IACjB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IACpB,IAAIA,CAAM,KAAA,CAAA,EAAU,OAAA,CAAA;IAEpB,OAAOA,CAAI,GAAA,CAAA;EAAA,CACZ,CAAA,EACH,CAAC78B,OAAO,CAAA,CACV;EACA,MAAMqzC,oBAAoBjxC,OAAQ,CAAA,MAAMpC,OAAQ,CAAAjC,GAAA,CAAK8+B,CAAM,IAAAx7B,IAAA,CAAKgS,GAAI,CAAAwpB,CAAA,GAAI,GAAG,CAAC,CAAC,CAAG,EAAA,CAAC78B,OAAO,CAAC,CAAA;EACzF,MAAMszC,eAA+C,GAAAlxC,OAAA,CACnD,MAAO,OAAOguC,UAAe,KAAA,QAAA,GAAWA,UAAa,GAAAzzC,YAAA,EACrD,CAACyzC,UAAU,CAAA,CACb;EAEA,MAAMmD,eAAkB,GAAAjkB,WAAA,CACrBxqB,KAAyC,IAAA;IAC/B8rC,QAAA,CAAA;MACPxpC,IAAM,EAAA,WAAA;MACNkoC,KAAO,EAAAnyC,KAAA,GAAQuzC,WAAY,CAAAvzC,KAAA,EAAOq0C,aAAa,CAAI,GAAA;IAAA,CACpD,CAAA;IAED,IAAI8B,eAAgB,CAAA9H,OAAA,EAAS8H,eAAA,CAAgB9H,QAAQ1mC,KAAK,CAAA;IAE1Do1B,IAAA,CAAK,MAAG;MA5dd,IAAAh0B,EAAA;MA4diB,OAAA,CAAAA,EAAA,GAAAgrC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAAwC,EAAA,CAAAw1B,KAAA,EAAA;IAAA,CAAO,CAAA;EAC7C,CAAA,EACA,CAAC8V,aAAA,EAAe8B,eAAiB,EAAA5C,WAAA,EAAavzC,KAAK,CAAA,CACrD;EAEA,MAAMq2C,cAAiB,GAAApxC,OAAA,CACrB,MACE,CAACixB,QAAA,IAAY,CAACmD,QAAA,IAAY4Z,UACxB,GAAA,eAAA5zB,GAAA,CAACkV,GAAI,EAAA;IAAA,aAAA,EAAaogB,QAAU;IAAA9xC,OAAA,EAASozC,oBACnC;IAAAh3B,QAAA,EAAA,eAAAI,GAAA,CAAC4W,MAAA,EAAA;MACC,YAAW,EAAA,MAAA;MACXC,QAAU,EAAAye,QAAA;MACVpxC,QAAA;MACA4yB,IAAM,EAAAmgB,eAAA;MACNrhB,IAAK,EAAA,OAAA;MACLpyB,OAAS,EAAAqzC,iBAAA;MACR,GAAGC,eAAA;MACJ9H,OAAS,EAAA+H;IAAA,CAAA;EAEb,CAAA,CACE,GAAA,KAAA,CAAA,EACN,CACElgB,QAAA,EACAye,QAAA,EACApxC,QAAA,EACA6yC,eAAA,EACAnD,UAAA,EACAgD,oBAAA,EACAC,iBAAA,EACAC,eAAA,EACA9c,QAAA,CACF,CACF;EAEM,MAAAkd,UAAA,GAAatxC,QAAQ,MAAM;IAC/B,IAAIktC,UAAU,IAAM,EAAA;MAClB,IAAInyC,UAAU,IAAM,EAAA;QACX,OAAAuzC,WAAA,CAAYvzC,OAAOq0C,aAAa,CAAA;MACzC;MAEO,OAAA,EAAA;IACT;IAEO,OAAAlC,KAAA;KACN,CAACkC,aAAA,EAAelC,KAAO,EAAAoB,WAAA,EAAavzC,KAAK,CAAC,CAAA;EAE7C,MAAMwd,KACJ,GAAA,eAAA6B,GAAA,CAAC4tB,SAAA,EAAA;IACE,GAAGxe,SAAA;IACJ,uBAAuB,EAAAimB,YAAA;IACvB,mBAAkB,EAAA,MAAA;IAClB,eAAe,EAAAC,QAAA;IACf,WAAW,EAAAP,SAAA;IACXoC,cAAe,EAAA,KAAA;IACfC,YAAa,EAAA,KAAA;IACbC,WAAY,EAAA,KAAA;IACZ/hC,MAAA;IACAu4B,WAAA;IACAxqB,cAAA;IACAwT,QAAA;IACA3yB,QAAA;IACA4yB,IAAA;IACAC,WAAWE,OAAW,IAAAmb,mBAAA;IACtBlf,EAAA;IACAokB,SAAU,EAAA,QAAA;IACV3U,QAAU,EAAAwT,iBAAA;IACVpI,OAAS,EAAAyI,sBAAA;IACThW,OAAS,EAAA6V,gBAAA;IACT7yC,OAAA;IACAwqC,MAAA;IACAlwB,MAAA;IACAkc,QAAA;IACA9W,GAAK,EAAAuZ,MAAA;IACLiW,IAAK,EAAA,UAAA;IACL6E,UAAY,EAAA,KAAA;IACZtJ,QAAQA,MAAU,IAAA+I,cAAA;IAClBr2C,KAAO,EAAAu2C;EAAA,CAAA,CACT;EAGF,MAAMM,oBAAuB,GAAA1kB,WAAA,CAC1BxqB,KAAyC,IAAA;IA7iB9C,IAAAoB,EAAA;IA+iBU,IAAApB,KAAA,CAAMxH,QAAQ,KAAO,EAAA;MACnB,IAAAiyC,WAAA,EAAa,CAAArpC,EAAA,GAAAgrC,eAAA,CAAgBxtC,YAAhB,IAAyB,GAAA,KAAA,CAAA,GAAAwC,EAAA,CAAAw1B,KAAA,EAAA;IAC5C;EACF,CAAA,EACA,CAAC6T,WAAW,CAAA,CACd;EAEM,MAAArvC,OAAA,GAAUkC,QAAQ,MAAM;IAC5B,IAAIuvC,gBAAgB/yC,MAAW,KAAA,CAAA,EAAU,OAAA,IAAA;IAGvC,sBAAA4d,GAAA,CAACmyB,OAAA,EAAA;MACC,SAAQ,EAAA,uBAAA;MACRh8B,SAAW,EAAAqhC,oBAAA;MACXh0C,OAAS,EAAA,CAAA;MACR,GAAGkwC,OAAA;MACJ5U,QAAU,EAAA,CAAA,CAAA;MAEVlf,QAAA,iBAAAI,GAAA,CAAC+rB,KAAA,EAAA;QACCxa,EAAG,EAAA,IAAA;QACH,sBAAsB,EAAA,KAAA;QACtB,SAAQ,EAAA,2BAAA;QACR2B,EAAI,EAAA6hB,SAAA;QACJ7xB,GAAK,EAAAyxB,iBAAA;QACLjC,IAAK,EAAA,SAAA;QACLjwC,KAAO,EAAA,CAAA;QAENmd,QAAA,EAAAu1B,eAAA,CAAgB5zC,GAAI,CAAC6xC,MAAW,IAAA;UAC/B,MAAMqE,SACJ7E,WAAgB,KAAA,IAAA,GAAOQ,MAAO,CAAAzyC,KAAA,KAAUiyC,cAAcoC,aAAkB,KAAA5B,MAAA;UAGxE,sBAAApzB,GAAA,CAACqyB,kBAAA,EAAA;YACCnf,EAAI,EAAA,EAAA,CAAGjyB,MAAE,CAAAiyB,EAAA,EAAA,UAAA,CAAA,CAAWjyB,MAAO,CAAAmyC,MAAA,CAAAzyC,KAAA,CAAA;YAE3B2xC,QAAU,EAAAuD,kBAAA;YACVne,QAAU,EAAA+f,MAAA;YACV92C,OAAOyyC,MAAO,CAAAzyC,KAAA;YAEbif,QAAA,EAAAoV,YAAA,CAAa+e,YAAa,CAAAX,MAAM,CAAG,EAAA;cAClCvc,QAAU,EAAAI,OAAA;cACVS,QAAU,EAAA+f,MAAA;cACV3Y,QAAA,EAAUiU,WAAe,IAAA0E,MAAA,GAAS,CAAI,GAAA,CAAA;YAAA,CACvC;UAAA,CAAA,EATIrE,MAAO,CAAAzyC,KAAA,CAUd;QAAA,CAEH;MAAA,CACH;IAAA,CAAA,CACF;EAAA,CAED,EAAA,CACDiyC,WAAA,EACAoC,aAAA,EACAG,eAAA,EACAU,kBAAA,EACA2B,oBAAA,EACAtkB,EAAA,EACAwgB,OAAA,EACAqB,SAAA,EACAhC,WAAA,EACA9b,OAAA,EACA8c,YAAA,CACD,CAAA;EAEK,MAAA2D,OAAA,GAAU9xC,QAAQ,MAAM;IAC5B,IAAIquC,aAAe,EAAA;MACV,OAAAA,aAAA,CACL;QACEvwC,OAAA;QACAmnC,QAAQ,CAACyK,QAAA;QACTqC,cAAcjD,eAAgB,CAAAxtC,OAAA;QAC9B+qC,YAAc,EAAAqE,uBAAA;QACdpE,YAAc,EAAAqE;MAChB,CAAA,EACA9B,wBAAA,CACF;IACF;IAEA,IAAIW,uBAAuB,CAAG,EAAA;MACrB,OAAA,IAAA;IACT;IAGE,sBAAAp1B,GAAA,CAAC6nB,OAAA,EAAA;MACCjY,KAAO,EAAA,KAAA;MACP2Y,aAAa,EAAA,IAAA;MACb7kC,OAAA;MACA8kC,kBAAoB,EAAA0K,wCAAA;MACpBzK,mBAAmB,EAAA,IAAA;MACnBwJ,YAAc,EAAAqE,uBAAA;MACdpE,YAAc,EAAAqE,uBAAA;MACd5N,IAAM,EAAA2M,QAAA;MACNtwB,QAAS,EAAA,MAAA;MACT8f,SAAW,EAAAmO,8BAAA;MACX1R,MAAM,EAAA,IAAA;MACNzjB,MAAA;MACAoF,GAAK,EAAAuxB,wBAAA;MACL1L,kBAAkB2L,eAAgB,CAAAxtC,OAAA;MACjC,GAAG4X;IAAA,CAAA,CACN;EAAA,CAED,EAAA,CACDpb,OAAA,EACA4xC,QAAA,EACAF,kBAAA,EACAkB,uBAAA,EACAC,uBAAA,EACAz3B,OAAA,EACAhB,MAAA,EACAm2B,aAAA,CACD,CAAA;EAGC,sBAAAlzB,IAAA,CAACyN,MAAA,EAAA;IACC,SAAQ,EAAA,cAAA;IACRwjB,MAAQ,EAAAuD,cAAA;IACR/U,OAAS,EAAAkV,eAAA;IACTv/B,SAAW,EAAA2/B,iBAAA;IACX5yB,GAAK,EAAAsxB,cAAA;IAEJ50B,QAAA,EAAA,CAAAzB,KAAA,EACAu5B,OAAA;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;AAKM,MAAME,YAAe,GAAArE,iBAAA;;;;;;AChrB5B,IAAA7pC,IAAA,EAAAO,IAAA;AAGa,MAAAukB,MAAA,GAAOC,MAAO,CAAAopB,EAAA,CAAPnuC,IAAS,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,2IAAA,CAAA,CAAA,CAAA,CAAA;AAUtB,MAAM03B,YAAe,GAAArpB,MAAA,CAAOmI,MAAM,CAAA,CAAb3sB,IAAc,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,0CAAA,CAAA,CAAA,CAAA,CAAA;ACInC,MAAM23B,WAAc,GAAAjpB,UAAA,CAAW,SAASipB,YAAAA,CAC7C91C,OACAihB,GACA,EAAA;EACM,MAAA;IAACtD;IAAU6U,SAAW;IAAAujB,SAAA;IAAWv1C,OAAOw1C,QAAW,GAAA,CAAA;IAAG,GAAG7oB;EAAa,CAAA,GAAAntB,KAAA;EACtE,MAAAQ,KAAA,GAAQiD,aAAauyC,QAAQ,CAAA;EACnC,MAAM,CAACtP,IAAA,EAAMuP,OAAO,CAAA,GAAIvxC,SAAS,KAAK,CAAA;EACtC,MAAM,CAACwxC,aAAA,EAAeC,gBAAgB,CAAA,GAAIzxC,SAAmC,IAAI,CAAA;EACjF,MAAM,CAAC0xC,cAAA,EAAgBC,iBAAiB,CAAA,GAAI3xC,SAAgC,IAAI,CAAA;EAEhF,MAAM4xC,WAAWzlB,WAAY,CAAA,MAAMolB,QAAQ,KAAK,CAAA,EAAG,EAAE,CAAA;EACrD,MAAMM,SAAS1lB,WAAY,CAAA,MAAMolB,QAAQ,IAAI,CAAA,EAAG,EAAE,CAAA;EAElD3xC,eAAA,CAAgBgyC,QAAU,EAAA,CAACJ,aAAe,EAAAE,cAAc,CAAC,CAAA;EAEzD,MAAMI,QAAW,GAAA7yC,OAAA,CACf,MACE8yC,QAAS,CAAAC,OAAA,CAAQ/4B,QAAQ,CAAE,CAAAvZ,MAAA,CAAQsuB,KAAU,IAAA;IAC3C,OAAOkD,eAAelD,KAAK,CAAA;EAAA,CAC5B,CAAA,EACH,CAAC/U,QAAQ,CAAA,CACX;EAEM,MAAA8iB,KAAA,GAAQ98B,QAAQ,MAAM;IAC1B,MAAM4lB,MAAMitB,QAAS,CAAAr2C,MAAA;IAEjB,IAAAqyB,SAAA,IAAajJ,MAAMiJ,SAAW,EAAA;MAChC,MAAMmkB,YAAe,GAAA/zC,IAAA,CAAKo/B,IAAK,CAAAxP,SAAA,GAAY,CAAC,CAAA;MAC5C,MAAMokB,WAAc,GAAAh0C,IAAA,CAAKC,KAAM,CAAA2vB,SAAA,GAAY,CAAC,CAAA;MAErC,OAAA,CACL,GAAGgkB,QAAA,CAAS/jC,KAAM,CAAA,CAAA,EAAGkkC,eAAe,CAAC,CAAA,EAAA,eACrC54B,GAAA,CAAC6nB,OAAA,EAAA;QACCU,aAAa,EAAA,IAAA;QACb7kC,SACG,eAAAsc,GAAA,CAAA+rB,KAAA,EAAA;UAAMxa,EAAG,EAAA,IAAA;UAAKvM,UAAS,MAAO;UAAAxhB,OAAA,EAASf,KAAO;UAAAA,KAAA;UAC5Cmd,mBAASlL,KAAM,CAAAkkC,YAAA,GAAe,CAAG,EAAAptB,GAAA,GAAMqtB,WAAW;SACrD,CAAA;QAGFlQ,IAAA;QACA7D,SAAU,EAAA,KAAA;QACVvD,MAAM,EAAA,IAAA;QACNre,GAAK,EAAAo1B,iBAAA;QAEL14B,QAAA,iBAAAI,GAAA,CAAC83B,YAAA,EAAA;UACC5zC,QAAU,EAAA,CAAA;UACV0xB,IAAK,EAAA,OAAA;UACLoZ,OAAA,EAASrG,OAAO4P,QAAW,GAAAC,MAAA;UAC3Bh1C,OAAS,EAAA,CAAA;UACT0f,GAAK,EAAAk1B,gBAAA;UACL1gB,QAAU,EAAAiR,IAAA;UACVvrB,IAAK,EAAA;QAAA,CACP;MAAA,CAAA,EAdI,QAeN,CAAA,EACA,GAAGq7B,QAAA,CAAS/jC,KAAM,CAAA8W,GAAA,GAAMqtB,WAAW,CAAA,CACrC;IACF;IAEO,OAAAJ,QAAA;EAAA,CACT,EAAG,CAACF,QAAU,EAAAC,MAAA,EAAQ/jB,WAAWkU,IAAM,EAAA8P,QAAA,EAAUh2C,KAAK,CAAC,CAAA;EAEvD,OACG,eAAAud,GAAA,CAAAwO,MAAA,EAAA;IAAK,SAAQ,EAAA,aAAA;IAAe,GAAGY,SAAA;IAAWlM,GACxC;IAAAtD,QAAA,EAAA8iB,KAAA,CAAMnhC,GAAI,CAAA,CAAC+a,IAAM,EAAA6nB,SAAA,yBACfxQ,UACE,EAAA;MAAA/T,QAAA,EAAA,CAAAukB,SAAA,GAAY,CACX,mBAAAnkB,GAAA,CAACkV,GAAI,EAAA;QAAA,aAAA,EAAW;QAAC3D,EAAG,EAAA,IAAA;QAAK+D,QAAU,EAAA7yB,KAAA;QAChCmd,sCAAcI,GAAA,CAAA6O,IAAA,EAAA;UAAKI,KAAK,EAAA,IAAA;UAACrP;QAAC,CAAA;OAC7B,CAAA,EAAA,eAEDI,GAAA,CAAAkV,GAAA,EAAA;QAAI3D,EAAG,EAAA,IAAA;QAAM3R,QAAK,EAAAtD;OAAA,CAAA;KANN,EAAA6nB,SAOf,CACD;EACH,CAAA,CAAA;AAEJ,CAAC,CAAA;AC1FM,MAAM2U,eAA0B,GAAA,EAAA;ACShC,SAASC,WAAyBA,CAAA,EAAA;EAChC,OAAA;IACL,iBAAmB,EAAA;MACjBp1C,OAAS,EAAA;IACX,CAAA;IAEAtD,GAAK,EAAA,CAAA;IACLG,IAAM,EAAA,CAAA;IACNF,KAAO,EAAA,CAAA;IACPC,MAAQ,EAAA,CAAA;IACRilB,UAAY,EAAA,QAAA;IACZQ,cAAgB,EAAA,QAAA;IAChBiI,OAAS,EAAA,MAAA;IACT+qB,UAAA,EAAYt8B,OAAQ,CAAAjC,OAAA,CAAQ,yBAAyB;EAAA,CACvD;AACF;AAEO,SAASw+B,8BACdh3C,KACa,EAAA;EACP,MAAA;IAACD;EAAS,CAAA,GAAAC,KAAA;EACV,MAAA;IAACd;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EAEf,OAAArB,WAAA,CAAYC,KAAO,EAAAc,KAAA,CAAMi3C,SAAW,EAAC51C,QAAc,KAAA;IAAC,IAAM,EAAA;MAACA;IAAQ;EAAA,CAAG,CAAA,CAAA;AAC/E;ACtBA,MAAMxC,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,2BAA2B,CAAA;AAElDF,WAAY,CAAAve,KAAG,IAAIue,WAAY,CAAAve,KAAG,KAAK0e,aAAkC,CAAA;EAACO,OAAS,EAAA;AAAA,CAAI,CAAA;AAK1E,MAAAo5B,aAAA,GAAmD95B,YAAYve,KAAG,CAAA;ACdxE,SAASs4C,SAAgCA,CAAA,EAAA;EAC9C,OAAO34B,WAAW04B,aAAa,CAAA;AACjC;;;;;;ACTA,IAAAzvC,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,IAAA,EAAAC,EAAA,EAAAC,EAAA;AAmFA,SAASoR,mBAAAA,CACP5yC,eACA,EAAA+6B,aAAA,EACAj6B,MACS,EAAA;EACL,IAAA,CAACd,mBAAmB,CAAC+6B,aAAA,EAAsB,OAAA,IAAA;EAE/C,OACE9C,wBAAwBj4B,eAAiB,EAAAc,MAAM,CAC/C,IAAAm3B,uBAAA,CAAwB8C,eAAej6B,MAAM,CAAA;AAEjD;AAEA,MAAMinB,MAAA,GAAOC,OAAOqS,KAAK,CAAA,CACvB1T,sBAAA,EACA2rB,WAAA,EACAE,6BACF,CAAA;AAEA,MAAMK,eAAkB,GAAA7qB,MAAA,CAAO0M,SAAS,CAAA,CAAhBzxB,IAAiB,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,kKAAA,CAAA,CAAA,CAAA,CAAA;AAWzC,MAAMm5B,cAAiB,GAAA9qB,MAAA,CAAOuK,IAAI,CAAA,CAAX/uB,IAAY,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,iJAAA,CAAA,CAAA,CAAA,CAAA;AAWnC,MAAMo5B,YAAe,GAAA/qB,MAAA,CAAOoH,IAAI,CAAA,CAAX5J,IAAY,KAAAA,IAAA,GAAA7L,YAAA,CAAA,CAAA,kDAAA,CAAA,CAAA,CAAA,CAAA;AAMjC,MAAMq5B,YAAA,GAAehrB,OAAOuK,IAAI,CAAA,CAAX+O,gBAA+B3nB,YAQzB,CAAA,CAAA,mIAAA,EAAA,kBAAA,EACC,uDAEiC,EAAA,oCAAA,EAE8B,kDAL/E,CAAA,CAAA,CAAA,EAAA04B,eAAA,EACCA,iBAEkBp8B,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAE7C,EAACxY,SAAWA,KAAM,CAAAy3C,oBAAA,IAAwBz3C,KAAM,CAAA03C,mBAAA,GAAsB,CAAI,GAAA,CAAA,CAAA;AAKzF,MAAMC,aAAgB,GAAAnrB,MAAA,CAAOyG,GAAG,CAAA,CAAV8S,EAAW,KAAAA,EAAA,GAAA5nB,YAAA,CAAA,CAAA,+EAAA,CAAA,CAAA,CAAA,CAAA;AAOjC,MAAMy5B,YAAA,GAAeprB,OAAOyG,GAAG,CAAA,CAAV+S,YAA8B7nB,YAQxB,CAAA,CAAA,oIAAA,EAAA,kBAAA,EACC,iDAE8B,EAAA,oCAAA,EAEmC,kDALjF,CAAA,CAAA,CAAA,EAAA04B,eAAA,EACCA,iBAEep8B,OAAQ,CAAAjC,OAAA,CAAQ,aAAa,CAAA,EAEzCxY,KAAA,IAAWA,MAAMy3C,oBAAwB,IAAA,CAACz3C,KAAM,CAAA63C,oBAAA,GAAuB,CAAI,GAAA,CAAA,CAAA;AAK3F,MAAMC,UAAa,GAAAjrB,UAAA,CAAW,SAASirB,WAAAA,CACrC93C,OACAihB,GACA,EAAA;EAhLFxZ,IAAAA,GAAAA;EAiLQ,MAAA;IACJswC,oBAAsB,EAAAC,SAAA;IACtBC,0BAA4B,EAAAC,eAAA;IAC5Bv6B,QAAA;IACAw6B,UAAA;IACAC,MAAA;IACAC,MAAA;IACApnB,EAAA;IACAqnB,cAAA;IACAC,OAAA;IACAjZ,MAAQ,EAAAkZ,UAAA;IACR38B,MAAQ,EAAA2Z,UAAA;IACRxc,MAAA;IACA8S,MAAQ,EAAAib,UAAA;IACRz/B,KAAO,EAAA0/B;EACL,CAAA,GAAAhnC,KAAA;EACJ,MAAMs/B,SAASH,SAAU,EAAA;EACnB,MAAAI,aAAA,GAAgBiZ,eAAa/wC,GAAA,GAAA63B,MAAA,CAAO36B,aAAP,IAAA8C,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkB+wC,UAAe,CAAA,KAAA,IAAA,GAAOlZ,MAAO,CAAAv7B,OAAA;EAC5E,MAAAS,eAAA,GAAkB01B,mBAAqB,CAAA,CAAAn2B,OAAA;EACvC,MAAA8X,MAAA,GAASpY,aAAa+xB,UAAU,CAAA;EAChC,MAAA1J,MAAA,GAASroB,aAAasjC,UAAU,CAAA;EAChC,MAAAz/B,KAAA,GAAQ7D,aAAaujC,SAAS,CAAA;EAC9B,MAAArP,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EACxC,MAAM,CAAC2d,WAAA,EAAa6Z,cAAc,CAAA,GAAI/zC,SAAgC,IAAI,CAAA;EACpE,MAAAg0C,eAAA,GAAkB5zC,OAA8B,IAAI,CAAA;EAC1D,MAAM4Z,QAAQ6c,QAAS,EAAA;EACjB,MAAA;IAACwC;EAAc,CAAA,GAAArf,KAAA;EACf,MAAAi6B,OAAA,GAAU,GAAG35C,MAAE,CAAAiyB,EAAA,EAAA,QAAA,CAAA;EACrB,MAAM2nB,eAAkB,GAAAv0C,OAAA,CAAQk0C,OAAO,CAAA,IAAKL,eAAoB,KAAA,KAAA;EAC1D,MAAAW,UAAA,GAAax0C,OAAQ,CAAAg0C,MAAM,CAAK,IAAAO,eAAA;EACtC,MAAM,CAACE,mBAAA,EAAqBC,sBAAsB,CAAA,GAAIr0C,SAAS,KAAK,CAAA;EACpE,MAAM,CAACs0C,kBAAA,EAAoBC,qBAAqB,CAAA,GAAIv0C,SAAS,KAAK,CAAA;EAClE,MAAM,CAACw0C,mBAAA,EAAqBC,sBAAsB,CAAA,GAAIz0C,SAAS,KAAK,CAAA;EAEpEK,SAAA,CAAU,MAAM;IACd,IAAI,CAACizC,SAAA,EAAW;IAGhB,IAAIrgB,aAAa1yB,OAAS,EAAA;MACxBi4B,oBAAA,CAAqBvF,aAAa1yB,OAAO,CAAA;IAC3C;EAAA,CACC,EAAA,CAAC+yC,SAAW,EAAArgB,YAAY,CAAC,CAAA;EAE5B1jB,gBAAA,CACE4c,WAAA,CACGxqB,KAAyB,IAAA;IACpB,IAAA,CAAC03B,cAAc,CAACwa,OAAA,EAAS;IAE7B,MAAMjzC,SAASkB,QAAS,CAAAm2B,aAAA;IAExB,IAAIr3B,UAAU,CAAC8xC,mBAAA,CAAoB5yC,eAAiB,EAAA+6B,aAAA,EAAej6B,MAAM,CAAG,EAAA;MAE1E;IACF;IAEI,IAAAe,KAAA,CAAMxH,QAAQ,QAAU,EAAA;MAC1BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MACdiM,OAAA,EAAA;IACV;EACF,CAAA,EACA,CAAC/zC,eAAA,EAAiBu5B,UAAY,EAAAwa,OAAA,EAAShZ,aAAa,CACtD,CAAA,CACF;EAEAj7B,eAAA,CACEusB,WAAA,CACGxqB,KAAsB,IAAA;IACjB,IAAA,CAAC03B,cAAc,CAACua,cAAA,EAAgB;IAEpC,MAAMhzC,SAASe,KAAM,CAAAf,MAAA;IAErB,IAAIA,UAAU,CAAC8xC,mBAAA,CAAoB5yC,eAAiB,EAAA+6B,aAAA,EAAej6B,MAAM,CAAG,EAAA;MAE1E;IACF;IAEegzC,cAAA,EAAA;EACjB,CAAA,EACA,CAAC9zC,eAAA,EAAiBu5B,UAAY,EAAAua,cAAA,EAAgB/Y,aAAa,CAC7D,CAAA,EACA,CAACX,WAAW,CAAA,CACd;EAEA,MAAMpE,MAAS,GAAA3J,WAAA,CACZ3sB,EAA8B,IAAA;IAC7Bu0C,cAAA,CAAev0C,EAAE,CAAA;IACjByzB,YAAA,CAAa1yB,OAAU,GAAAf,EAAA;EACzB,CAAA,EACA,CAACyzB,YAAY,CAAA,CACf;EAEA,MAAMyhB,aAAgB,GAAAvoB,WAAA,CACnB3sB,EAA8B,IAAA;IAC7Bw0C,eAAA,CAAgBzzC,OAAU,GAAAf,EAAA;IAC1B,IAAI,OAAOi0C,UAAe,KAAA,UAAA,EAAYA,UAAA,CAAWj0C,EAAE,CAAA,CAAA,KAC1C,IAAAi0C,UAAA,EAAYA,UAAA,CAAWlzC,OAAU,GAAAf,EAAA;EAC5C,CAAA,EACA,CAACi0C,UAAU,CAAA,CACb;EAEM,MAAAkB,mBAAA,GAAsBxoB,YAAY,MAAM;IAC5C,IAAI6nB,gBAAgBzzC,OAAS,EAAA;MAC3B8zC,sBAAA,CACEL,eAAgB,CAAAzzC,OAAA,CAAQ+G,YAAe,GAAA0sC,eAAA,CAAgBzzC,OAAQ,CAAA87B,YAAA,CACjE;MACsBkY,qBAAA,CAAAP,eAAA,CAAgBzzC,OAAQ,CAAA47B,SAAA,GAAY,CAAC,CAAA;MAC3DsY,sBAAA,CACET,gBAAgBzzC,OAAQ,CAAA47B,SAAA,IACtB6X,gBAAgBzzC,OAAQ,CAAA87B,YAAA,GAAe2X,gBAAgBzzC,OAAQ,CAAA+G,YAAA,CACnE;IACF;EACF,CAAA,EAAG,EAAE,CAAA;EAELjH,SAAA,CAAU,MAAM;IACR,MAAA4M,cAAA,GAAiB,IAAIlC,cAAA,CAAe4pC,mBAAmB,CAAA;IAE7D,IAAIX,gBAAgBzzC,OAAS,EAAA;MACZ0M,cAAA,CAAArC,OAAA,CAAQopC,gBAAgBzzC,OAAO,CAAA;IAChD;IAEA,OAAO,MAAM;MACX0M,cAAA,CAAeR,UAAW,CAAA,CAAA;IAAA,CAC5B;EAAA,CACC,EAAA,CAACgnC,UAAY,EAAAkB,mBAAmB,CAAC,CAAA;EAEpC,sBACGt7B,GAAA,CAAAs5B,eAAA,EAAA;IAAgB,SAAQ,EAAA,YAAA;IAAa/vC;IACpCqW,QAAC,EAAA,eAAAI,GAAA,CAAAu5B,cAAA,EAAA;MAAez7B,MAAgB;MAAAoF,GAAA,EAAKuZ;MAAQxhB,MAAgB;MAAA8S,MAAA;MAC3DnO,QAAC,EAAA,eAAAmB,IAAA,CAAAy4B,YAAA,EAAA;QAAatzB,WAAU,QACrB;QAAAtG,QAAA,EAAA,CACCk7B,UAAA,mBAAA96B,GAAA,CAACy5B,YAAA,EAAA;UACCC,oBAAsB,EAAAqB,mBAAA;UACtBpB,mBAAqB,EAAAsB,kBAAA;UAErBr7B,8BAACiW,IACC,EAAA;YAAAjW,QAAA,EAAA,CAAA,eAAAI,GAAA,CAACkV,GAAI,EAAA;cAAAzO,IAAA,EAAM,CAAG;cAAAjjB,OAAA,EAAS;cACpBoc,QACC,EAAA06B,MAAA,IAAA,eAAAt6B,GAAA,CAAC6O,IAAK,EAAA;gBAAAqE,EAAA,EAAI0nB;gBAASz2C,IAAM,EAAA,CAAA;gBAAGgrB,MAAO,EAAA,QAAA;gBAChCvP;cACH,CAAA;aAEJ,CAAA,EACCi7B,eACC,IAAA,eAAA76B,GAAA,CAACkV,GAAI,EAAA;cAAA1xB,OAAA,EAAS,CACZ;cAAAoc,QAAA,iBAAAI,GAAA,CAAC4W,MAAA,EAAA;gBACC,YAAW,EAAA,cAAA;gBACXC,UAAU,CAAC2jB,OAAA;gBACX1jB,IAAM,EAAAiY,SAAA;gBACNnZ,IAAK,EAAA,OAAA;gBACLoZ,OAAS,EAAAwL,OAAA;gBACTh3C,OAAS,EAAA;cAAA,CAAA;aAEb,CAAA;WAEJ;QAAA,CACF,CAAA,EAGF,eAAAwc,GAAA,CAAC45B,aAAc,EAAA;UAAAnzB,IAAA,EAAM,CAAG;UAAAvD,GAAA,EAAKm4B;UAAevc,QAAU,EAAA,CAAA,CAAA;UAAIyc,QAAU,EAAAD,mBAAA;UACjE17B;QACH,CAAA,CAAA,EAECy6B,MACC,mBAAAr6B,GAAA,CAAC65B,YAAA,EAAA;UACCH,oBAAsB,EAAAqB,mBAAA;UACtBjB,oBAAsB,EAAAqB,mBAAA;UAErBv7B,QAAA,EAAAy6B;QAAA,CACH,CAAA;OAEJ;KACF;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;AAKM,MAAMmB,MAAS,GAAA1sB,UAAA,CAAW,SAAS0sB,OAAAA,CACxCv5C,OACAihB,GACA,EAAA;EAxWF,IAAAxZ,GAAAO,EAAAA,GAAAA;EAyWE,MAAM2U,SAASw6B,SAAU,EAAA;EACzB,MAAMp3C,QAAQmf,QAAS,EAAA;EACjB,MAAA;IACJ64B,sBAAsBC,SAAY,GAAA,IAAA;IAClCC,4BAA4BC,eAAkB,GAAA,KAAA;IAC9CsB,YAAYC,cAAiB,GAAA,CAAA;IAC7BC,UAAa,GAAA,CAAA;IACb/7B,QAAA;IACAw6B,UAAA;IACAC,MAAA;IACAC,MAAA;IACApnB,EAAA;IACAqN,UAAA;IACAga,cAAA;IACAC,OAAA;IACAha,OAAA;IACAh9B,SAAS0zB,WAAc,GAAA,CAAA;IACvBqK,MAAQ,EAAAkZ,UAAA;IACRn3C,QAAA,EAAUs4C,YAAe,GAAAh9B,MAAA,CAAOtb,QAAY,IAAA,OAAA;IAC5C2X,MAAA;IACA1R,OAAO0/B,SAAY,GAAA,CAAA;IACnBpqB,OAAA,EAAS2gB,WAAc,GAAA5gB,MAAA,CAAOC,OAAWnV,KAAAA,CAAAA,GAAAA,GAAA1H,MAAMO,MAAO,CAAAoe,KAAA,KAAb,IAAAjX,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAoBkV,MAAO,CAAAC,OAAA,CAAA;IACpE,GAAGuQ;EACD,CAAA,GAAAntB,KAAA;EACJ,MAAMs/B,SAASH,SAAU,EAAA;EACnB,MAAAI,aAAA,GAAgBiZ,eAAaxwC,GAAA,GAAAs3B,MAAA,CAAO36B,aAAP,IAAAqD,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkBwwC,UAAe,CAAA,KAAA,IAAA,GAAOlZ,MAAO,CAAAv7B,OAAA;EAC5E,MAAAS,eAAA,GAAkB01B,mBAAqB,CAAA,CAAAn2B,OAAA;EACvC,MAAAy1C,UAAA,GAAa/1C,aAAag2C,cAAc,CAAA;EACxC,MAAAl4C,OAAA,GAAUkC,aAAawxB,WAAW,CAAA;EAClC,MAAA5zB,QAAA,GAAWoC,aAAak2C,YAAY,CAAA;EACpC,MAAAryC,KAAA,GAAQ7D,aAAaujC,SAAS,CAAA;EAC9B,MAAApqB,OAAA,GAAUnZ,aAAa85B,WAAW,CAAA;EAClC,MAAAqc,SAAA,GAAY90C,OAA8B,IAAI,CAAA;EAC9C,MAAA+0C,UAAA,GAAa/0C,OAA8B,IAAI,CAAA;EAC/C,MAAAg1C,OAAA,GAAUh1C,OAA8B,IAAI,CAAA;EAC5C,MAAAi1C,iBAAA,GAAoBj1C,OAA2B,IAAI,CAAA;EAEzD,MAAM65B,WAAc,GAAA9N,WAAA,CACjBxqB,KAA4C,IAAA;IACjCk4B,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAl4B,KAAA,CAAA;IAEV,MAAMf,SAASe,KAAM,CAAAf,MAAA;IACrB,MAAM00C,cAAcF,OAAQ,CAAA70C,OAAA;IAExB,IAAA+0C,WAAA,IAAe10C,MAAW,KAAAs0C,SAAA,CAAU30C,OAAS,EAAA;MAC/Cm4B,mBAAA,CAAoB4c,WAAW,CAAA;MAE/B;IACF;IAEI,IAAAA,WAAA,IAAe10C,MAAW,KAAAu0C,UAAA,CAAW50C,OAAS,EAAA;MAChDi4B,oBAAA,CAAqB8c,WAAW,CAAA;MAEhC;IACF;IAEI,IAAA9d,aAAA,CAAc71B,KAAM,CAAAf,MAAM,CAAG,EAAA;MAC/By0C,iBAAA,CAAkB90C,UAAUoB,KAAM,CAAAf,MAAA;IACpC;EACF,CAAA,EACA,CAACi5B,OAAO,CAAA,CACV;EAEM,MAAAoa,OAAA,GAAU,GAAG35C,MAAE,CAAAiyB,EAAA,EAAA,QAAA,CAAA;EAErB,MAAMgpB,sBAAsBn1C,MAAuB,EAAA;EAK7C,MAAAo1C,eAAA,GAAkBrpB,YAAY,MAAM;IACxC,IAAIopB,oBAAoBh1C,OAAS,EAAA;MAC/BwoC,YAAA,CAAawM,oBAAoBh1C,OAAO,CAAA;IAC1C;IAEoBg1C,mBAAA,CAAAh1C,OAAA,GAAUyoC,WAAW,MAAM;MAC7C,MAAM/Q,gBAAgBn2B,QAAS,CAAAm2B,aAAA;MAE/B,IAAIA,iBAAiB,CAACya,mBAAA,CAAoB5yC,eAAiB,EAAA+6B,aAAA,EAAe5C,aAAa,CAAG,EAAA;QACxF,MAAMr3B,SAASy0C,iBAAkB,CAAA90C,OAAA;QAEjC,IAAI,CAACK,MAAU,IAAA,CAACkB,SAASyK,IAAK,CAAAzL,QAAA,CAASF,MAAM,CAAG,EAAA;UAE9C,MAAM00C,cAAcF,OAAQ,CAAA70C,OAAA;UACxB,IAAA+0C,WAAA,EAAa9c,oBAAA,CAAqB8c,WAAW,CAAA;UAEjD;QACF;QAEA10C,MAAA,CAAO23B,KAAM,CAAA,CAAA;MACf;OACC,CAAC,CAAA;EAAA,CACH,EAAA,CAACz4B,eAAiB,EAAA+6B,aAAa,CAAC,CAAA;EAGjC,OAAA,eAAAxhB,GAAA,CAACqhB,MAAO,EAAA;IAAAC,eAAA,EAAiBmZ,UACvB;IAAA76B,QAAA,EAAA,eAAAmB,IAAA,CAACyN,MAAA,EAAA;MACE,GAAGY,SAAA;MACJ/D,QAAU,EAAA7nB,OAAA;MACV01C,SAAW,EAAA51C,QAAA;MACX,iBAAiB,EAAAs3C,OAAA;MACjB,YAAU,EAAA,IAAA;MACV,SAAQ,EAAA,QAAA;MACR1nB,EAAA;MACAqN,UAAA;MACAyO,OAAS,EAAAmN,eAAA;MACT3b,OAAS,EAAAI,WAAA;MACT1d,GAAA;MACAwvB,IAAK,EAAA,QAAA;MACL7zB,OAAA;MAEAe,QAAA,EAAA,CAAA,eAAAI,GAAA,CAAC,KAAI,EAAA;QAAAkD,GAAA,EAAK24B,SAAW;QAAA/c,QAAA,EAAU;OAAG,CAAA,EAAA,eAClC9e,GAAA,CAAC+5B,UAAA,EAAA;QACCC,oBAAsB,EAAAC,SAAA;QACtBC,0BAA4B,EAAAC,eAAA;QAC5BC,UAAA;QACAC,MAAA;QACAC,MAAA;QACApnB,EAAA;QACAqnB,cAAA;QACAC,OAAA;QACAjZ,MAAQ,EAAAkZ,UAAA;QACR38B,MAAQ,EAAA29B,UAAA;QACRv4B,GAAK,EAAA64B,OAAA;QACL9gC,MAAA;QACA8S,MAAQ,EAAA4tB,UAAA;QACRpyC,KAAA;QAECqW;MAAA,CACH,CAAA,EAAA,eACCI,GAAA,CAAA,KAAA,EAAA;QAAIkD,GAAK,EAAA44B,UAAA;QAAYhd,UAAU;OAAG,CAAA;IAAA,CAEvC;EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;AC7dM,SAASsd,eAAen6C,KAAgD,EAAA;EAC7E,MAAM;IAAC2d,QAAA;IAAUtc,QAAU;IAAAub;EAAA,CAAW,GAAA5c,KAAA;EAEtC,MAAMq7B,YAAmC,GAAA13B,OAAA,CACvC,OAAO;IACLma,OAAS,EAAA,CAAA;IACTzc,QAAA;IACAub;EAAA,CACF,CAAA,EACA,CAACvb,UAAUub,OAAO,CAAA,CACpB;EAEA,0BAAQs6B,aAAc,CAAAl5B,QAAA,EAAd;IAAuBtf,KAAA,EAAO28B;IAAe1d;EAAS,CAAA,CAAA;AAChE;;;;;;AC/BA,IAAAlW,IAAA,EAAAO,IAAA;AAiBA,MAAMukB,MAAA,GAAOC,MAAO,CAAAmN,GAAA,CAAPlyB,IAAU,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,qEAAA,CAAA,CAAA,CAAA,CAAA;AAOvB,MAAMi8B,GAAM,GAAA5tB,MAAA,CAAOoN,GAAG,CAAA,CAAV5xB,IAAW,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,mDAAA,CAAA,CAAA,CAAA,CAAA;AAShB,MAAMk8B,OAAU,GAAAxtB,UAAA,CAAW,SAASwtB,QAAAA,CACzCr6C,OACAihB,GACA,EAAA;EACM,MAAA;IAAChf,QAAU;IAAAxD,IAAA;IAAM8C,OAAS;IAAAsa,MAAA;IAAQrb,OAAOk1B,SAAY,GAAA,CAAA;IAAG,GAAGvI;EAAA,CAAa,GAAAntB,KAAA;EACxE,MAAAQ,KAAA,GAAQiD,aAAaiyB,SAAS,CAAA;EAEpC,IAAI,CAACj3B,IAAA,IAAQA,IAAK,CAAA0B,MAAA,KAAW,CAAG,EAAA;IAC9B,sBAAS4d,GAAA,CAAA2T,QAAA,EAAA,CAAA,CAAA,CAAA;EACX;EAGE,OAAA,eAAA3T,GAAA,CAACwO,MAAK,EAAA;IAAA,SAAA,EAAQ,SAAW;IAAA,GAAGY,SAAW;IAAAlM,GAAA;IACrCtD,QAAC,EAAA,eAAAI,GAAA,CAAA0b,MAAA,EAAA;MAAOnK,EAAG,EAAA,MAAA;MAAO9uB,KACf;MAAAmd,QAAA,EAAAlf,IAAA,CAAKa,IAAI,CAACT,GAAA,EAAKiT,CACd,KAAA,eAAAiM,GAAA,CAACq8B,GAAI,EAAA;QAAAn4C,QAAA;QAA4BV,OAAkB;QAAAsa,MAAA;QAChD8B,QAD2B,EAAA9e;MAAA,CAAA,EAAAiT,CAE9B,CACD;IAAA,CACH;EACF,CAAA,CAAA;AAEJ,CAAC,CAAA;AC7BD,MAAMjT,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,yBAAyB,CAAA;AAEhDF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAuC,IAAI,CAAA;AAErE,MAAA+8B,WAAA,GAAsDl9B,YAAYve,KAAG,CAAA;ACzBlF,SAAS07C,aAAax2C,OAAsB,EAAA;EAC1C,OACGi4B,mBAAoB,CAAAj4B,OAAO,CAAK,IAAAA,OAAA,CAAQ+4B,YAAa,CAAA,eAAe,CAAM,KAAA,MAAA,IAC1Eb,mBAAoB,CAAAl4B,OAAO,CAAK,IAAA,CAACA,OAAQ,CAAA6wB,QAAA;AAE9C;AAKO,SAAS4lB,sBAAsB71C,QAAwC,EAAA;EACrE,OAAAA,QAAA,CAASP,OAAOm2C,YAAY,CAAA;AACrC;AAKgB,SAAAE,WAAAA,CAAY7b,aAA0B16B,EAA2B,EAAA;EAC/E,MAAMugC,OAAiB,EAAC;EAExB,IAAI+O,CAAI,GAAAtvC,EAAA;EAER,OAAOsvC,MAAM5U,WAAa,EAAA;IACxB,MAAM8b,gBAAgBlH,CAAE,CAAAkH,aAAA;IAExB,IAAI,CAACA,aAAA,EAAsB,OAAAjW,IAAA;IAE3B,MAAM9mB,QAAW,GAAA/d,KAAA,CAAM+6C,IAAK,CAAAD,aAAA,CAAcvd,UAAU,CAAA;IAC9C,MAAA7qB,KAAA,GAAQqL,QAAS,CAAAnL,OAAA,CAAQghC,CAAC,CAAA;IAEhC/O,IAAA,CAAKmW,QAAQtoC,KAAK,CAAA;IAElB,IAAIooC,kBAAkB9b,WAAa,EAAA;MAC1B,OAAA6F,IAAA;IACT;IAEI+O,CAAA,GAAAkH,aAAA;EACN;EAEO,OAAAjW,IAAA;AACT;AAEA,MAAMoW,aAAuB,EAAC;AAKd,SAAAC,aAAAA,CAAclc,aAAiCj6B,QAA+B,EAAA;EAC5F,IAAI,CAACi6B,WAAA,EAAa;EAEZ,MAAAt/B,GAAA,GAAA,mBAAUwJ,OAA+B,EAAA;EAE/C,KAAA,MAAW5E,MAAMS,QAAU,EAAA;IACzBrF,GAAA,CAAI6K,GAAI,CAAAjG,EAAA,EAAIu2C,WAAY,CAAA7b,WAAA,EAAa16B,EAAE,CAAC,CAAA;EAC1C;EAEM,MAAA62C,KAAA,GAAQA,CAACplC,CAAA,EAAgBvB,CAAmB,KAAA;IAChD,MAAM3M,EAAK,GAAAnI,GAAA,CAAI4K,GAAI,CAAAyL,CAAC,CAAK,IAAAklC,UAAA;IACzB,MAAM7yC,EAAK,GAAA1I,GAAA,CAAI4K,GAAI,CAAAkK,CAAC,CAAK,IAAAymC,UAAA;IAEzB,MAAMtxB,MAAM3mB,IAAK,CAAAgS,GAAA,CAAInN,EAAG,CAAAtH,MAAA,EAAQ6H,GAAG7H,MAAM,CAAA;IAGzC,KAAA,IAAS2R,CAAI,GAAA,CAAA,EAAGA,CAAI,GAAAyX,GAAA,EAAKzX,KAAK,CAAG,EAAA;MACzB,MAAAkpC,MAAA,GAASvzC,EAAG,CAAAqK,CAAC,CAAK,IAAA,CAAA,CAAA;MAClB,MAAAmpC,MAAA,GAASjzC,EAAG,CAAA8J,CAAC,CAAK,IAAA,CAAA,CAAA;MAExB,IAAIkpC,WAAWC,MAAQ,EAAA;QACrB,OAAOD,MAAS,GAAAC,MAAA;MAClB;IACF;IAEO,OAAA,CAAA;EAAA,CACT;EAEAt2C,QAAA,CAASu2C,KAAKH,KAAK,CAAA;AACrB;AC3DO,SAASI,kBAAkBn7C,KAIf,EAAA;EACjB,MAAM;IAACkU,SAAA;IAAWknC,aAAe;IAAAC;EAAA,CAAe,GAAAr7C,KAAA;EAC1C,MAAA6E,WAAA,GAAcC,MAAsB,CAAA,EAAE,CAAA;EAC5C,MAAM,CAAC85B,WAAA,EAAa6Z,cAAc,CAAA,GAAI/zC,SAAgC,IAAI,CAAA;EAC1E,MAAM,CAACqvC,WAAA,EAAauH,eAAe,CAAA,GAAI52C,SAAS,CAAE,CAAA,CAAA;EAC5C,MAAA62C,cAAA,GAAiBz2C,OAAOivC,WAAW,CAAA;EACzC,MAAMpX,aAAgB,GAAA93B,WAAA,CAAYI,OAAQ,CAAA8uC,WAAW,CAAK,IAAA,IAAA;EACpD,MAAAyH,OAAA,GAAUn3C,QAAQu6B,WAAW,CAAA;EAE7B,MAAA6c,cAAA,GAAiB5qB,WAAY,CAAC6qB,eAA4B,IAAA;IAC9DJ,eAAA,CAAgBI,eAAe,CAAA;IAC/BH,cAAA,CAAet2C,OAAU,GAAAy2C,eAAA;EAC3B,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMC,KAAQ,GAAA9qB,WAAA,CACZ,CAAC9sB,SAA6B0xB,QAAqC,KAAA;IACjE,IAAI,CAAC1xB,OAAA,EAAS,OAAO,MAAM,KAAA,CAAA;IAE3B,IAAIc,WAAY,CAAAI,OAAA,CAAQuN,OAAQ,CAAAzO,OAAO,MAAM,CAAI,CAAA,EAAA;MACnCc,WAAA,CAAAI,OAAA,CAAQd,KAAKJ,OAAO,CAAA;MAClB+2C,aAAA,CAAAlc,WAAA,EAAa/5B,YAAYI,OAAO,CAAA;IAChD;IAEA,IAAIwwB,QAAU,EAAA;MACZ,MAAMmmB,aAAgB,GAAA/2C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQzO,OAAO,CAAA;MAEzD03C,cAAA,CAAeG,aAAa,CAAA;IAC9B;IAEA,OAAO,MAAM;MACX,MAAMhoC,GAAM,GAAA/O,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQzO,OAAO,CAAA;MAE/C,IAAI6P,MAAM,CAAI,CAAA,EAAA;QACA/O,WAAA,CAAAI,OAAA,CAAQoJ,MAAO,CAAAuF,GAAA,EAAK,CAAC,CAAA;MACnC;IAAA,CACF;EACF,CAAA,EACA,CAACgrB,aAAa6c,cAAc,CAAA,CAC9B;EAEA,MAAMlL,aAAgB,GAAA1f,WAAA,CACnBxqB,KAA+C,IAAA;IAE1C,IAAAA,KAAA,CAAMxH,QAAQ,KAAO,EAAA;MACvB,IAAIu8C,aAAe,EAAA;QACjBA,aAAA,CAAcne,KAAM,CAAA,CAAA;MACtB;MAEA;IACF;IAGI,IAAA52B,KAAA,CAAMxH,QAAQ,MAAQ,EAAA;MACxBwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAEhB,MAAAuP,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;MAC7D,MAAAf,EAAA,GAAK23C,kBAAkB,CAAC,CAAA;MAE9B,IAAI,CAAC33C,EAAA,EAAI;MAET,MAAM43C,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;MAEnDu3C,cAAA,CAAeK,YAAY,CAAA;MAE3B;IACF;IAGI,IAAAz1C,KAAA,CAAMxH,QAAQ,KAAO,EAAA;MACvBwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAEhB,MAAAuP,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;MACnE,MAAMf,EAAK,GAAA23C,iBAAA,CAAkBA,iBAAkB,CAAA17C,MAAA,GAAS,CAAC,CAAA;MAEzD,IAAI,CAAC+D,EAAA,EAAI;MAET,MAAM43C,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;MAEnDu3C,cAAA,CAAeK,YAAY,CAAA;MAE3B;IACF;IAEI,IAAAz1C,KAAA,CAAMxH,QAAQ,SAAW,EAAA;MAC3BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAEhB,MAAAuP,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;MACnE,MAAM82C,eAAeF,iBAAkB,CAAA17C,MAAA;MAEvC,IAAI47C,YAAiB,KAAA,CAAA,EAAG;MAExB,MAAMpI,cAAiB,GAAA9uC,WAAA,CAAYI,OAAQ,CAAAs2C,cAAA,CAAet2C,OAAO,CAAA;MAE7D,IAAA+2C,YAAA,GAAeH,iBAAkB,CAAArpC,OAAA,CAAQmhC,cAAc,CAAA;MAE3CqI,YAAA,GAAA,CAAAA,YAAA,GAAe,IAAID,YAAgB,IAAAA,YAAA;MAE7C,MAAA73C,EAAA,GAAK23C,kBAAkBG,YAAY,CAAA;MACzC,MAAMF,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;MAEnDu3C,cAAA,CAAeK,YAAY,CAAA;MAE3B;IACF;IAEI,IAAAz1C,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrBhmC,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAEhB,MAAAuP,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;MACnE,MAAM82C,eAAeF,iBAAkB,CAAA17C,MAAA;MAEvC,IAAI47C,YAAiB,KAAA,CAAA,EAAG;MAExB,MAAMpI,cAAiB,GAAA9uC,WAAA,CAAYI,OAAQ,CAAAs2C,cAAA,CAAet2C,OAAO,CAAA;MAE7D,IAAA+2C,YAAA,GAAeH,iBAAkB,CAAArpC,OAAA,CAAQmhC,cAAc,CAAA;MAE3DqI,YAAA,GAAA,CAAgBA,eAAe,CAAK,IAAAD,YAAA;MAE9B,MAAA73C,EAAA,GAAK23C,kBAAkBG,YAAY,CAAA;MACzC,MAAMF,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;MAEnDu3C,cAAA,CAAeK,YAAY,CAAA;MAE3B;IACF;IAEA,IAAI5nC,SAAW,EAAA;MACbA,SAAA,CAAU7N,KAAK,CAAA;IACjB;EACF,CAAA,EACA,CAAC6N,SAAW,EAAAknC,aAAA,EAAeK,cAAc,CAAA,CAC3C;EAEA,MAAMQ,oBAAuB,GAAAprB,WAAA,CAC1BxqB,KAAyC,IAAA;IACxC,MAAMtC,UAAUsC,KAAM,CAAAmqC,aAAA;IACtB,MAAMsL,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQzO,OAAO,CAAA;IAExD03C,cAAA,CAAeK,YAAY,CAAA;EAC7B,CAAA,EACA,CAACL,cAAc,CAAA,CACjB;EAEM,MAAAS,oBAAA,GAAuBrrB,YAAY,MAAM;IAM7C4qB,cAAA,CAAe,CAAE,CAAA,CAAA;IACJ7c,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAA3B,KAAA,CAAA,CAAA;EAAA,CACZ,EAAA,CAACwe,cAAgB,EAAA7c,WAAW,CAAC,CAAA;EAGhC75B,SAAA,CAAU,MAAM;IACd,IAAI,CAACy2C,OAAA,EAAS;IAER,MAAAW,KAAA,GAAQ12C,MAAO,CAAAiK,qBAAA,CAAsB,MAAM;MAC/C,MAAM0sC,eAAeb,cAAe,CAAAt2C,OAAA;MAEpC,IAAIm3C,iBAAiB,CAAI,CAAA,EAAA;QACvB,IAAIf,gBAAgB,OAAS,EAAA;UACrB,MAAAQ,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;UAC7D,MAAAf,EAAA,GAAK23C,kBAAkB,CAAC,CAAA;UAE9B,IAAI33C,EAAI,EAAA;YACN,MAAM43C,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;YAEnDu3C,cAAA,CAAeK,YAAY,CAAA;YAC3BP,cAAA,CAAet2C,OAAU,GAAA62C,YAAA;UAC3B;QACF;QAEA,IAAIT,gBAAgB,MAAQ,EAAA;UACpB,MAAAQ,iBAAA,GAAoBrB,qBAAsB,CAAA31C,WAAA,CAAYI,OAAO,CAAA;UACnE,MAAMf,EAAK,GAAA23C,iBAAA,CAAkBA,iBAAkB,CAAA17C,MAAA,GAAS,CAAC,CAAA;UAEzD,IAAI+D,EAAI,EAAA;YACN,MAAM43C,YAAe,GAAAj3C,WAAA,CAAYI,OAAQ,CAAAuN,OAAA,CAAQtO,EAAE,CAAA;YAEnDu3C,cAAA,CAAeK,YAAY,CAAA;YAC3BP,cAAA,CAAet2C,OAAU,GAAA62C,YAAA;UAC3B;QACF;QAEA;MACF;MAEA,MAAM/3C,OAAU,GAAAc,WAAA,CAAYI,OAAQ,CAAAm3C,YAAY,CAAK,IAAA,IAAA;MAE5Cr4C,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAk5B,KAAA,CAAA,CAAA;IAAA,CACV,CAAA;IAED,OAAO,MAAM;MACXx3B,MAAA,CAAOkrB,qBAAqBwrB,KAAK,CAAA;IAAA,CACnC;KACC,CAACpI,WAAA,EAAayH,OAAS,EAAAC,cAAA,EAAgBJ,WAAW,CAAC,CAAA;EAE/C,OAAA;IACL1e,aAAA;IACAoX,WAAA;IACAkI,oBAAA;IACAC,oBAAA;IACA3L,aAAA;IACAoL,KAAA;IACA/c,WAAA;IACA6Z;EAAA,CACF;AACF;;;;;;AC/OA,IAAAhxC,IAAA;AA+BA,MAAM8kB,MAAO,GAAAC,MAAA,CAAOyG,GAAG,CAAA,CAAVxrB,IAAW,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,yCAAA,CAAA,CAAA,CAAA,CAAA;AAQjB,MAAMk+B,IAAO,GAAAxvB,UAAA,CAAW,SAASwvB,KAAAA,CACtCr8C,OACAihB,GACA,EAAA;EACM,MAAA;IACJtD,QAAA;IAAA;IAEA2+B,UAAA;IAAA;IAEAC,SAAA;IACAjE,cAAA;IACAkE,QAAA;IACAC,WAAA;IACAC,YAAA;IACAxoC,SAAA;IACAknC,aAAA;IACA75C,OAAU,GAAA,CAAA;IACVo7C,eAAA;IACAtB,cAAer7C,KAAM,CAAAs8C,UAAA,IAAc,OAAa,IAAAt8C,KAAA,CAAMu8C,aAAa,MAAW,IAAA,IAAA;IAC9E/7C,KAAQ,GAAA,CAAA;IACR,GAAG2sB;EACD,CAAA,GAAAntB,KAAA;EAEE,MAAA23B,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EAElC,MAAA;IAAC8c;GAAU,GAAIxC,QAAS,EAAA;EAExB,MAAA;IACJoB,aAAA;IACAoX,WAAA;IACAkI,oBAAA;IACAC,oBAAA;IACA3L,aAAA;IACAoL,KAAA;IACA/c,WAAA;IACA6Z;MACE0C,iBAAkB,CAAA;IAACjnC,SAAW;IAAAknC,aAAA;IAAeC;EAAY,CAAA,CAAA;EAE7D,MAAMuB,eAAkB,GAAA/rB,WAAA,CACrB3sB,EAA8B,IAAA;IAC7Bu0C,cAAA,CAAev0C,EAAE,CAAA;IACjByzB,YAAA,CAAa1yB,OAAU,GAAAf,EAAA;EACzB,CAAA,EACA,CAACyzB,cAAc8gB,cAAc,CAAA,CAC/B;EAGA1zC,SAAA,CAAU,MAAM;IACV,IAAA23C,YAAA,EAAcA,YAAA,CAAa3I,WAAW,CAAA;EAAA,CACzC,EAAA,CAACA,WAAa,EAAA2I,YAAY,CAAC,CAAA;EAG9Bp4C,eAAA,CACEusB,WAAA,CACGxqB,KAAA,IAAU03B,UAAc,IAAAua,cAAA,IAAkBA,eAAejyC,KAAK,CAAA,EAC/D,CAAC03B,YAAYua,cAAc,CAC7B,CAAA,EACA,CAAC1Z,WAAW,CAAA,CACd;EAGA3qB,gBAAA,CACE4c,WAAA,CACGxqB,KAAU,IAAA;IACT,IAAI,CAAC03B,UAAA,EAAY;IAEb,IAAA13B,KAAA,CAAMxH,QAAQ,QAAU,EAAA;MAC1BwH,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAClB,IAAAkQ,QAAA,EAAmBA,QAAA,EAAA;IACzB;EACF,CAAA,EACA,CAACze,YAAYye,QAAQ,CACvB,CAAA,CACF;EAGAz3C,SAAA,CAAU,MAAM;IACV,IAAA,CAAC65B,eAAe,CAAC+d,eAAA,EAAiB;IAEtC,OAAOA,gBAAgB/d,WAAW,CAAA;EAAA,CACjC,EAAA,CAAC+d,eAAiB,EAAA/d,WAAW,CAAC,CAAA;EAEjC,MAAMlgC,KAA0B,GAAAiF,OAAA,CAC9B,OAAO;IACLma,OAAS,EAAA,CAAA;IACT6e,aAAA;IACAoX,WAAA;IACA4H,KAAA;IACArD,cAAA;IACAkE,QAAA;IACAC,WAAA;IACAI,gBAAkB,EAAAZ,oBAAA;IAClBa,gBAAkB,EAAAZ,oBAAA;IAClBS,eAAA;IAAA;IAGA3M,YAAc,EAAAiM,oBAAA;IACdhM,YAAc,EAAAiM;EAAA,CAChB,CAAA,EACA,CACEvf,aAAA,EACAoX,WAAA,EACA4H,KAAA,EACAM,oBAAA,EACAC,oBAAA,EACA5D,cAAA,EACAkE,QAAA,EACAC,WAAA,EACAE,eAAA,CACF,CACF;EAEA,OACG,eAAA5+B,GAAA,CAAAu8B,WAAA,CAAYt8B,QAAZ,EAAA;IAAqBtf,KACpB;IAAAif,QAAA,EAAA,eAAAI,GAAA,CAACwO,MAAA,EAAA;MACC,SAAQ,EAAA,MAAA;MACP,GAAGY,SAAA;MACJjZ,SAAW,EAAAq8B,aAAA;MACXhvC,OAAA;MACA0f,GAAK,EAAA27B,eAAA;MACLnM,IAAK,EAAA,MAAA;MACL5T,QAAU,EAAA,CAAA,CAAA;MAEVlf,QAAA,EAAA,eAAAI,GAAA,CAAC+rB,KAAM,EAAA;QAAAtpC,KAAA;QAAemd;MAAS,CAAA;IAAA,CAEnC;EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;ACnHM,MAAMo/B,UAAa,GAAAlwB,UAAA,CAAW,SAASkwB,WAAAA,CAC5C/8C,OACAihB,GACA,EAAA;EACM,MAAA;IACJ+7B,uCAAuCC,0BAA6B,GAAA,KAAA;IACpEz4C,eAAiB,EAAA04C,0BAAA;IACjBzhC,MAAQ,EAAA0hC,UAAA;IACRlsB,EAAA;IACAmsB,IAAM,EAAAC,QAAA;IACN9E,OAAA;IACA+E,MAAA;IACAza,SAAW,EAAA0a,oBAAA;IACXC,aAAe,EAAAC,wBAAA;IACfne,QAAQoe,iBAAoB,GAAA,IAAA;IAC5B7gC,OAAA;IACA8gC,aAAe,EAAAC,wBAAA;IACfhX,eAAiB,EAAAiX;EACf,CAAA,GAAA79C,KAAA;EACJ,MAAM,CAAC0mC,IAAA,EAAMuP,OAAO,CAAA,GAAIvxC,SAAS,KAAK,CAAA;EACtC,MAAM,CAAC22C,WAAA,EAAayC,cAAc,CAAA,GAAIp5C,SAAkC,IAAI,CAAA;EAC5E,MAAM,CAACq5C,aAAA,EAAeC,gBAAgB,CAAA,GAAIt5C,SAAmC,IAAI,CAAA;EACjF,MAAM,CAACu5C,YAAc,EAAAC,oBAAoB,CAAI,GAAAx5C,QAAA,CAAwB,EAAE,CAAA;EACjE,MAAAy5C,OAAA,GAAUr5C,OAAgB4hC,IAAI,CAAA;EAGpC3hC,SAAA,CAAU,MAAM;IACd,IAAIu4C,MAAU,IAAA5W,IAAA,IAAQ,CAACyX,OAAA,CAAQl5C,OAAS,EAAA;MAC/Bq4C,MAAA,EAAA;IACT;EAAA,CACC,EAAA,CAACA,MAAQ,EAAA5W,IAAI,CAAC,CAAA;EAGjB3hC,SAAA,CAAU,MAAM;IACd,IAAIwzC,OAAW,IAAA,CAAC7R,IAAQ,IAAAyX,OAAA,CAAQl5C,OAAS,EAAA;MAC/BszC,OAAA,EAAA;IACV;EAAA,CACC,EAAA,CAACA,OAAS,EAAA7R,IAAI,CAAC,CAAA;EAElB3hC,SAAA,CAAU,MAAM;IACdo5C,OAAA,CAAQl5C,OAAU,GAAAyhC,IAAA;EAAA,CACpB,EAAG,CAACA,IAAI,CAAC,CAAA;EAEH,MAAA0X,iBAAA,GAAoBvtB,YAAY,MAAM;IAClColB,OAAA,CAAC7X,CAAM,IAAA,CAACA,CAAC,CAAA;IACjB0f,cAAA,CAAe,IAAI,CAAA;EACrB,CAAA,EAAG,EAAE,CAAA;EAEC,MAAAO,mBAAA,GAAsBxtB,WAAY,CAACxqB,KAAkD,IAAA;IAGrF,IAAAA,KAAA,CAAMxH,QAAQ,WAAe,IAAAwH,KAAA,CAAMxH,QAAQ,OAAW,IAAAwH,KAAA,CAAMxH,QAAQ,GAAK,EAAA;MAC3EwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrB4J,OAAA,CAAQ,IAAI,CAAA;MACZ6H,cAAA,CAAe,OAAO,CAAA;MAEtB;IACF;IAII,IAAAz3C,KAAA,CAAMxH,QAAQ,SAAW,EAAA;MAC3BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MACrB4J,OAAA,CAAQ,IAAI,CAAA;MACZ6H,cAAA,CAAe,MAAM,CAAA;MAErB;IACF;EACF,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMQ,sBAAyB,GAAAztB,WAAA,CAC5BxqB,KAAsB,IAAA;IACrB,MAAMf,SAASe,KAAM,CAAAf,MAAA;IAEjB,IAAA,EAAEA,kBAAkBC,IAAO,CAAA,EAAA;MAC7B;IACF;IAEA,IAAIw4C,kBAAkBz4C,MAAW,KAAAy4C,aAAA,IAAiBA,aAAc,CAAAv4C,QAAA,CAASF,MAAM,CAAI,CAAA,EAAA;MACjF;IACF;IAEA,KAAA,MAAWpB,MAAM+5C,YAAc,EAAA;MAC7B,IAAI34C,MAAW,KAAApB,EAAA,IAAMA,EAAG,CAAAsB,QAAA,CAASF,MAAM,CAAG,EAAA;QACxC;MACF;IACF;IAEA2wC,OAAA,CAAQ,KAAK,CAAA;EACf,CAAA,EACA,CAAC8H,eAAeE,YAAY,CAAA,CAC9B;EAEM,MAAAM,gBAAA,GAAmB1tB,YAAY,MAAM;IACzColB,OAAA,CAAQ,KAAK,CAAA;IACT,IAAAgH,0BAAA,EAA4B;IAC5B,IAAAc,aAAA,EAAeA,aAAA,CAAc9gB,KAAM,CAAA,CAAA;EAAA,CACtC,EAAA,CAAC8gB,aAAe,EAAAd,0BAA0B,CAAC,CAAA;EAE9C,MAAMvN,UAAa,GAAA7e,WAAA,CAChBxqB,KAA+C,IAAA;IAC9C,MAAMf,SAASe,KAAM,CAAAm4C,aAAA;IAEjB,IAAA,EAAEl5C,kBAAkBC,IAAO,CAAA,EAAA;MAC7B;IACF;IAEA,KAAA,MAAWrB,MAAM+5C,YAAc,EAAA;MAC7B,IAAI/5C,EAAO,KAAAoB,MAAA,IAAUpB,EAAG,CAAAsB,QAAA,CAASF,MAAM,CAAG,EAAA;QACxC;MACF;IACF;IAEA2wC,OAAA,CAAQ,KAAK,CAAA;EACf,CAAA,EACA,CAACgI,YAAY,CAAA,CACf;EAEM,MAAAQ,eAAA,GAAkB5tB,YAAY,MAAM;IACxColB,OAAA,CAAQ,KAAK,CAAA;IACT,IAAAgH,0BAAA,EAA4B;IAC5B,IAAAc,aAAA,EAAeA,aAAA,CAAc9gB,KAAM,CAAA,CAAA;EAAA,CACtC,EAAA,CAAC8gB,aAAe,EAAAd,0BAA0B,CAAC,CAAA;EAExC,MAAAN,eAAA,GAAkB9rB,WAAY,CAAC3sB,EAAoB,IAAA;IACvDg6C,oBAAA,CAAsBQ,GAAQ,IAAAA,GAAA,CAAI1/C,OAAO,CAACkF,EAAE,CAAC,CAAC,CAAA;IAE9C,OAAO,MAAM;MACXg6C,oBAAA,CAAsBQ,GAAQ,IAAA;QAC5B,OAAOA,GAAI,CAAAt6C,MAAA,CAAQu6C,GAAA,IAAQA,QAAQz6C,EAAE,CAAA;MAAA,CACtC,CAAA;IAAA,CACH;EACF,CAAA,EAAG,EAAE,CAAA;EAEL,MAAM06C,SAAuB,GAAAj7C,OAAA,CAC3B,OAAO;IACL,iBAAmB,EAAAstB,EAAA;IACnB4tB,aAAe,EAAAnP,UAAA;IACf4I,cAAgB,EAAAgG,sBAAA;IAChB9B,QAAU,EAAA+B,gBAAA;IACV9B,WAAa,EAAAgC,eAAA;IACbrD,aAAe,EAAA2C,aAAA;IACfpB,eAAA;IACAtB;EAAA,CACF,CAAA,EACA,CACE0C,aAAA,EACAO,sBAAA,EACAC,gBAAA,EACAE,eAAA,EACAxtB,EAAA,EACAye,UAAA,EACAiN,eAAA,EACAtB,WAAA,CACF,CACF;EAEA,MAAM+B,OAAOh1C,WAAU,CAAAi1C,QAAQ,IAAItqB,YAAa,CAAAsqB,QAAA,EAAUuB,SAAS,CAAI,GAAA,IAAA;EAEvE,MAAME,YAAe,GAAAjuB,WAAA,CAClB3sB,EAAiC,IAAA;IAC5B,IAAA,OAAO+c,QAAQ,UAAY,EAAA;MAC7BA,GAAA,CAAI/c,EAAE,CAAA;eACG+c,GAAK,EAAA;MACdA,GAAA,CAAIhc,OAAU,GAAAf,EAAA;IAChB;IAEA85C,gBAAA,CAAiB95C,EAAE,CAAA;EACrB,CAAA,EACA,CAAC+c,GAAG,CAAA,CACN;EAEA,MAAMxF,MAAS,GAAA9X,OAAA,CACb,MACEyE,WAAA,CAAU+0C,UAAU,CAAA,GAChBpqB,aAAaoqB,UAAY,EAAA;IACvB,SAAW,EAAA,YAAA;IACXlsB,EAAA;IACA8b,OAAS,EAAAqR,iBAAA;IACTlqC,SAAW,EAAAmqC,mBAAA;IACX,eAAiB,EAAA,IAAA;IACjB,eAAiB,EAAA3X,IAAA;IACjBzlB,GAAK,EAAA69B,YAAA;IACLrpB,QAAU,EAAAiR;EACX,CAAA,CACD,GAAA,IAAA,EACN,CAACyW,UAAY,EAAAiB,iBAAA,EAAmBC,mBAAqB,EAAAptB,EAAA,EAAIyV,MAAMoY,YAAY,CAAA,CAC7E;EAEA,MAAMC,YAA2C,GAAAp7C,OAAA,CAC/C,OAAO;IACLa,eAAiB,EAAA04C,0BAAA;IACjBn6B,QAAU,EAAA,MAAA;IACV8f,SAAW,EAAA0a,oBAAA;IACXje,MAAQ,EAAAoe,iBAAA;IACR9W,eAAiB,EAAAiX,0BAAA;IACjBhiC,MAAQ,EAAA+hC,wBAAA;IACR5kC,MAAQ,EAAAykC,wBAAA;IACR,IAAI5gC,WAAW,CAAC,CAAA;EAAA,CAClB,CAAA,EACA,CACEqgC,0BAAA,EACAK,oBAAA,EACAK,wBAAA,EACAH,wBAAA,EACAC,iBAAA,EACAG,0BAAA,EACAhhC,OAAA,CACF,CACF;EAGE,OAAA,eAAAkB,GAAA,CAAC6nB,OAAQ,EAAA;IAAA,SAAA,EAAQ,qBAAuB;IAAA,GAAGmZ,YAAc;IAAAt9C,OAAA,EAAS27C,IAAM;IAAA1W,IAAA;IACrE/oB,QAAU,EAAAlC,MAAA,IAAA,eAAAsC,GAAA,CAAA2T,QAAA,EAAA,CAAA,CAAE;EACf,CAAA,CAAA;AAEJ,CAAC,CAAA;;;;;;AC3QD,IAAAjqB,IAAA;AAMa,MAAAu3C,WAAA,GAAcxyB,OAAOyyB,EAAP,CAAAx3C,IAAA,KAAAA,IAAA,GAAS0W,gEAGU,mBAA9B,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,QAAQ,aAAa,CAAA,CAAA;;;;;;ACT7C,IAAA/Q,IAAA,EAAAO,IAAA;AAkBO,SAASk3C,mBAA8CA,CAAA,EAAA;EAC5D,OAAOh1B,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,iWAAA,CAAA,CAAA,CAAA,CAAA;AAmBZ;AAEO,SAASghC,qBACdn/C,KACwB,EAAA;EA1C1B,IAAAyH,GAAAO,EAAAA,GAAAA;EA2CE,MAAM;IAACjI,KAAA;IAAOsqB,KAAO;IAAAqM;EAAA,CAAW,GAAA12B,KAAA;EAEhC,OAAOkqB,GAAG,CAAAliB,IAAA,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,QAAA,EACwE,QACpD,EAAA,4BAAA,EAEmB,kBACN,gJAMN,EAAA,qFAAA,EAKN,6FAKA,EAAA,yJAAA,EAOI,2DAIA,EAAA,wIAAA,EAUE,oFAKN,EAAA,uDAAA,EAIA,2JAOI,yDAGA,EAAA,iEAAA,EAOA,MAnE/B,CAAA,CAAA,CAAA,EAAAkM,KAAA,KAAU,SAAa,IAAA9P,aAAA,CAAcmc,OAAS,EAAA32B,KAAA,CAAMO,OAAO8W,KAAM,CAAAkC,KAAA,EAAO+Q,KAAK,CAAA,EAC7E8L,mBAAoB,CAAA9L,KAAK,CAEP,EAAA5P,OAAA,CAAQC,QAAQ,UAAU,CAAA,EACrCD,OAAQ,CAAA4P,KAAK,CAAE,CAAA,gBAAgB,CAMlC,EAAA+L,2BAAA,IAKEH,mBAAoB,CAAA,CAAA,EAKpBA,mBAAoB,CAAA,CAAA,EAOhBA,mBAAoB,CAAA,CAAA,EAIpBA,mBAAoB,CAAA,CAAA,EAU1BG,6BAKE,EAAAH,mBAAA,CAAA,CAIA,EAAAA,mBAAA,EAOI,EAAAA,mBAAA,CAGA,CAAA,EAAAA,mBAAA,CAAA,IAOVjuB,GAAAP,GAAAA,CAAAA,GAAAA,GAAA1H,KAAM,CAAAO,MAAA,CAAOwpB,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAriB,GAAqB,CAAAkU,IAAA,KAArB,gBAAA3T,GAA2B,CAAA4V,IAAA,CAAA;AAEjC;AC3Ga,MAAAwhC,UAAA,GAAa5yB,OAAOyG,GAAG,CAAA,CAClCvH,qBAAA,EACAwzB,mBAAA,EACAC,oBACF,CAAA;ACRO,SAASE,OAA4BA,CAAA,EAAA;EACpC,MAAA3gD,KAAA,GAAQ8f,WAAW87B,WAAW,CAAA;EAEpC,IAAI,CAAC57C,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,kCAAkC,CAAA;EACpD;EAKA,IAAI,CAAC2e,QAAS,CAAAtgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAK,EAAA;IACvC,MAAA,IAAIzd,MAAM,gDAAgD,CAAA;EAClE;EAEO,OAAA3B,KAAA;AACT;ACUO,SAAS4gD,UACdt/C,KAEoB,EAAA;EACd,MAAA;IACJsvB,EAAK,GAAA,QAAA;IACL3R,QAAA;IACA1b,QAAW,GAAA,CAAA;IACX4yB,IAAA;IACAkY,OAAA;IACAxrC,OAAU,GAAA,CAAA;IACVsb,OAAA;IACAhB,MAAS,GAAA,CAAA;IACTrb,KAAQ,GAAA,CAAA;IACR2a,IAAA;IACAlC,IAAO,GAAA,SAAA;IACP,GAAGkU;EACD,CAAA,GAAAntB,KAAA;EACE,MAAA;IAACgZ;GAAM,GAAIsI,cAAe,EAAA;EAChC,MAAM87B,OAAOiC,OAAQ,EAAA;EACf,MAAA;IACJ1iB,aAAA;IACAgf,KAAA;IACArD,cAAA;IACAkE,QAAA;IACAC,WAAA;IACAI,mBAAmBO,IAAK,CAAApN,YAAA;IACxB2M;EACE,CAAA,GAAAS,IAAA;EACJ,MAAM,CAACxe,WAAA,EAAa6Z,cAAc,CAAA,GAAI/zC,SAAoD,IAAI,CAAA;EAC9F,MAAM,CAACgiC,IAAA,EAAMuP,OAAO,CAAA,GAAIvxC,SAAS,KAAK,CAAA;EAChC,MAAA66C,cAAA,GAAiBz6C,OAAgC,IAAI,CAAA;EAC3D,MAAM0wC,MAAS,GAAAnxC,OAAA,CAAQs4B,aAAa,CAAA,IAAKA,aAAkB,KAAAiC,WAAA;EAC3D,MAAM,CAAC4gB,UAAA,EAAYC,aAAa,CAAA,GAAI/6C,SAAS,KAAK,CAAA;EAElD,MAAMirC,gBAAmB,GAAA9e,WAAA,CACtBxqB,KAAyC,IAAA;IACxCo5C,aAAA,CAAc,KAAK,CAAA;IACnB5C,gBAAA,CAAiBx2C,KAAK,CAAA;IACtB4vC,OAAA,CAAQ,IAAI,CAAA;EACd,CAAA,EACA,CAAC4G,gBAAgB,CAAA,CACnB;EAEA,MAAM6C,iBAAoB,GAAA7uB,WAAA,CACvBxqB,KAA+C,IAAA;IAC1C,IAAAA,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7BwH,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MAEtB2J,OAAA,CAAQ,KAAK,CAAA;MAEbvmC,qBAAA,CAAsB,MAAM;QACbkvB,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAA3B,KAAA,CAAA,CAAA;MAAA,CACd,CAAA;IACH;EACF,CAAA,EACA,CAAC2B,WAAW,CAAA,CACd;EAEA,MAAM0R,WAAc,GAAAzf,WAAA,CACjBxqB,KAA4C,IAAA;IACvC,IAAA0mC,OAAA,EAASA,OAAA,CAAQ1mC,KAAK,CAAA;IAE1Bk5C,cAAA,CAAet6C,OAAU,GAAA,OAAA;IAEzBgxC,OAAA,CAAQ,IAAI,CAAA;IAEZvmC,qBAAA,CAAsB,MAAM;MAC1B6vC,cAAA,CAAet6C,OAAU,GAAA,IAAA;IAAA,CAC1B,CAAA;EACH,CAAA,EACA,CAAC8nC,OAAO,CAAA,CACV;EAEM,MAAA4S,oBAAA,GAAuB9uB,YAAY,MAAM;IAC7ColB,OAAA,CAAQ,KAAK,CAAA;IACT,IAAAwG,WAAA,EAAyBA,WAAA,EAAA;EAAA,CAC/B,EAAG,CAACA,WAAW,CAAC,CAAA;EAEhB,MAAMmD,uBAAuB/uB,WAAY,CAAA,MAAM4uB,cAAc,IAAI,CAAA,EAAG,EAAE,CAAA;EAGtE16C,SAAA,CAAU,MAAM42C,KAAM,CAAA/c,WAAW,GAAG,CAAC+c,KAAA,EAAO/c,WAAW,CAAC,CAAA;EAGxD75B,SAAA,CAAU,MAAM;IACd,IAAI,CAACywC,MAAA,EAAQS,OAAA,CAAQ,KAAK,CAAA;EAAA,CAC5B,EAAG,CAACT,MAAM,CAAC,CAAA;EAGXzwC,SAAA,CAAU,MAAM;IACd,IAAI,CAAC2hC,IAAA,EAAM+Y,aAAA,CAAc,KAAK,CAAA;EAAA,CAChC,EAAG,CAAC/Y,IAAI,CAAC,CAAA;EAET,MAAMmZ,SACJ,GAAA,eAAA9hC,GAAA,CAACs+B,IAAA,EAAA;IACC/D,cAAA;IACAkE,QAAA;IACAC,WAAa,EAAAkD,oBAAA;IACbzrC,SAAW,EAAAwrC,iBAAA;IACX1P,YAAc,EAAA4P,oBAAA;IACdjD,eAAA;IACAtB,aAAakE,cAAe,CAAAt6C,OAAA;IAE3B0Y;EAAA,CAAA,CACH;EAGI,MAAA4yB,aAAA,GAAgB1f,WAAY,CAACxqB,KAA+C,IAAA;IAChF,MAAMf,SAASe,KAAM,CAAAmqC,aAAA;IAEjB,IAAAhqC,QAAA,CAASm2B,kBAAkBr3B,MAAQ,EAAA;MACrC;IACF;IAEI,IAAAe,KAAA,CAAMxH,QAAQ,YAAc,EAAA;MAC9B0gD,cAAA,CAAet6C,OAAU,GAAA,OAAA;MAEzBgxC,OAAA,CAAQ,IAAI,CAAA;MACZwJ,aAAA,CAAc,IAAI,CAAA;MAElB/vC,qBAAA,CAAsB,MAAM;QAC1B6vC,cAAA,CAAet6C,OAAU,GAAA,IAAA;MAAA,CAC1B,CAAA;MAED;IACF;EACF,CAAA,EAAG,EAAE,CAAA;EAGH,OAAA,eAAA8Y,GAAA,CAAC6nB;IAAS,GAAG/oB,OAAA;IAASpb,SAASo+C,SAAW;IAAA,SAAA,EAAQ;IAAqBnZ,IACrE;IAAA/oB,QAAA,EAAA,eAAAI,GAAA,CAACqhC,UAAA,EAAA;MACC,SAAS,EAAA9vB,EAAA;MACT,SAAQ,EAAA,WAAA;MACRuE,WAAa,EAAAvE,EAAA;MACZ,GAAGnC,SAAA;MACJ,cAAA,EAAcmC,EAAO,KAAA,QAAA,GAAWkwB,UAAa,GAAA,KAAA,CAAA;MAC7C,cAAA,EAAclwB,EAAO,KAAA,QAAA,GAAWkwB,UAAa,GAAA,KAAA,CAAA;MAC7C,eAAe,EAAA,CAACA,UAAc,IAAAhK,MAAA,GAAS,EAAK,GAAA,KAAA,CAAA;MAC5C7pB,OAAA,EAASloB,aAAaoY,MAAM,CAAA;MAC5BwO,KAAO,EAAApR,IAAA;MACPyd,OAAS,EAAA1d,MAAA;MACT+zB,OAAS,EAAAuD,WAAA;MACTp8B,SAAW,EAAAq8B,aAAA;MACXP,YAAc,EAAAL,gBAAA;MACd1uB,GAAK,EAAAw3B,cAAA;MACL5b,QAAU,EAAA,CAAA,CAAA;MACVl0B,IAAA,EAAM2mB,EAAO,KAAA,QAAA,GAAW,QAAW,GAAA,KAAA,CAAA;MAEnC3R,QAAC,EAAA,eAAAmB,IAAA,CAAA8U,IAAA,EAAA;QAAKnQ,GAAK,EAAAjjB,KAAA;QAAOe,OACf;QAAAoc,QAAA,EAAA,CACCkX,IAAA,IAAA,eAAA/V,IAAA,CAAC8N,IAAK,EAAA;UAAA1qB,IAAA,EAAMD,QACT;UAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAef,IAAI,CAAK,IAAAA,IAAA,EACxB5E,kBAAmB,CAAA4E,IAAI,CAAK,IAAAgB,aAAA,CAAchB,IAAI,CAAA;SACjD,CAAA,EAAA,eAGD9W,GAAA,CAAAkV,GAAA,EAAA;UAAIzO,IAAM,EAAA,CAAA;UACT7G,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;YAAK1qB,IAAM,EAAAD,QAAA;YAAUgrB,YAAa,EAAA,UAAA;YAAWC,MAAO,EAAA,QAAA;YAClDvP;UACH,CAAA;SACF,CAAA,EAAA,mBAECiP,IAAK,EAAA;UAAA1qB,IAAA,EAAMD,QACV;UAAA0b,QAAA,EAAA,eAAAI,GAAA,CAAC+hC,mBAAiB,CAAA;SACpB,CAAA;OACF;IAAA,CAEJ;EAAA,CAAA,CAAA;AAEJ;ACjKO,MAAMC,QAAW,GAAAlzB,UAAA,CAAW,SAASkzB,SAAAA,CAC1C//C,OAEA23B,YACA,EAAA;EACM,MAAA;IACJrI,EAAK,GAAA,QAAA;IACL3R,QAAA;IACAiX,QAAA;IACA3yB,QAAW,GAAA,CAAA;IACX+9C,OAAA;IACAnrB,IAAA;IACAC,SAAA;IACAiY,OAAA;IACAxrC,OAAU,GAAA,CAAA;IACV8xB,QAAA;IACAC,QAAA;IACAvoB,UAAA;IACAC,YAAA;IACAC,aAAA;IACAC,WAAA;IACAgsB,OAAA;IACArb,MAAS,GAAA,CAAA;IACT4Z,QAAU,EAAAwqB,YAAA;IACVz/C,KAAQ,GAAA,CAAA;IACR2a,IAAA;IACAlC,IAAO,GAAA,SAAA;IACP,GAAGkU;EACD,CAAA,GAAAntB,KAAA;EACE,MAAA;IAACgZ;GAAM,GAAIsI,cAAe,EAAA;EAChC,MAAM87B,OAAOiC,OAAQ,EAAA;EACf,MAAA;IACJ1iB,aAAA;IACAgf,KAAA;IACAc,WAAA;IACAI,mBAAmBO,IAAK,CAAApN,YAAA;IACxB8M,mBAAmBM,IAAK,CAAAnN;EACtB,CAAA,GAAAmN,IAAA;EACJ,MAAM,CAACxe,WAAA,EAAa6Z,cAAc,CAAA,GAAI/zC,SAAgC,IAAI,CAAA;EAC1E,MAAM8wC,MAAS,GAAAnxC,OAAA,CAAQs4B,aAAa,CAAA,IAAKA,aAAkB,KAAAiC,WAAA;EAEjD75B,SAAA,CAAA,MAAM42C,MAAM/c,WAAa,EAAAqhB,YAAY,GAAG,CAACtE,KAAA,EAAO/c,WAAa,EAAAqhB,YAAY,CAAC,CAAA;EAE9E,MAAAh/B,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExC,MAAM2Y,WAAc,GAAAzf,WAAA,CACjBxqB,KAA4C,IAAA;IACvC,IAAAuuB,QAAA,EAAU;IACV,IAAAmY,OAAA,EAASA,OAAA,CAAQ1mC,KAAK,CAAA;IACtB,IAAAo2C,WAAA,EAAyBA,WAAA,EAAA;EAC/B,CAAA,EACA,CAAC7nB,QAAU,EAAAmY,OAAA,EAAS0P,WAAW,CAAA,CACjC;EAEA,MAAMyD,YAAe,GAAAv8C,OAAA,CACnB,OAAO;IACLpC,OAAA;IACA8xB,QAAA;IACAC,QAAA;IACAvoB,UAAA;IACAC,YAAA;IACAC,aAAA;IACAC;EAAA,CACF,CAAA,EACA,CAAC3J,OAAS,EAAA8xB,QAAA,EAAUC,UAAUvoB,UAAY,EAAAC,YAAA,EAAcC,eAAeC,WAAW,CAAA,CACpF;EAEA,MAAMsvB,MAAS,GAAA3J,WAAA,CACZ3sB,EAA8B,IAAA;IAC7B+c,GAAA,CAAIhc,OAAU,GAAAf,EAAA;IACdu0C,cAAA,CAAev0C,EAAE,CAAA;EACnB,CAAA,EACA,CAAC+c,GAAG,CAAA,CACN;EAGE,sBAAAnC,IAAA,CAACsgC,UAAA,EAAA;IACC,SAAQ,EAAA,UAAA;IACP,GAAGjyB,SAAA;IACJ,cAAA,EAAcmC,OAAO,QAAY,IAAA4H,OAAA;IACjC,cAAc,EAAA5H,EAAA,KAAO,QAAY,IAAA4H,OAAA,GAAU,EAAK,GAAA,KAAA,CAAA;IAChD,eAAA,EAAese,SAAS,EAAK,GAAA,KAAA,CAAA;IAC7B,eAAA,EAAe5gB,WAAW,EAAK,GAAA,KAAA,CAAA;IAC/Bf,WAAa,EAAAvE,EAAA;IACb3D,OAAA,EAASloB,aAAaoY,MAAM,CAAA;IAC5BuN,QAAA,EAAU3lB,aAAa,CAAC,CAAA;IACxB4mB,KAAA,EAAOuK,WAAW,SAAY,GAAA3b,IAAA;IAC9Byd,OAAS,EAAA1d,MAAA;IACT4b,QAAA;IACAmY,OAAS,EAAAuD,WAAA;IACTN,YAAc,EAAA6M,gBAAA;IACd5M,YAAc,EAAA6M,gBAAA;IACd77B,GAAK,EAAAuZ,MAAA;IACLiW,IAAK,EAAA,UAAA;IACL5T,QAAU,EAAA,CAAA,CAAA;IACVl0B,IAAA,EAAM2mB,EAAO,KAAA,QAAA,GAAW,QAAW,GAAA,KAAA,CAAA;IAEjC3R,QAAA,EAAA,CAAQ,CAAAkX,IAAA,IAAA1Z,IAAA,IAAQ2Z,SAChB,KAAA,eAAAhW,IAAA,CAAC8U,IAAK,EAAA;MAAAtE,EAAA,EAAG,MAAO;MAAA7L,GAAA,EAAKjjB,KAAO;MAAA8iB,KAAA,EAAM,QAAU;MAAA,GAAG48B,YAC5C;MAAAviC,QAAA,EAAA,CACCkX,IAAA,IAAA,eAAA/V,IAAA,CAAC8N,IAAK,EAAA;QAAA1qB,IAAA,EAAMD,QACT;QAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAef,IAAI,CAAK,IAAAA,IAAA,EACxB5E,kBAAmB,CAAA4E,IAAI,CAAK,IAAAgB,aAAA,CAAchB,IAAI,CAAA;OACjD,CAAA,EAGD1Z,IACC,IAAA,eAAA4C,GAAA,CAACkV,GAAI,EAAA;QAAAzO,IAAA,EAAM;QACT7G,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;UAAK1qB,IAAM,EAAAD,QAAA;UAAUgrB,YAAa,EAAA,UAAA;UAAWC,MAAO,EAAA,QAAA;UAClDvP;QACH,CAAA;OACF,CAAA,EAGDqiC,OACC,IAAA,eAAAjiC,GAAA,CAACs8B,OAAQ,EAAA;QAAAp4C,QAAA;QAAoBxD,IAAM,EAAAuhD,OAAA;QAASphD,KAAO,EAAA;UAACoE,SAAW,EAAA,CAAA,CAAA;UAAIC,YAAc,EAAA,CAAA;QAAK;MAAA,CAAA,CAAA,EAGvF6xB,SACC,IAAA,eAAAhW,IAAA,CAAC8N,IAAK,EAAA;QAAA1qB,IAAA,EAAMD,QACT;QAAA0b,QAAA,EAAA,CAAAiY,cAAA,CAAed,SAAS,CAAK,IAAAA,SAAA,EAC7B7E,kBAAmB,CAAA6E,SAAS,CAAK,IAAAe,aAAA,CAAcf,SAAS,CAAA;OAC3D,CAAA;KAEJ,CAAA,EAEDnX,YACE,eAAAI,GAAA,CAAAkV,GAAA,EAAA;MAAI3D,IAAG,MAAQ;MAAA,GAAG4wB;MAChBviC;KACH,CAAA;EAAA,CAAA,CAEJ;AAEJ,CAAC,CAAA;;;;;;AC3KD,IAAAlW,IAAA,EAAAO,IAAA,EAAAgiB,IAAA,EAAA8b,EAAA;AAGA,MAAMqa,WAAWpsB,SAAS,CAAAtsB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,iGAAA,CAAA,CAAA,CAAA,CAAA;AAS1B,MAAMiiC,SAAY,GAAAl2B,GAAA,CAAAliB,IAAA,KAAAA,IAAA,GAAGmW,YAGiB,CAAA,CAAA,6DAAA,EAAA,SAAA,EACF,SACE,EAAA,SAAA,EACA,SACA,EAAA,0HAAA,EAKV,uHATtB,CAAA,CAAA,CAAA,EAAA1D,OAAA,CAAQjC,OAAQ,CAAA,eAAe,CAC/B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,aAAa,CAC7B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,eAAe,CAC/B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,eAAe,CAC/B,EAAAiC,OAAA,CAAQjC,OAAQ,CAAA,eAAe,CAKjB,EAAA2nC,QAAA,CAAA;AAUb,MAAME,aAAgB,GAAAn2B,GAAA,CAAA4b,EAAA,KAAAA,EAAA,GAA4C3nB,YAC1B,CAAA,CAAA,eAAA,EAAA,gHAAA,EASpC,yFAI6C,EAAA,UAAA,CAAA,CAAA,CAAA,EAb3CmiC,KAAA;EAAA,IAAC;IAACC;EAAQ,CAAA,GAAAD,KAAA;EAAA,OAAOC,QAAW,GAAA,CAAA,GAAI,CAIvC;AAAA,GAAAC,MAAA;EAAA,IAAC;IAACC;EACF,CAAA,GAAAD,MAAA;EAAA,OAAAC,SAAA,GACIL,SACA,GAAAl2B,GAAA,CAAAF,IAAA,KAAAA,IAAA,GAAG7L,YACmD,CAAA,CAAA,kCAAA,EAAA,eAAA,CAAA,CAAA,CAAA,EAAhC1D,OAAQ,CAAAjC,OAAA,CAAQ,eAAe,CAAA,CAAA;AAAA,GAKvCiC,OAAQ,CAAAjC,OAAA,CAAQ,eAAe,CAAA,CAAA;ACxCvD,MAAM+T,MAAA,GAAOC,OAAOyG,GAAG,CAAA,CACrBvH,qBAAA,EACA20B,aACF,CAAA;AAeO,MAAMK,QAAW,GAAA7zB,UAAA,CAAW,SAAS6zB,SAAAA,CAC1C1gD,OACAihB,GACA,EAAA;EACA,MAAM;IAAC0/B,QAAW,GAAA,KAAA;IAAOpT;IAAO1xB,MAAQ;IAAA,GAAGsR;EAAa,CAAA,GAAAntB,KAAA;EACxD,MAAM,CAAC4gD,OAAS,EAAAC,UAAU,IAAIn8C,QAAkB,CAAA6oC,KAAA,GAAQ,QAAQ,IAAI,CAAA;EAEpExoC,SAAA,CAAU,MAAM;IACd,IAAI,CAACwoC,KAAO,EAAA;MACV,OAAOsT,WAAW,IAAI,CAAA;IACxB;IAEM,MAAAzwC,OAAA,GAAUs9B,WAAW,MAAM;MAC/BmT,UAAA,CAAW,IAAI,CAAA;OACdtT,KAAK,CAAA;IAER,OAAO,MAAM;MACXE,YAAA,CAAar9B,OAAO,CAAA;IAAA,CACtB;EAAA,CACF,EAAG,CAACm9B,KAAK,CAAC,CAAA;EAGR,sBAAAxvB,GAAA,CAACwO,MAAA,EAAA;IACE,GAAGY,SAAA;IACJszB,SAAW,EAAAE,QAAA;IACXh1B,OAAA,EAASloB,aAAaoY,MAAM,CAAA;IAC5B0kC,QAAU,EAAAK,OAAA;IACV3/B;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;ACjDD,MAAMsL,MAAO,GAAAC,MAAA,CAAOk0B,QAAQ,CAAA,CAA2CI,MAAA,IAQjE;EAAA,IARkE;IACtEngD,KAAA;IACAogD,MAAA;IACAhhD;EACF,CAIM,GAAA+gD,MAAA;EACE,MAAA;IAAC5hD;EAAK,CAAA,GAAIa,KAAM,CAAAO,MAAA;EACtB,MAAMgqB,IAAO,GAAAvqB,KAAA,CAAMO,MAAO,CAAAO,KAAA,CAAMkgD,MAAM,CAAA;EAEtC,MAAMj3B,MAAS,GAAA7qB,WAAA,CAAYC,KAAO,EAAAyB,KAAA,EAAQqB,SAAc,IAAA;IAChD,MAAAC,QAAA,GAAWqoB,IAAK,CAAAvpB,KAAA,CAAMiB,SAAS,CAAA;IACrC,MAAMS,SAAY,GAAAR,QAAA,CAASM,UAAa,GAAAN,QAAA,CAASE,iBAAiBF,QAAS,CAAAG,eAAA;IAEpE,OAAA;MAACT,QAAQc;KAAS;EAAA,CAC1B,CAAA;EAEM,OAAAqnB,MAAA;AACT,CAAC,CAAA;AAsCM,MAAMk3B,YAAe,GAAAn0B,UAAA,CAAW,SAASm0B,aAAAA,CAC9ChhD,OAEAihB,GACA,EAAA;EACA,MAAM;IAAC/e,IAAA,GAAO,CAAG;IAAA,GAAGirB;GAAa,GAAAntB,KAAA;EAC3B,MAAAW,KAAA,GAAQ8C,aAAavB,IAAI,CAAA;EAE/B,0BAAQqqB,MAAM,EAAA;IAAA,GAAGY;IAAWxsB,KAAc;IAAAsgB,GAAA;IAAU8/B,QAAO;EAAO,CAAA,CAAA;AACpE,CAAC,CAAA;AAMM,MAAME,aAAgB,GAAAp0B,UAAA,CAAW,SAASm0B,aAAAA,CAC/ChhD,OAEAihB,GACA,EAAA;EACA,MAAM;IAAC/e,IAAA,GAAO,CAAG;IAAA,GAAGirB;GAAa,GAAAntB,KAAA;EAC3B,MAAAW,KAAA,GAAQ8C,aAAavB,IAAI,CAAA;EAE/B,0BAAQqqB,MAAM,EAAA;IAAA,GAAGY;IAAWxsB,KAAc;IAAAsgB,GAAA;IAAU8/B,QAAO;EAAQ,CAAA,CAAA;AACrE,CAAC,CAAA;AAMM,MAAMG,eAAkB,GAAAr0B,UAAA,CAAW,SAASm0B,aAAAA,CACjDhhD,OAEAihB,GACA,EAAA;EACA,MAAM;IAAC/e,IAAA,GAAO,CAAG;IAAA,GAAGirB;GAAa,GAAAntB,KAAA;EAC3B,MAAAW,KAAA,GAAQ8C,aAAavB,IAAI,CAAA;EAE/B,0BAAQqqB,MAAM,EAAA;IAAA,GAAGY;IAAWxsB,KAAc;IAAAsgB,GAAA;IAAU8/B,QAAO;EAAU,CAAA,CAAA;AACvE,CAAC,CAAA;AAMM,MAAMI,YAAe,GAAAt0B,UAAA,CAAW,SAASm0B,aAAAA,CAC9ChhD,OAEAihB,GACA,EAAA;EACA,MAAM;IAAC/e,IAAA,GAAO,CAAG;IAAA,GAAGirB;GAAa,GAAAntB,KAAA;EAC3B,MAAAW,KAAA,GAAQ8C,aAAavB,IAAI,CAAA;EAE/B,0BAAQqqB,MAAM,EAAA;IAAA,GAAGY;IAAWxsB,KAAc;IAAAsgB,GAAA;IAAU8/B,QAAO;EAAO,CAAA,CAAA;AACpE,CAAC,CAAA;;;;;;ACvHD,IAAAt5C,IAAA;AAwBA,MAAM25C,YAAe,GAAA50B,MAAA,CAAOmI,MAAM,CAAA,CAAbltB,IAAc,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,CAAA;AAO5B,MAAMkjC,GAAM,GAAAx0B,UAAA,CAAW,SAASw0B,IAAAA,CACrCrhD,OAEA23B,YACA,EAAA;EACM,MAAA;IACJ9C,IAAA;IACA5D,EAAA;IACA2f,OAAA;IACA3uC,QAAW,GAAA,CAAA;IACXiZ,KAAA;IACA6xB,OAAA;IACAxO,OAAA;IACAh9B,OAAU,GAAA,CAAA;IACVk0B,QAAA;IACA,GAAGtI;EACD,CAAA,GAAAntB,KAAA;EACE,MAAAshD,UAAA,GAAax8C,OAAiC,IAAI,CAAA;EAClD,MAAAy8C,UAAA,GAAaz8C,OAAO,KAAK,CAAA;EAEzB,MAAA4qC,UAAA,GAAa7e,YAAY,MAAM;IACnC0wB,UAAA,CAAWt8C,OAAU,GAAA,KAAA;EACvB,CAAA,EAAG,EAAE,CAAA;EAEL,MAAM05B,WAAc,GAAA9N,WAAA,CACjBxqB,KAA+C,IAAA;IAC9Ck7C,UAAA,CAAWt8C,OAAU,GAAA,IAAA;IACjB,IAAAs5B,OAAA,EAASA,OAAA,CAAQl4B,KAAK,CAAA;EAC5B,CAAA,EACA,CAACk4B,OAAO,CAAA,CACV;EAEM,MAAAtd,GAAA,GAAMD,gBAAgB2W,YAAY,CAAA;EAExC5yB,SAAA,CAAU,MAAM;IACV,IAAA6rC,OAAA,IAAW,CAAC2Q,UAAA,CAAWt8C,OAAS,EAAA;MAClC,IAAIq8C,UAAW,CAAAr8C,OAAA,EAASq8C,UAAA,CAAWr8C,QAAQg4B,KAAM,EAAA;MACjDskB,UAAA,CAAWt8C,OAAU,GAAA,IAAA;IACvB;EAAA,CACF,EAAG,CAAC2rC,OAAO,CAAC,CAAA;EAEN,MAAApW,MAAA,GAAUt2B,EAAiC,IAAA;IAC/Co9C,UAAA,CAAWr8C,OAAU,GAAAf,EAAA;IACrB+c,GAAA,CAAIhc,OAAU,GAAAf,EAAA;EAAA,CAChB;EAGE,sBAAA6Z,GAAA,CAACqjC,YAAA,EAAA;IACC,SAAQ,EAAA,KAAA;IACP,GAAGj0B,SAAA;IACJ,eAAA,EAAesI,WAAW,MAAS,GAAA,OAAA;IACnCxzB,QAAA;IACA4yB,IAAA;IACA5D,EAAA;IACA0C,IAAK,EAAA,OAAA;IACLoZ,OAAA;IACAgD,MAAQ,EAAAL,UAAA;IACRnR,OAAS,EAAAI,WAAA;IACTp9B,OAAA;IACAsa,MAAO,EAAA,MAAA;IACPoF,GAAK,EAAAuZ,MAAA;IACLiW,IAAK,EAAA,KAAA;IACLhb,QAAA;IACAoH,QAAA,EAAUpH,WAAW,CAAI,GAAA,CAAA,CAAA;IACzBta,IAAM,EAAAD,KAAA;IACNvS,IAAK,EAAA;EAAA,CAAA,CACP;AAEJ,CAAC,CAAA;;;;;;ACnGD,IAAAlB,IAAA;AAWA,SAAS+5C,gBAAgBt0C,IAA2C,EAAA;EAClE,OAAO7I,QAAQ6I,IAAI,CAAA;AACrB;AAGA,MAAMu0C,YAAe,GAAAj1B,MAAA,CAAOiN,MAAM,CAAA,CAAbhyB,IAAc,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,kIAAA,CAAA,CAAA,CAAA,CAAA;AAY5B,MAAMujC,OAAU,GAAA70B,UAAA,CAAW,SAAS60B,QAAAA,CACzC1hD,OACAihB,GACA,EAAA;EACA,MAAM;IAACtD,QAAA,EAAUoP,YAAc;IAAA,GAAGI;GAAa,GAAAntB,KAAA;EAC/C,MAAM,CAACg8C,YAAA,EAAc2F,eAAe,CAAA,GAAIj9C,SAAS,CAAE,CAAA,CAAA;EAE7C,MAAAiZ,QAAA,GAAWha,QAAQ,MAAMopB,YAAA,CAAa3oB,OAAOo9C,eAAe,CAAA,EAAG,CAACz0B,YAAY,CAAC,CAAA;EAEnF,MAAM60B,OAAOjkC,QAAS,CAAAre,GAAA,CAAI,CAACozB,KAAA,EAAOI,UAChC,KAAAC,YAAA,CAAaL,KAAO,EAAA;IAClBke,SAASoL,YAAiB,KAAAlpB,UAAA;IAC1Bj0B,GAAK,EAAAi0B,UAAA;IACLyL,OAAA,EAASA,CAAA,KAAMsjB,cAAA,CAAe/uB,UAAU;EAAA,CACzC,CAAA,CACH;EAEA,MAAMgvB,UAAUF,IAAK,CAAAzhD,MAAA;EAEf,MAAA0hD,cAAA,GAAiBhxB,WAAY,CAACkxB,MAAmB,IAAA;IACrDJ,eAAA,CAAgBI,MAAM,CAAA;EACxB,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMxR,aAAgB,GAAA1f,WAAA,CACnBxqB,KAA+C,IAAA;IAC1C,IAAAA,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7B8iD,eAAA,CAAiBK,SAAA,IAAA,CAAeA,SAAY,GAAAF,OAAA,GAAU,KAAKA,OAAO,CAAA;IACpE;IAEI,IAAAz7C,KAAA,CAAMxH,QAAQ,YAAc,EAAA;MAC9B8iD,eAAA,CAAiBK,SAAA,IAAA,CAAeA,SAAY,GAAA,CAAA,IAAKF,OAAO,CAAA;IAC1D;EACF,CAAA,EACA,CAACA,OAAO,CAAA,CACV;EAGE,sBAAA/jC,GAAA,CAAC0jC,YAAA,EAAA;IACC,SAAQ,EAAA,SAAA;IACP,GAAGt0B,SAAA;IACJjZ,SAAW,EAAAq8B,aAAA;IACXtvB,GAAA;IACAwvB,IAAK,EAAA,SAAA;IAEJ9yB,QAAA,EAAAikC;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;AC1DM,MAAMK,QAAW,GAAAp1B,UAAA,CAAW,SAASo1B,SAAAA,CAC1CjiD,OAEAihB,GACA,EAAA;EACA,MAAM;IAACuD,IAAA;IAAM,GAAG2I;EAAA,CAAa,GAAAntB,KAAA;EAG3B,sBAAA+d,GAAA,CAACkV,GAAA,EAAA;IACC,SAAQ,EAAA,UAAA;IACP,GAAG9F,SAAA;IACJ3I,IAAA;IACAvD,GAAA;IACAwvB,IAAK,EAAA,UAAA;IACL5T,QAAU,EAAA78B,KAAA,CAAM68B,QAAa,KAAA,KAAA,CAAA,GAAY,IAAI78B,KAAM,CAAA68B,QAAA;IAElDlf,QAAM,EAAA3d,KAAA,CAAA2d;EAAA,CAAA,CACT;AAEJ,CAAC,CAAA;;;;;;ACpCD,IAAAlW,IAAA,EAAAO,IAAA;AAgBA,MAAMk6C,gBAAuD,GAAA;EAC3DrnB,KAAO,EAAA,UAAA;EACPsnB,OAAS,EAAA,SAAA;EACTC,OAAS,EAAA,UAAA;EACTpnB,IAAM,EAAA;AACR,CAAA;AAEA,MAAMqnB,KAAQ,GAAA;EACZxnB,KAAO,EAAA,OAAA;EACPsnB,OAAS,EAAA,OAAA;EACTC,OAAS,EAAA,OAAA;EACTpnB,IAAM,EAAA;AACR,CAAA;AAEA,MAAMzO,MAAO,GAAAC,MAAA,CAAOuK,IAAI,CAAA,CAAXtvB,IAAY,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,CAAA,CAAA;AAIzB,MAAMmkC,OAAU,GAAA91B,MAAA,CAAOoH,IAAI,CAAA,CAAX5rB,IAAY,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,CAAA;AAOrB,SAASokC,MACdviD,KACoB,EAAA;EACd,MAAA;IAACwiD;IAAUC,WAAa;IAAAlK,OAAA;IAASr/B;IAAO4W,MAAQ;IAAA,GAAG3C;EAAa,CAAA,GAAAntB,KAAA;EACtE,MAAM0iD,QAAW,GAAA5yB,MAAA,GAASoyB,gBAAiB,CAAApyB,MAAM,CAAI,GAAA,SAAA;EACrD,MAAM2gB,IAAO,GAAA3gB,MAAA,GAASuyB,KAAM,CAAAvyB,MAAM,CAAI,GAAA,QAAA;EAGpC,sBAAA/R,GAAA,CAACwO,MAAA,EAAA;IACC,SAAQ,EAAA,OAAA;IACRkkB,IAAA;IACC,GAAGtjB,SAAA;IACJnqB,SAAW,EAAA,CAAA;IACX6Y,MAAQ,EAAA,CAAA;IACRiQ,MAAQ,EAAA,CAAA;IACR7S,IAAM,EAAAypC,QAAA;IAEN/kC,QAAA,EAAA,eAAAmB,IAAA,CAAC8U,IAAK,EAAA;MAAAtQ,KAAA,EAAM,YACV;MAAA3F,QAAA,EAAA,CAAC,eAAAI,GAAA,CAAAukC,OAAA,EAAA;QAAQ99B,MAAM,CAAG;QAAAjjB,OAAA,EAAS;QACzBoc,QAAC,EAAA,eAAAmB,IAAA,CAAAgrB,KAAA,EAAA;UAAMtpC,OAAO,CACX;UAAAmd,QAAA,EAAA,CAAAzE,KAAA,IAAA,eAAU6E,GAAA,CAAA6O,IAAA,EAAA;YAAKM,MAAO,EAAA,UAAA;YAAYvP,QAAM,EAAAzE;WAAA,CAAA,EACxCupC,eACE,eAAA1kC,GAAA,CAAA6O,IAAA,EAAA;YAAKI,OAAK,IAAC;YAAA9qB,IAAA,EAAM;YACfyb,QACH,EAAA8kC;WAAA,CAAA;QAAA,CAEJ;MACF,CAAA,CAAA,EAECD,QACC,IAAA,eAAAzkC,GAAA,CAACkV,GAAI,EAAA;QAAA1xB,OAAA,EAAS,CACZ;QAAAoc,QAAA,iBAAAI,GAAA,CAAC4W,MAAA,EAAA;UACCrF,EAAG,EAAA,QAAA;UACHuF,IAAM,EAAAiY,SAAA;UACNnZ,IAAK,EAAA,OAAA;UACLpyB,OAAS,EAAA,CAAA;UACTwrC,OAAS,EAAAwL,OAAA;UACT35C,KAAA,EAAO;YAAC26B,aAAA,EAAe;UAAK;QAAA,CAAA;OAEhC,CAAA;KAEJ;EAAA,CAAA,CACF;AAEJ;AC/EO,SAASopB,UAAsBA,CAAA,EAAA;EAEpC,MAAM,CAACnH,OAAS,EAAAG,KAAK,IAAIvJ,UAAW,CAAA,MAAM,MAAM,KAAK,CAAA;EAE3CrtC,SAAA,CAAA42C,KAAA,EAAO,CAACA,KAAK,CAAC,CAAA;EAEjB,OAAAH,OAAA;AACT;ACTA,MAAM38C,KAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,0BAA0B,CAAA;AAEjDF,WAAA,CAAYve,KAAG,CAAI,GAAAue,WAAA,CAAYve,KAAG,CAAA,IAAK0e,cAAwC,IAAI,CAAA;AAEtE,MAAAqlC,YAAA,GAAwDxlC,YAAYve,KAAG,CAAA;;;;;;ACRpF,IAAA4I,IAAA,EAAAO,IAAA;AA2BA,MAAMukB,MAAO,GAAAC,MAAA,CAAOqS,KAAK,CAAA,CAAZp3B,IAAa,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,mGAAA,CAAA,CAAA,CAAA,CAAA;AAS1B,MAAM0kC,cAAA,GAAiBr2B,MAAO,CAAAC,GAAA,CAAPzkB,IAAU,KAAAA,IAAA,GAAAmW,YAAA,CAAA,CAAA,sHAAA,CAAA,CAAA,CAAA,CAAA;AASjC,IAAI2kC,OAAU,GAAA,CAAA;AAKP,SAASC,cAAc/iD,KAA+C,EAAA;EAC3E,MAAM;IAAC2d,QAAU;IAAApc,OAAA,GAAU;IAAG8xB,QAAU;IAAAC,QAAA;IAAU1W;EAAW,CAAA,GAAA5c,KAAA;EAC7D,MAAM,CAACm7B,KAAO,EAAA6nB,SAAS,CAAI,GAAAt+C,QAAA,CAAqB,EAAE,CAAA;EAE5C,MAAAu+C,SAAA,GAAYn+C,MAAqD,CAAA,CAAA,CAAE,CAAA;EAEnE,MAAAX,IAAA,GAAO0sB,WAAY,CAACsT,MAAwB,IAAA;IAEhD,MAAMiJ,WAA8BjS,MAAAA,IAAU+nB,gBAAgB,MAAMF,SAAA,CAAU7nB,MAAK,CAAC,CAAA;IAEpF,MAAMlK,EAAK,GAAAkT,MAAA,CAAOlT,EAAM,IAAA+B,MAAA,CAAO8vB,OAAS,EAAA,CAAA;IAClC,MAAAK,QAAA,GAAWhf,OAAOgf,QAAY,IAAA,GAAA;IAEpC,MAAMC,UAAUA,CAAA,KAAM;MA/D1B37C,IAAAA,GAAAA;MAgEM,MAAM47C,aAAY57C,GAAA,GAAAw7C,SAAA,CAAUh+C,QAAQgsB,EAAE,CAAA,KAApB,gBAAAxpB,GAAuB,CAAA47C,SAAA;MAEzCjW,QAAA,CAAUkW,SAA0B,IAAA;QAClC,MAAM1vC,MAAM0vC,SAAU,CAAAC,SAAA,CAAWC,CAAM,IAAAA,CAAA,CAAEvyB,OAAOA,EAAE,CAAA;QAElD,IAAIrd,MAAM,CAAI,CAAA,EAAA;UACN,MAAA6vC,MAAA,GAASH,SAAU,CAAA7wC,KAAA,CAAM,CAAC,CAAA;UAEzBgxC,MAAA,CAAAp1C,MAAA,CAAOuF,KAAK,CAAC,CAAA;UAEb,OAAA6vC,MAAA;QACT;QAEO,OAAAH,SAAA;MAAA,CACR,CAAA;MAED,IAAID,cAAc,KAAW,CAAA,EAAA;QAC3B5V,YAAA,CAAa4V,SAAS,CAAA;QACf,OAAAJ,SAAA,CAAUh+C,QAAQgsB,EAAE,CAAA;MAC7B;IAAA,CACF;IAEAmc,QAAA,CAAUkW,SAA0B,IAAA;MAC3B,OAAAA,SAAA,CACJl/C,OAAQo/C,CAAA,IAAMA,EAAEvyB,EAAO,KAAAA,EAAE,EACzBjyB,MAAO,CAAA,CACN;QACEokD,OAAA;QACAnyB,EAAA;QACAkT,MAAQ,EAAA;UAAC,GAAGA,MAAA;UAAQgf;QAAQ;MAC9B,CAAA,CACD,CAAA;IAAA,CACJ,CAAA;IAEG,IAAAF,SAAA,CAAUh+C,OAAQ,CAAAgsB,EAAE,CAAG,EAAA;MACzBwc,YAAA,CAAawV,SAAU,CAAAh+C,OAAA,CAAQgsB,EAAE,CAAA,CAAEoyB,SAAS,CAAA;MACrC,OAAAJ,SAAA,CAAUh+C,QAAQgsB,EAAE,CAAA;IAC7B;IAEUgyB,SAAA,CAAAh+C,OAAA,CAAQgsB,EAAE,CAAI,GAAA;MAACoyB,WAAW3V,UAAW,CAAA0V,OAAA,EAASD,QAAQ;KAAC;IAE1D,OAAAlyB,EAAA;EACT,CAAA,EAAG,EAAE,CAAA;EAGLlsB,SAAA,CACE,MAAM,MAAM;IACV,KAAA,MAAW;MAACs+C;KAAS,IAAKt8C,OAAO5H,MAAO,CAAA8jD,SAAA,CAAUh+C,OAAO,CAAG,EAAA;MAC1DwoC,YAAA,CAAa4V,SAAS,CAAA;IACxB;IAEAJ,SAAA,CAAUh+C,UAAU,EAAC;EACvB,CAAA,EACA,EAAC,CACH;EAEM,MAAAvG,KAAA,GAA2BiF,OAAQ,CAAA,OAAO;IAACma,OAAA,EAAS;IAAK3Z;GAAI,CAAA,EAAI,CAACA,IAAI,CAAC,CAAA;EAC7E,MAAMq3C,UAAUmH,UAAW,EAAA;EAE3B,OAAA,eACG7jC,IAAA,CAAA8jC,YAAA,CAAa5kC,QAAb,EAAA;IAAsBtf,KACpB;IAAAif,QAAA,EAAA,CAAAA,QAAA,EAEA69B,OAAA,IACE,eAAAz9B,GAAA,CAAAwO,MAAA,EAAA;MAAK,SAAQ,EAAA,eAAA;MAAgB3P;MAC5Be,QAAC,EAAA,eAAAI,GAAA,CAAA8kC,cAAA,EAAA;QACCllC,QAAC,EAAA,eAAAI,GAAA,CAAAkV,GAAA,EAAA;UAAI1xB,OAAkB;UAAA8xB,QAAA;UAAoBC;UACzC3V,QAAC,EAAA,eAAAI,GAAA,CAAA2lC,eAAA,EAAA;YAAgBC,OAAS,EAAA,KAAA;YACvBhmC,QAAM,EAAAwd,KAAA,CAAA77B,GAAA,CAAIskD,MAAA;cAAA,IAAC;gBAACR,OAAA;gBAASnyB,EAAI;gBAAAkT;cACxB,CAAA,GAAAyf,MAAA;cAAA,OAAA,eAAA7lC,GAAA,CAAC8lC,MAAO,CAAAp3B,GAAA,EAAP;gBACCq3B,SAAS;kBAAC3rC,OAAA,EAAS;kBAAG9Q,CAAG,EAAA,CAAA;kBAAG08C,OAAO;gBAAC,CAAA;gBACpCC,IAAA,EAAM;kBAAC7rC,OAAA,EAAS,CAAG;kBAAA4rC,KAAA,EAAO;kBAAK31B,UAAY,EAAA;oBAAC+0B,QAAU,EAAA;;gBAAI,CAAA;gBAC1DQ,SAAS;kBAACxrC,OAAA,EAAS;kBAAG9Q,CAAG,EAAA,EAAA;kBAAI08C,OAAO;gBAAI,CAAA;gBAExCE,MAAO,EAAA,UAAA;gBACP71B,YAAY;kBAACzlB,IAAA,EAAM;kBAAUu7C,OAAS,EAAA,EAAA;kBAAIC,WAAW;gBAAG,CAAA;gBAExDxmC,QAAA,iBAAAI,GAAA,CAACwkC,KAAA,EAAA;kBACCC,UAAUre,MAAO,CAAAqe,QAAA;kBACjBC,aAAate,MAAO,CAAAse,WAAA;kBACpBlK,OAAS,EAAA6K,OAAA;kBACTtzB,QAAQqU,MAAO,CAAArU,MAAA;kBACf5W,OAAOirB,MAAO,CAAAjrB;gBAAA,CAChB;cAAA,CAAA,EAVK+X,EAYR,CAAA;YAAA;WACH;QACF,CAAA;MACF,CAAA;KACF,CAAA;EAEJ,CAAA,CAAA;AAEJ;ACrJO,SAASmzB,QAA8BA,CAAA,EAAA;EACtC,MAAA1lD,KAAA,GAAQ8f,WAAWokC,YAAY,CAAA;EAErC,IAAI,CAAClkD,KAAO,EAAA;IACJ,MAAA,IAAI2B,MAAM,mCAAmC,CAAA;EACrD;EAKA,IAAI,CAAC2e,QAAS,CAAAtgB,KAAK,CAAK,IAAAA,KAAA,CAAMof,YAAY,CAAK,EAAA;IACvC,MAAA,IAAIzd,MAAM,iDAAiD,CAAA;EACnE;EAEO,OAAA3B,KAAA;AACT;ACrBgB,SAAA2lD,oBAAAA,CACdlpB,KACA,EAAAmpB,YAAA,EACA3Q,cACoB,EAAA;EANtB,IAAAlsC,EAAA;EAOQ,MAAAmM,GAAA,GAAM0wC,YAAa,CAAA9xC,OAAA,CAAQmhC,cAAc,CAAA;EAC/C,MAAM+K,GAAM,GAAA4F,YAAA,CAAa7xC,KAAM,CAAA,CAAA,EAAGmB,GAAG,CAAA;EACrC,MAAM2V,MAAMm1B,GAAI,CAAAv+C,MAAA;EAEhB,KAAA,IAAS2R,IAAIyX,GAAM,GAAA,CAAA,EAAGzX,CAAK,IAAA,CAAA,EAAGA,KAAK,CAAG,EAAA;IACpC,MAAMyyC,OAAU,GAAA7F,GAAA,CAAI5sC,CAAC,CAAA,CAAEgrB,aAAa,eAAe,CAAA;IAEnD,IAAI,CAACynB,OAAS,EAAA;MACZ;IACF;IAEM,MAAAC,QAAA,GAAWD,OAAQ,CAAA7uC,KAAA,CAAM,GAAG,CAAA;IAElC8uC,QAAA,CAASC,GAAI,CAAA,CAAA;IAEb,MAAM56B,IAAc,EAAC;IAErB,IAAIwpB,QAAW,GAAA,IAAA;IAEf,KAAA,IAASqR,IAAI,CAAG,EAAAA,CAAA,GAAIF,QAAS,CAAArkD,MAAA,EAAQukD,KAAK,CAAG,EAAA;MACzC76B,CAAA,CAAA1lB,IAAA,CAAKqgD,QAAS,CAAAE,CAAC,CAAC,CAAA;MAEZ,MAAAC,CAAA,GAAI96B,CAAE,CAAA9E,IAAA,CAAK,GAAG,CAAA;MAEpB,IAAI,EAAC,CAAAtd,EAAA,GAAA0zB,KAAA,CAAMwpB,CAAC,CAAA,KAAP,mBAAUtR,QAAU,CAAA,EAAA;QACZA,QAAA,GAAA,KAAA;QACX;MACF;IACF;IAEA,IAAIA,QAAU,EAAA;MACZ,OAAOqL,IAAI5sC,CAAC,CAAA;IACd;EACF;EAEO,OAAA,IAAA;AACT;AAEgB,SAAA8yC,oBAAAA,CACdzpB,KACA,EAAAmpB,YAAA,EACA3Q,cACoB,EAAA;EAjDtB,IAAAlsC,EAAA;EAkDQ,MAAAmM,GAAA,GAAM0wC,YAAa,CAAA9xC,OAAA,CAAQmhC,cAAc,CAAA;EACzC,MAAA+K,GAAA,GAAM4F,YAAa,CAAA7xC,KAAA,CAAMmB,GAAG,CAAA;EAClC,MAAM2V,MAAM+6B,YAAa,CAAAnkD,MAAA;EAEzB,KAAA,IAAS2R,CAAI,GAAA,CAAA,EAAGA,CAAI,GAAAyX,GAAA,EAAKzX,KAAK,CAAG,EAAA;IAC3B,IAAA,CAAC4sC,GAAI,CAAA5sC,CAAC,CAAG,EAAA;MACX;IACF;IAEA,MAAMyyC,OAAU,GAAA7F,GAAA,CAAI5sC,CAAC,CAAA,CAAEgrB,aAAa,eAAe,CAAA;IAEnD,IAAI,CAACynB,OAAS,EAAA;MACZ;IACF;IAEM,MAAAC,QAAA,GAAWD,OAAQ,CAAA7uC,KAAA,CAAM,GAAG,CAAA;IAElC8uC,QAAA,CAASC,GAAI,CAAA,CAAA;IAEb,MAAM56B,IAAc,EAAC;IAErB,IAAIwpB,QAAW,GAAA,IAAA;IAEf,KAAA,IAASqR,IAAI,CAAG,EAAAA,CAAA,GAAIF,QAAS,CAAArkD,MAAA,EAAQukD,KAAK,CAAG,EAAA;MACzC76B,CAAA,CAAA1lB,IAAA,CAAKqgD,QAAS,CAAAE,CAAC,CAAC,CAAA;MAEZ,MAAAC,CAAA,GAAI96B,CAAE,CAAA9E,IAAA,CAAK,GAAG,CAAA;MAEpB,IAAI,EAAC,CAAAtd,EAAA,GAAA0zB,KAAA,CAAMwpB,CAAC,CAAA,KAAP,mBAAUtR,QAAU,CAAA,EAAA;QACZA,QAAA,GAAA,KAAA;QACX;MACF;IACF;IAEA,IAAIA,QAAU,EAAA;MACZ,OAAOqL,IAAI5sC,CAAC,CAAA;IACd;EACF;EAEO,OAAA,IAAA;AACT;AAEO,SAAS+yC,kBAAkB3gD,EAAuB,EAAA;EACvD,IAAIA,EAAG,CAAA44B,YAAA,CAAa,MAAM,CAAA,KAAM,UAAY,EAAA;IAC1C54B,EAAA,CAAG+4B,KAAM,CAAA,CAAA;EACX;EAEA,IAAI/4B,EAAG,CAAA44B,YAAA,CAAa,MAAM,CAAA,KAAM,MAAQ,EAAA;IACtC,MAAMsE,aAAal9B,EAAG,CAAAk9B,UAAA;IAElB,IAAAA,UAAA,IAAcA,sBAAsBC,WAAa,EAAA;MACnDD,UAAA,CAAWnE,KAAM,CAAA,CAAA;IACnB;EACF;AACF;ACpGA,MAAMp+B,GAAA,GAAMwe,MAAO,CAAAC,GAAA,CAAI,yBAAyB,CAAA;AAEhDF,WAAA,CAAYve,GAAG,CAAI,GAAAue,WAAA,CAAYve,GAAG,CAAA,IAAK0e,cAAuC,IAAI,CAAA;AAKrE,MAAAunC,WAAA,GAAsD1nC,YAAYve,GAAG,CAAA;ACQ3E,MAAMkmD,IAAO,GAAAjgB,IAAA,CAClBjY,UAAW,CAAA,SAASk4B,KAClBC,CAAAhlD,KAAA,EAEAihB,GACoB,EAAA;EACpB,MAAM;IAACtD,QAAU;IAAAnd,KAAA,GAAQ;IAAG+9B,OAAS;IAAA,GAAGpR;EAAa,CAAA,GAAAntB,KAAA;EAC/C,MAAA23B,YAAA,GAAe3W,gBAAgBC,GAAG,CAAA;EACxC,MAAM,CAAC0yB,cAAA,EAAgBsR,iBAAiB,CAAA,GAAIvgD,SAA6B,IAAI,CAAA;EACvE,MAAAq1C,iBAAA,GAAoBj1C,OAAO6uC,cAAc,CAAA;EAC/C,MAAMlP,OAAiB9gC,OAAQ,CAAA,MAAM,EAAC,EAAG,EAAE,CAAA;EAC3C,MAAM,CAAC2gD,YAAc,EAAAY,eAAe,CAAI,GAAAxgD,QAAA,CAAwB,EAAE,CAAA;EAClE,MAAM,CAACy2B,KAAO,EAAAiS,QAAQ,CAAI,GAAA1oC,QAAA,CAAoB,CAAE,CAAA,CAAA;EAC1C,MAAAygD,QAAA,GAAWrgD,OAAOq2B,KAAK,CAAA;EAE7Bp2B,SAAA,CAAU,MAAM;IACdg1C,iBAAA,CAAkB90C,OAAU,GAAA0uC,cAAA;EAAA,CAC9B,EAAG,CAACA,cAAc,CAAC,CAAA;EAEnB5uC,SAAA,CAAU,MAAM;IACdogD,QAAA,CAASlgD,OAAU,GAAAk2B,KAAA;EAAA,CACrB,EAAG,CAACA,KAAK,CAAC,CAAA;EAEV,MAAMiqB,YAAe,GAAAv0B,WAAA,CACnB,CAAC9sB,OAAA,EAAsB0gC,KAAc,EAAA4O,QAAA,EAAmB5d,QAAsB,KAAA;IAC5E2X,QAAA,CAAU/4B,CAAA,KAAO;MAAC,GAAGA,CAAG;MAAA,CAACowB,KAAI,GAAG;QAAC1gC,OAAA;QAASsvC;;IAAW,CAAA,CAAA,CAAA;IAErD,IAAI5d,QAAU,EAAA;MACZwvB,iBAAA,CAAkBlhD,OAAO,CAAA;IAC3B;IAEA,OAAO,MAAM;MACXqpC,QAAA,CAAU/4B,CAAM,IAAA;QACR,MAAAgxC,QAAA,GAAW;UAAC,GAAGhxC;SAAC;QAEtB,OAAOgxC,SAAS5gB,KAAI,CAAA;QAEb,OAAA4gB,QAAA;MAAA,CACR,CAAA;IAAA,CACH;EACF,CAAA,EACA,EAAC,CACH;EAEA,MAAMC,WAAc,GAAAz0B,WAAA,CAAY,CAAC4T,KAAAA,EAAc4O,QAAsB,KAAA;IACnEjG,QAAA,CAAU/4B,CAAM,IAAA;MACR,MAAAkxC,SAAA,GAAYlxC,EAAEowB,KAAI,CAAA;MAExB,IAAI,CAAC8gB,SAAA,EAAkB,OAAAlxC,CAAA;MAEhB,OAAA;QAAC,GAAGA,CAAA;QAAG,CAACowB,KAAI,GAAG;UAAC,GAAG8gB,SAAW;UAAAlS;QAAA;OAAS;IAAA,CAC/C,CAAA;EACH,CAAA,EAAG,EAAE,CAAA;EAEL,MAAMhY,YAAiC,GAAA13B,OAAA,CACrC,OAAO;IACLma,OAAS,EAAA,CAAA;IACT61B,cAAgB,EAAAA,cAAA,IAAkB2Q,YAAa,CAAA,CAAC,CAAK,IAAA,IAAA;IACrD1mB,KAAO,EAAA,CAAA;IACP6G,IAAA;IACA2gB,YAAA;IACAE,WAAA;IACAL,iBAAA;IACAzkD,KAAA;IACA26B;EAAA,CACF,CAAA,EACA,CAACwY,cAAgB,EAAA2Q,YAAA,EAAc7f,MAAM2gB,YAAc,EAAAE,WAAA,EAAa9kD,OAAO26B,KAAK,CAAA,CAC9E;EAEA,MAAMoV,aAAgB,GAAA1f,WAAA,CACnBxqB,KAA+C,IAAA;IAzFtD,IAAAoB,EAAA;IA0FQ,IAAI,CAACsyC,iBAAkB,CAAA90C,OAAA,EAAS;IAE5B,IAAAoB,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,MAAMmZ,MAAS,GAAAZ,oBAAA,CACbO,QAAS,CAAAlgD,OAAA,EACTq/C,YAAA,EACAvK,iBAAkB,CAAA90C,OAAA,CACpB;MAEA,IAAIugD,MAAQ,EAAA;QACVX,iBAAA,CAAkBW,MAAM,CAAA;QACxBP,iBAAA,CAAkBO,MAAM,CAAA;MAC1B;MAEA;IACF;IAEI,IAAAn/C,KAAA,CAAMxH,QAAQ,SAAW,EAAA;MAC3BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,MAAMoZ,MAAS,GAAApB,oBAAA,CACbc,QAAS,CAAAlgD,OAAA,EACTq/C,YAAA,EACAvK,iBAAkB,CAAA90C,OAAA,CACpB;MAEA,IAAIwgD,MAAQ,EAAA;QACVZ,iBAAA,CAAkBY,MAAM,CAAA;QACxBR,iBAAA,CAAkBQ,MAAM,CAAA;MAC1B;MAEA;IACF;IAEI,IAAAp/C,KAAA,CAAMxH,QAAQ,WAAa,EAAA;MAC7BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,MAAMkY,OAAU,GAAAxK,iBAAA,CAAkB90C,OAAQ,CAAA63B,YAAA,CAAa,eAAe,CAAA;MAEtE,IAAI,CAACynB,OAAA,EAAS;MAER,MAAAgB,SAAA,GAAYJ,QAAS,CAAAlgD,OAAA,CAAQs/C,OAAO,CAAA;MAE1C,IAAI,CAACgB,SAAA,EAAW;MAEhB,IAAIA,UAAUlS,QAAU,EAAA;QACtBjG,QAAA,CAAU/4B,CAAM,IAAA;UACRkxC,MAAAA,UAAAA,GAAYlxC,EAAEkwC,OAAO,CAAA;UAE3B,IAAI,CAACgB,UAAAA,EAAkB,OAAAlxC,CAAA;UAEhB,OAAA;YAAC,GAAGA,CAAA;YAAG,CAACkwC,OAAO,GAAG;cAAC,GAAGgB,UAAAA;cAAWlS,QAAU,EAAA;YAAA;WAAM;QAAA,CACzD,CAAA;MAAA,CACI,MAAA;QACC,MAAAqS,QAAA,GAAWnB,OAAQ,CAAA7uC,KAAA,CAAM,GAAG,CAAA;QAElCgwC,QAAA,CAASjB,GAAI,CAAA,CAAA;QAEP,MAAAkB,SAAA,GAAYD,QAAS,CAAA3gC,IAAA,CAAK,GAAG,CAAA;QACnC,MAAM6gC,WAAc,GAAAD,SAAA,IAAaR,QAAS,CAAAlgD,OAAA,CAAQ0gD,SAAS,CAAA;QAE3D,IAAIC,WAAa,EAAA;UACfA,WAAA,CAAY7hD,QAAQk5B,KAAM,EAAA;UAC1BgoB,iBAAA,CAAkBW,YAAY7hD,OAAO,CAAA;QACvC;MACF;MAEA;IACF;IAEI,IAAAsC,KAAA,CAAMxH,QAAQ,YAAc,EAAA;MAC9BwH,KAAA,CAAMgmC,cAAe,CAAA,CAAA;MAErB,MAAMwZ,UAAa,GAAA9L,iBAAA,CAAkB90C,OAAQ,CAAA63B,YAAA,CAAa,eAAe,CAAA;MAEzE,IAAI,CAAC+oB,UAAA,EAAY;MAEjB,IAAI,GAACp+C,EAAS,GAAA09C,QAAA,CAAAlgD,OAAA,CAAQ4gD,UAAU,CAAA,KAA3B,mBAA8BxS,QAAU,CAAA,EAAA;QAC3CjG,QAAA,CAAU/4B,CAAM,IAAA;UACR,MAAAkxC,SAAA,GAAYlxC,EAAEwxC,UAAU,CAAA;UAE9B,IAAI,CAACN,SAAA,EAAkB,OAAAlxC,CAAA;UAEhB,OAAA;YAAC,GAAGA,CAAA;YAAG,CAACwxC,UAAU,GAAG;cAAC,GAAGN,SAAA;cAAWlS,QAAU,EAAA;YAAA;WAAK;QAAA,CAC3D,CAAA;MACH;MAEA;IACF;EACF,CAAA,EACA,CAACiR,YAAY,CAAA,CACf;EAEA,MAAM3lB,WAAc,GAAA9N,WAAA,CACjBxqB,KAA4C,IAAA;IAC3C4+C,iBAAA,CAAkB5+C,MAAMf,MAAM,CAAA;IAGpBi5B,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAl4B,KAAA,CAAA;EACZ,CAAA,EACA,CAACk4B,OAAO,CAAA,CACV;EAEAx5B,SAAA,CAAU,MAAM;IACd,IAAI,CAAC4yB,YAAa,CAAA1yB,OAAA,EAAS;IAC3B,MAAM6gD,gBAAgBlmD,KAAM,CAAA+6C,IAAA,CAC1BhjB,YAAA,CAAa1yB,OAAQ,CAAA8gD,gBAAA,CAAiB,sBAAsB,CAAA,CAC9D;IAEAb,eAAA,CAAgBY,aAAa,CAAA;EAAA,CAC5B,EAAA,CAACnoC,QAAU,EAAAga,YAAY,CAAC,CAAA;EAE3B,OACG,eAAA5Z,GAAA,CAAA+mC,WAAA,CAAY9mC,QAAZ,EAAA;IAAqBtf,OAAO28B,YAC3B;IAAA1d,QAAA,iBAAAI,GAAA,CAAC+rB,KAAA,EAAA;MACCxa,EAAG,EAAA,IAAA;MACH,SAAQ,EAAA,MAAA;MACP,GAAGnC,SAAA;MACJoR,OAAS,EAAAI,WAAA;MACTzqB,SAAW,EAAAq8B,aAAA;MACXtvB,GAAK,EAAA0W,YAAA;MACL8Y,IAAK,EAAA,MAAA;MACLjwC,KAAA;MAECmd;IAAA,CAEL;EAAA,CAAA,CAAA;AAAA,CAEH,CACH,CAAA;AAEAonC,IAAA,CAAKpf,WAAc,GAAA,MAAA;;;;;;AC/NnB,IAAAl+B,IAAA,EAAAO,EAAA,EAAAgiB,EAAA;AAUO,SAASg8B,iBAA4CA,CAAA,EAAA;EAC1D,OAAO97B,GAAG,CAAAziB,IAAA,KAAAA,IAAA,GAAA0W,YAAA,CAAA,CAAA,oYAAA,CAAA,CAAA,CAAA,CAAA;AAwBZ;AAEO,SAAS8nC,sBAAiDA,CAAA,EAAA;EAC/D,OAAO/7B,gBAAG/L,YAIW,CAAA,CAAA,gKAAA,EAAA,+BAAA,EAE+B,gHAKtB,EAAA,gIAAA,EAKC,oEAIG,+LAQb,EAAA,8BAAA,EACgC,oBACX,EAAA,8EAAA,EAIZ,0IAKC,0EAIG,EAAA,iCAAA,CAAA,CAAA,CAAA,EAvC1B7D,aAEiB,EAAAG,OAAA,CAAQC,QAAQ,UAAU,CAAA,EAK3Cwb,oBAAqB,EAAA,EAKnBD,oBAIA,CAAA,EAAAD,sBAAA,CAQF,CAAA,EAAA1b,aAAA,EACkBG,QAAQC,OAAQ,CAAA,UAAU,CACrC,EAAAD,OAAA,CAAQC,QAAQ,UAAU,CAAA,EAIjCwb,sBAKE,EAAAD,mBAAA,CAAA,GAIAD,sBAAuB,CAAA,CAAA,CAAA;AAKnC;AAMO,SAASkwB,iBACdlmD,KACwB,EAAA;EAClB,MAAA;IAACmmD,MAAQ;IAAApmD;EAAS,CAAA,GAAAC,KAAA;EAClB,MAAA;IAACQ;EAAK,CAAA,GAAIT,KAAM,CAAAO,MAAA;EAEtB,OAAO4pB,gBAAG/L,YAC8B,CAAA,CAAA,sBAAA,EAAA,oEAAA,CAAA,CAAA,CAAA,EAAtBrf,IAAI0B,KAAM,CAAA,CAAC,IAAI2lD,MAAM,CAAA,CAAA;AAMzC;AClGO,SAASC,OAA4BA,CAAA,EAAA;EACpC,MAAAC,IAAA,GAAO7nC,WAAWsmC,WAAW,CAAA;EAEnC,IAAI,CAACuB,IAAM,EAAA;IACH,MAAA,IAAIhmD,MAAM,6BAA6B,CAAA;EAC/C;EAEO,OAAAgmD,IAAA;AACT;ACPO,MAAMC,SAAY,GAAAxhB,IAAA,CAAK,SAASwhB,UAAAA,CACrCtmD,KAEoB,EAAA;EACpB,MAAM;IAAC2d,QAAU;IAAA01B,QAAA,GAAW,KAAO;IAAA,GAAGlmB;EAAa,CAAA,GAAAntB,KAAA;EACnD,MAAMqmD,OAAOD,OAAQ,EAAA;EAGnB,sBAAAroC,GAAA,CAAC+rB,KAAA,EAAA;IACCxa,EAAG,EAAA,IAAA;IACH,SAAQ,EAAA,WAAA;IACP,GAAGnC,SAAA;IACJyb,QAAQ,CAACyK,QAAA;IACTrwC,WAAWqjD,IAAK,CAAA7lD,KAAA;IAChBiwC,IAAK,EAAA,OAAA;IACLjwC,OAAO6lD,IAAK,CAAA7lD,KAAA;IAEXmd;EAAA,CAAA,CACH;AAEJ,CAAC,CAAA;;;;;;AC5BD,IAAAlW,EAAA;AAgCA,MAAM8kB,OAAOuY,IAAK,CAAAtY,MAAA,CAAO+5B,EAAG,CAAAP,iBAAA,EAAmBC,sBAAsB,CAAC,CAAA;AAEtE,MAAMO,WAAA,GAAch6B,MAAO,CAAAyG,GAAG,CAAE,CAAAmY,KAAA,CAAM;EAACvX,WAAa,EAAA;AAAA,CAAI,CAAA,CAAyBqyB,gBAAgB,CAAA;AAEjG,MAAMO,eAAkB,GAAAj6B,MAAA,CAAOI,IAAI,CAAA,CAAXnlB,EAAY,KAAAA,EAAA,GAAA0W,UAAA,CAAA,CAAA,wDAAA,CAAA,CAAA,CAAA,CAAA;AAU7B,MAAMuoC,QAAW,GAAA5hB,IAAA,CAAK,SAAS4hB,SAAAA,CACpC1mD,KACoB,EAAA;EACd,MAAA;IACJ2d,QAAA;IACA01B,UAAUsT,YAAe,GAAA,KAAA;IACzB1kD,QAAA;IACAkvB,IAAA;IACA0D,IAAA;IACA5D,EAAI,EAAA21B,MAAA;IACJC,MAAA;IACA75B,KAAA;IACA+f,OAAA;IACAxrC,OAAU,GAAA,CAAA;IACVk0B,QAAW,GAAA,KAAA;IACXj1B,KAAQ,GAAA,CAAA;IACR2a,IAAA;IACA+R,MAAA;IACA,GAAGC;EACD,CAAA,GAAAntB,KAAA;EACE,MAAA8mD,OAAA,GAAUhiD,OAA6B,IAAI,CAAA;EAC3C,MAAAiiD,WAAA,GAAcjiD,OAA8B,IAAI,CAAA;EACtD,MAAMuhD,OAAOD,OAAQ,EAAA;EACrB,MAAM;IAAC3hB,IAAA;IAAM2gB,YAAc;IAAAE,WAAA;IAAaL;GAAqB,GAAAoB,IAAA;EAC7D,MAAMW,MAAM32B,KAAM,EAAA;EAClB,MAAMY,KAAK21B,MAAU,IAAAI,GAAA;EACrB,MAAMtB,QAAW,GAAA/hD,OAAA,CAAQ,MAAM8gC,IAAA,CAAKzlC,MAAO,CAAA,CAACiyB,EAAM,IAAA,EAAE,CAAC,CAAA,EAAG,CAACA,EAAA,EAAIwT,IAAI,CAAC,CAAA;EAC5D,MAAA8f,OAAA,GAAUmB,QAAS,CAAA3gC,IAAA,CAAK,GAAG,CAAA;EAC3B,MAAAwgC,SAAA,GAAYc,IAAK,CAAAlrB,KAAA,CAAMopB,OAAO,CAAA;EAC9B,MAAA3T,OAAA,GAAUyV,IAAK,CAAA1S,cAAA,KAAmBmT,OAAQ,CAAA7hD,OAAA;EAChD,MAAMouC,YAAWkS,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAAlS,QAAA,MAAa,KAAY,CAAA,GAAAsT,YAAA,GAAA,CAAepB,uCAAWlS,QAAY,KAAA,KAAA;EAC3F,MAAMxW,WAAWwpB,IAAK,CAAA1S,cAAA,IAAkB0S,KAAK1S,cAAmB,KAAAmT,OAAA,CAAQ7hD,UAAU,CAAI,GAAA,CAAA,CAAA;EACtF,MAAMo2B,YAAe,GAAA13B,OAAA,CACnB,OAAO;IAAC,GAAG0iD,IAAA;IAAMzoB,OAAOyoB,IAAK,CAAAzoB,KAAA,GAAQ,CAAG;IAAA6G,IAAA,EAAMihB;GAAQ,CAAA,EACtD,CAACA,UAAUW,IAAI,CAAA,CACjB;EAEA,MAAM/V,WAAc,GAAAzf,WAAA,CACjBxqB,KAA2C,IAAA;IACtC,IAAA0mC,OAAA,EAASA,OAAA,CAAQ1mC,KAAK,CAAA;IAE1B,MAAMf,SAASe,KAAM,CAAAf,MAAA;IAGnB,IAAAA,MAAA,YAAkB+7B,WACjB,KAAA/7B,MAAA,CAAOw3B,YAAa,CAAA,SAAS,MAAM,UAClC,IAAAx3B,MAAA,CAAO2hD,OAAQ,CAAA,2BAA2B,CAC5C,CAAA,EAAA;MACA5gD,KAAA,CAAMimC,eAAgB,CAAA,CAAA;MACVgZ,WAAA,CAAAf,OAAA,EAAS,CAAClR,QAAQ,CAAA;MAC9B4R,iBAAA,CAAkB6B,QAAQ7hD,OAAO,CAAA;IACnC;EACF,CAAA,EACA,CAACouC,QAAA,EAAUkR,OAAS,EAAAxX,OAAA,EAASuY,aAAaL,iBAAiB,CAAA,CAC7D;EAEA,MAAM1U,aAAgB,GAAA1f,WAAA,CACnBxqB,KAA4C,IAAA;IACvC,IAAAuqC,OAAA,IAAWvqC,KAAM,CAAAxH,GAAA,KAAQ,OAAS,EAAA;MAC9B,MAAAqF,EAAA,GAAK6iD,WAAY,CAAA9hD,OAAA,IAAW6hD,OAAQ,CAAA7hD,OAAA;MAEtCf,EAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAgjD,KAAA,CAAA,CAAA;IACN;EACF,CAAA,EACA,CAACtW,OAAO,CAAA,CACV;EAEA7rC,SAAA,CAAU,MAAM;IACd,IAAI,CAAC+hD,OAAQ,CAAA7hD,OAAA,EAAS;IAEf,OAAAmgD,YAAA,CAAa0B,QAAQ7hD,OAAS,EAAAygD,QAAA,CAAS3gC,KAAK,GAAG,CAAA,EAAGsuB,UAAU5d,QAAQ,CAAA;KAC1E,CAAC4d,QAAA,EAAUqS,QAAU,EAAAN,YAAA,EAAc3vB,QAAQ,CAAC,CAAA;EAEzC,MAAAh0B,OAAA,GAAA,eACHqd,IAAA,CAAA8U,IAAA,EAAA;IAAKryB,OACJ;IAAAoc,QAAA,EAAA,CAAA,eAAAmB,IAAA,CAACmU,GAAA,EAAA;MACCG,WAAa,EAAA5yB,KAAA;MACb5B,KAAA,EAAO;QAACuoD,UAAY,EAAAtyB,IAAA,IAAQlX,WAAW,SAAY,GAAA,QAAA;QAAUypC,eAAe;MAAM,CAAA;MAEjFzpC,QAAA,EAAA,CACCkX,IAAA,mBAAA9W,GAAA,CAAC6O;QAAKI,KAAc;QAAA9qB,IAAA,EAAMD;QAAUirB,MACjC;QAAAvP,QAAA,EAAAkY,aAAA,CAAchB,IAAI;MACrB,CAAA,CAAA,EAED,CAACA,IACA,IAAA,eAAA9W,GAAA,CAAC0oC,eAAgB,EAAA;QAAAz5B,KAAA;QAAc9qB,MAAMD,QAAU;QAAAirB,MAAA;QAC7CvP,QAAC,EAAA,eAAAI,GAAA,CAAAspC,oBAAA,EAAA;UAAqBzoD,OAAO;YAACmE,SAAA,EAAWswC,WAAW,eAAkB,GAAA,KAAA;;QAAY,CAAA;OACpF,CAAA;IAAA,CAEJ,CAAA,EAAA,eACCt1B,GAAA,CAAAkV,GAAA,EAAA;MAAIzO,IAAM,EAAA,CAAA;MACT7G,QAAC,EAAA,eAAAI,GAAA,CAAA6O,IAAA,EAAA;QAAKI,KAAc;QAAA9qB,IAAA,EAAMD,QAAU;QAAAgrB,YAAA,EAAa,UAAW;QAAAC,MAAA;QACzDvP;MACH,CAAA;KACF,CAAA;EACF,CAAA,CAAA;EAGF,IAAIwT,IAAM,EAAA;IAEN,sBAAArS,IAAA,CAACyN,IAAA,EAAA;MACC,eAAA,EAAekJ,WAAW,EAAK,GAAA,KAAA,CAAA;MAC/B,cAAc,EAAAxE,EAAA;MACd,eAAe,EAAAszB,OAAA;MACf,SAAQ,EAAA,UAAA;MACP,GAAGp3B,SAAA;MACJ4f,OAAS,EAAAuD,WAAA;MACTrvB,GAAK,EAAA6lC,OAAA;MACLrW,IAAK,EAAA,MAAA;MAEL9yB,QAAA,EAAA,CAAA,eAAAI,GAAA,CAACyoC,WAAA,EAAA;QACCL,QAAQE,IAAK,CAAAzoB,KAAA;QACb,eAAe,EAAAyV,QAAA;QACf/jB,EAAI,EAAAu3B,MAAA;QACJ,SAAQ,EAAA,eAAA;QACR11B,IAAA;QACAlQ,GAAK,EAAA8lC,WAAA;QACLtW,IAAK,EAAA,UAAA;QACL5T,QAAA;QAEClf,QAAA,EAAAlc;MAAA,CACH,CAAA,EAAA,eAECsc,GAAA,CAAA+mC,WAAA,CAAY9mC,QAAZ,EAAA;QAAqBtf,KAAO,EAAA28B,YAAA;QAC1B1d,QAAY,EAAAA,QAAA,IAAA,eAAAI,GAAA,CAACuoC,SAAU,EAAA;UAAA1d,MAAA,EAAQ,CAACyK,QAAA;UAAW11B;QAAS,CAAA;OACvD,CAAA;IAAA,CAAA,CACF;EAEJ;EAGE,sBAAAmB,IAAA,CAACyN,IAAA,EAAA;IACC,eAAA,EAAekJ,WAAW,EAAK,GAAA,KAAA,CAAA;IAC/B,SAAQ,EAAA,UAAA;IACR,cAAc,EAAAxE,EAAA;IACd,eAAe,EAAAszB,OAAA;IACd,GAAGp3B,SAAA;IACJ,eAAe,EAAAkmB,QAAA;IACftG,OAAS,EAAAuD,WAAA;IACTp8B,SAAW,EAAAq8B,aAAA;IACXtvB,GAAK,EAAA6lC,OAAA;IACLrW,IAAK,EAAA,UAAA;IACL5T,QAAA;IAEAlf,QAAA,EAAA,CAAC,eAAAI,GAAA,CAAAyoC,WAAA,EAAA;MAAYL,QAAQE,IAAK,CAAAzoB,KAAA;MAAOtO,IAAG,KAAM;MAAA,SAAA,EAAQ;MAC/C3R,QACH,EAAAlc;IAAA,CAAA,CAAA,EAEA,eAAAsc,GAAA,CAAC+mC,WAAY,CAAA9mC,QAAA,EAAZ;MAAqBtf,KAAA,EAAO28B,YAC1B;MAAA1d,QAAA,EAAAA,QAAA,IAAa,eAAAI,GAAA,CAAAuoC,SAAA,EAAA;QAAUjT,QAAqB;QAAA11B;MAAA,CAAS;IACxD,CAAA,CAAA;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;","x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}
1
+ {"version":3,"file":"index.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/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/studioTheme/helpers.ts","../src/theme/lib/theme/color/cssVariables/tints.ts","../src/theme/lib/theme/color/cssVariables/tones.ts","../src/theme/lib/theme/color/cssVariables/cardVariables.ts","../src/theme/lib/theme/color/cssVariables/createCssVars.ts","../src/theme/lib/theme/color/_legacy/createColorTheme.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/theme/lib/theme/color/_legacy/legacyColor.ts","../src/theme/lib/theme/color/cssVariables/utils.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/toneContext/toneContext.ts","../src/theme/toneContext/toneProvider.tsx","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/usePrefersReducedMotion.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/theme/toneContext/useToneContext.tsx","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/spotColors.ts","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/getLayerContext.ts","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/constants.ts","../src/primitives/popover/floating-ui/size.ts","../src/primitives/popover/helpers.ts","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/hooks/useDelayedState.ts","../src/primitives/tooltip/constants.ts","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../src/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/constants.ts","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/hooks/useMounted.ts","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\n/**\n * @internal\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","import {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\nimport {CSSObject} from '../types/styled'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex])),\n )\n}\n","import {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n position: 'relative',\n fontFamily: family,\n fontWeight,\n padding: '1px 0',\n margin: 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n // eslint-disable-next-line no-console\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nexport function fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n fontSize: rem(fontSize),\n lineHeight: `calc(${lineHeight} / ${fontSize})`,\n letterSpacing: rem(letterSpacing),\n transform: `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('code', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../types/styled'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[],\n): T[] {\n // JSON.stringify is fast, but it's not faster than useMemo's referencial equality check\n const __perf_hash__ = useMemo(() => JSON.stringify(val ?? defaultVal), [defaultVal, val])\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__],\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>,\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null,\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\nimport {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB, RGBA} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB, RGBA} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB, RGBA} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbaToRGBA(rgba: string): RGBA {\n const values = rgba.replace(/rgba\\(|\\)/g, '').split(',')\n\n return {\n r: parseInt(values[0]),\n g: parseInt(values[1]),\n b: parseInt(values[2]),\n a: parseFloat(values[3]),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'\nimport {HSL, RGB, RGBA} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB | RGBA {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n if (color.startsWith('rgba(')) {\n return rgbaToRGBA(color)\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {\n parseColor,\n rgbToHex,\n screen as _screen,\n multiply as _multiply,\n rgba,\n} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n if (s.a) {\n return rgba(hex, s.a)\n }\n\n return hex\n}\n","/**\n * This file creates a translation between the tints and the studio colors\n * Providing readable names, and allowing to mix colors and tints in the same ThemeColor.\n * e.g. for positive theme: `{\"bg_base\": \"white\", \"\"bg-base-hover\"\": \"gray/50\", \"\"bg-base-active\"\": \"cyan/50\"}\n * This is not possible in the previous configuration, as each ThemeColor uses only one tint.\n */\nimport {ColorTintKey, ColorTints, ColorTint, black, hues, white} from '@sanity/color'\nimport {rgba} from '../../../color-fns'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\n\nexport const colorKeys = [\n 'text-primary',\n 'text-secondary',\n 'text-inactive',\n // TODO: Can this be replaced by other of the text colors? It's used by the code html element if it's inside a text\n 'text-code',\n 'text-muted',\n 'text-link',\n 'text-accent',\n 'bg-base',\n 'bg-base-hover',\n 'bg-base-active',\n 'bg-accent',\n 'bg-accent-hover',\n 'bg-accent-active',\n 'bg-tint',\n // TODO: Can we replace this with bg_tint? It's used by the code html element if it's inside a text\n 'bg-tint-code',\n\n 'icon-default',\n 'icon-inverted',\n 'border-base',\n 'border-base-hover',\n 'border-accent',\n 'border-accent-inverted',\n\n // Colors starting with -base won't be affected by the mix function\n 'base-bg-card', // This is used by the card when a tone is defined, it will also override the bg-base in the rest of the components.\n 'base-bg-raw', // This is the same color as bg-base, but it won't be overridden by the card bg color, used in selectable items.\n\n 'base-shadow-outline-color',\n 'base-shadow-umbra-color',\n 'base-shadow-penumbra-color',\n 'base-shadow-ambient-color',\n 'base-text-color', // Color used by the buttons for default mode text\n\n 'skeleton-from',\n 'skeleton-to',\n] as const\n\nexport type ColorKey = (typeof colorKeys)[number]\n\ntype ColorWithOpacity = {\n type: 'colorWithOpacity'\n tint: ColorTintKey\n /**\n * Number between 0 and 1\n */\n opacity: number\n}\n\ntype DefaultColor = {\n type: 'colorTint'\n value: ColorTint\n}\n\ntype ColorTintsDictionary = Record<ColorKey, ColorTintKey | DefaultColor | ColorWithOpacity>\nconst defaultTints: Record<ThemeColorSchemeKey, ColorTintsDictionary> = {\n light: {\n 'text-primary': '900',\n 'text-secondary': '600',\n 'text-inactive': '500',\n 'text-code': '600',\n 'text-muted': '600',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['600'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['500'],\n },\n 'bg-base': {\n type: 'colorTint',\n value: white,\n },\n 'bg-base-hover': '50',\n 'bg-base-active': '100',\n 'bg-accent': '500',\n 'bg-accent-hover': '600',\n 'bg-accent-active': '700',\n 'bg-tint': '50',\n 'bg-tint-code': '50',\n 'icon-default': '500',\n 'icon-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'border-base': '100',\n 'border-base-hover': '200',\n 'border-accent': '500',\n 'border-accent-inverted': {\n type: 'colorTint',\n value: white,\n },\n 'base-bg-card': '50',\n 'base-bg-raw': {\n type: 'colorTint',\n value: white,\n },\n 'base-text-color': {type: 'colorTint', value: white},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.2,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.1,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.07,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.06,\n },\n 'skeleton-from': '100',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n dark: {\n 'text-primary': '50',\n 'text-secondary': '300',\n 'text-inactive': '400',\n 'text-code': '400',\n 'text-muted': '400',\n 'text-link': {\n type: 'colorTint',\n value: hues.blue['400'],\n },\n 'text-accent': {\n type: 'colorTint',\n value: hues.red['400'],\n },\n 'bg-base': {type: 'colorTint', value: black},\n 'bg-base-hover': '900',\n 'bg-base-active': '800',\n 'bg-accent': '500',\n 'bg-accent-hover': '400',\n 'bg-accent-active': '300',\n 'bg-tint': '900',\n 'bg-tint-code': '950',\n 'icon-default': '300',\n 'icon-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'border-base': '800',\n 'border-base-hover': '700',\n 'border-accent': '300',\n 'border-accent-inverted': {type: 'colorTint', value: hues.gray[900]},\n 'base-bg-card': '950',\n 'base-text-color': {type: 'colorTint', value: black},\n 'base-shadow-outline-color': {\n type: 'colorWithOpacity',\n tint: '500',\n opacity: 0.4,\n },\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '900',\n opacity: 0.24,\n },\n 'base-bg-raw': {\n type: 'colorTint',\n value: black,\n },\n 'skeleton-from': '900',\n 'skeleton-to': {\n type: 'colorWithOpacity',\n tint: '50',\n opacity: 0.5,\n },\n },\n}\n\nexport const colorTints: Record<\n ThemeColorSchemeKey,\n Record<ThemeColorName, ColorTintsDictionary>\n> = {\n light: {\n default: {\n ...defaultTints.light,\n 'base-bg-card': {type: 'colorTint', value: white},\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n primary: {\n ...defaultTints.light,\n 'bg-accent': '900',\n 'bg-accent-hover': '950',\n 'bg-accent-active': {type: 'colorTint', value: black},\n 'border-accent': '600',\n },\n positive: {\n ...defaultTints.light,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[50]},\n 'bg-base-active': '50',\n 'bg-accent': '400',\n 'bg-accent-hover': '500',\n 'bg-accent-active': '600',\n 'border-accent': '400',\n },\n transparent: defaultTints.light,\n caution: defaultTints.light,\n critical: {...defaultTints.light, 'text-inactive': '300'},\n },\n dark: {\n default: {\n ...defaultTints.dark,\n 'base-bg-card': {type: 'colorTint', value: black},\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n 'base-shadow-umbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.4,\n },\n 'base-shadow-penumbra-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.28,\n },\n 'base-shadow-ambient-color': {\n type: 'colorWithOpacity',\n tint: '950',\n opacity: 0.24,\n },\n },\n primary: {\n ...defaultTints.dark,\n 'text-primary': {type: 'colorTint', value: white},\n 'bg-accent': {type: 'colorTint', value: white},\n 'bg-accent-hover': '50',\n 'bg-accent-active': '100',\n },\n positive: {\n ...defaultTints.dark,\n 'bg-base-hover': {type: 'colorTint', value: hues.gray[900]},\n 'bg-base-active': '900',\n 'bg-accent': '400',\n 'bg-accent-hover': '300',\n 'bg-accent-active': '200',\n 'border-accent': '400',\n },\n transparent: defaultTints.dark,\n caution: defaultTints.dark,\n critical: {...defaultTints.dark, 'text-inactive': '700'},\n },\n}\n\nexport const getColorValue = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): ColorTint => {\n const value = colorTints[scheme][tone][key]\n\n if (typeof value === 'string') {\n return tints[value]\n }\n\n if (value.type === 'colorWithOpacity') {\n const base = tints[value.tint]\n\n return {\n hex: rgba(base.hex, value.opacity),\n title: `${base.title} ${Math.round(value.opacity * 100)}%`,\n }\n }\n\n return value.value\n}\n\nexport const getColorHex = (\n tints: ColorTints,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorName,\n key: ColorKey,\n): string => {\n return getColorValue(tints, scheme, tone, key).hex\n}\n","import {ColorTints} from '@sanity/color'\nimport {multiply, screen} from '../../../../studioTheme/helpers'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {ColorKey, colorKeys, getColorHex} from './tints'\n\nexport const getToneCssVar = (tone: ThemeColorName, key: ColorKey): string => `--${tone}-${key}`\n\nexport const createTonesVariables = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n baseBg: string,\n): Record<string, string> => {\n const tonesVariables: Record<string, string> = {}\n const keys = Object.keys(tones) as ThemeColorName[]\n const mix = scheme === 'dark' ? screen : multiply\n const needsMixing = defaultTone !== 'default'\n\n keys.forEach((_tone: ThemeColorName) => {\n const tone = _tone == 'default' ? defaultTone : _tone\n const tint = tones[tone]\n\n colorKeys.forEach((key) => {\n const colorHex = getColorHex(tint, scheme, tone, key)\n const varName = getToneCssVar(_tone, key)\n const willBeMixed = needsMixing && !key.startsWith('base-')\n\n tonesVariables[varName] = willBeMixed ? mix(baseBg, colorHex) : colorHex\n })\n })\n\n // If we are changing the default tone, we need to update the bg-base to match with the new base bg color.\n // As components are using this bg-base for the background color, and it needs to match with the card bg color.\n if (defaultTone !== 'default') {\n tonesVariables[getToneCssVar('default', 'bg-base')] = tonesCssVariables.default['base-bg-card']\n }\n\n return tonesVariables\n}\n\nconst themeNames: ThemeColorName[] = [\n 'default',\n 'transparent',\n 'primary',\n 'positive',\n 'caution',\n 'critical',\n]\n\nexport const tonesCssVariables: Record<\n ThemeColorName,\n Record<ColorKey, string>\n> = themeNames.reduce(\n (acc, tone) => {\n acc[tone] = colorKeys.reduce(\n (acc, key) => {\n acc[key] = `var(${getToneCssVar(tone, key)})`\n\n return acc\n },\n {} as Record<ColorKey, string>,\n )\n\n return acc\n },\n {} as Record<ThemeColorName, Record<ColorKey, string>>,\n)\n","import {tonesCssVariables} from './tones'\n\n/**\n * @internal\n * This variables can be changed by other components besides the `Card` component itself.\n */\nexport const mutableCardVariables = {\n 'bg-color': '--card-bg-color',\n 'muted-fg-color': '--card-muted-fg-color',\n 'icon-color': '--card-icon-color',\n 'fg-color': '--card-fg-color',\n 'bg-image': '--card-bg-image',\n 'accent-color': '--card-accent-fg-color',\n} as const\n\n/**\n * @internal\n * This are the only variables that are exposed, as they can be updated and used by other components.\n */\nexport const mutableVariables: Record<keyof typeof mutableCardVariables, string> = Object.keys(\n mutableCardVariables,\n).reduce(\n (acc, key) => {\n const item = key as keyof typeof mutableCardVariables\n\n acc[item] = `var(${mutableCardVariables[item]})`\n\n return acc\n },\n {} as Record<keyof typeof mutableCardVariables, string>,\n)\n\n/**\n * @internal\n * This variables can not be changed by other components, they are here for backwards compatibility.\n * Shouldn't be used inside any component in @sanity/ui\n */\nconst legacyFixedVariables = [\n '--card-shadow-outline-color',\n '--card-shadow-umbra-color',\n '--card-shadow-penumbra-color',\n '--card-shadow-ambient-color',\n '--card-focus-ring-color',\n '--card-link-fg-color',\n '--card-code-bg-color',\n '--card-code-fg-color',\n '--card-skeleton-color-from',\n '--card-skeleton-color-to',\n '--card-link-color',\n '--card-hairline-soft-color',\n '--card-hairline-hard-color',\n '--card-border-color',\n] as const\n\nconst allVariables = [...Object.values(mutableCardVariables), ...legacyFixedVariables] as const\n\ntype CardCssVariable = (typeof allVariables)[number]\n\n/**\n * @internal\n */\nexport const cardVariables: Record<CardCssVariable, string> = {\n '--card-shadow-outline-color': tonesCssVariables.default['base-shadow-outline-color'],\n '--card-shadow-umbra-color': tonesCssVariables.default['base-shadow-umbra-color'],\n '--card-shadow-penumbra-color': tonesCssVariables.default['base-shadow-penumbra-color'],\n '--card-shadow-ambient-color': tonesCssVariables.default['base-shadow-ambient-color'],\n '--card-focus-ring-color': tonesCssVariables.positive['bg-accent'],\n\n '--card-icon-color': tonesCssVariables.default['icon-default'],\n\n // Card\n '--card-bg-color': tonesCssVariables.default['bg-base'],\n '--card-bg-image': 'inherit',\n '--card-fg-color': tonesCssVariables.default['text-primary'],\n '--card-border-color': tonesCssVariables.default['border-base'],\n '--card-muted-fg-color': tonesCssVariables.default['text-secondary'],\n '--card-accent-fg-color': tonesCssVariables.default['text-accent'],\n '--card-link-fg-color': tonesCssVariables.default['text-link'],\n '--card-code-bg-color': tonesCssVariables.default['bg-tint-code'],\n '--card-code-fg-color': tonesCssVariables.default['text-code'],\n '--card-skeleton-color-from': tonesCssVariables.default['skeleton-from'],\n '--card-skeleton-color-to': tonesCssVariables.default['skeleton-to'],\n\n // @todo: deprecate\n '--card-link-color': tonesCssVariables.default['text-link'],\n '--card-hairline-soft-color': tonesCssVariables.default['border-base'],\n '--card-hairline-hard-color': tonesCssVariables.default['border-base'],\n}\n","import {ColorTints} from '@sanity/color'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../types'\nimport {cardVariables, mutableVariables} from './cardVariables'\nimport {getColorHex} from './tints'\nimport {createTonesVariables, tonesCssVariables} from './tones'\n\n/**\n * @beta\n */\nexport const createCssVars = (\n scheme: ThemeColorSchemeKey,\n tones: Record<ThemeColorName, ColorTints>,\n defaultTone: ThemeColorName = 'default',\n): Record<string, string> => {\n const baseBg = getColorHex(tones[defaultTone], scheme, defaultTone, 'base-bg-card')\n const tonesVars = createTonesVariables(scheme, tones, defaultTone, baseBg)\n\n return {...tonesVars, ...cardVariables}\n}\n\n/**\n * @beta\n */\nexport const cssVars = {\n ...tonesCssVariables,\n /**\n * This variables are mutable, they can be updated by other components.\n * The main component that updates them is the card, these are the only ones that should be exposed for use from the cards.\n */\n mutable: mutableVariables,\n}\n","/**\n * @internal\n * @deprecated Use studioTheme instead.\n */\nexport function createColorTheme(): null {\n return null\n}\n","import {ColorTints, hues} from '@sanity/color'\nimport {ThemeColorName} from '../lib/theme'\n\nexport const tones: Record<ThemeColorName, ColorTints> = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.gray,\n positive: hues.cyan,\n caution: hues.yellow,\n critical: hues.red,\n} as const\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {tones} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n focusRing: {offset: -1, width: 2},\n },\n card: {\n focusRing: {offset: -1, width: 1},\n },\n color: {\n tones: tones,\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This is necessary until workshop is updated.\n base: {bg: '#fffff'},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 21,\n height: 13,\n padding: 2,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n border: {\n width: 1,\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","export const legacyColors = {\n base: {\n fg: '#111213',\n bg: '#ffffff',\n border: '#e2e6e9',\n focusRing: '#388bff',\n shadow: {\n outline: 'rgba(120,129,145,0.4)',\n umbra: 'rgba(120,129,145,0.2)',\n penumbra: 'rgba(120,129,145,0.14)',\n ambient: 'rgba(120,129,145,0.12)',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n button: {\n default: {\n default: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n ghost: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#e2e6e9',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e2e6e9',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#e2e6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#e2e6e9',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#e2e6e9',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n bleed: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#f9f9fa',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#ffffff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#f5faff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#e5f1ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#ffffff',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#f3fcf6',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#dff6e9',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#dff6e9',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#ffffff',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fffdf0',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fef7cd',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fef7cd',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#ffffff',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fff5f5',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fee8e7',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fee8e7',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#ffffff',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n },\n },\n card: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n fg: '#111213',\n border: '#e2e6e9',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n },\n dark: false,\n input: {\n default: {\n enabled: {\n bg: '#ffffff',\n fg: '#111213',\n border: '#e2e6e9',\n placeholder: '#9aa1ac',\n },\n disabled: {\n bg: '#f9f9fa',\n fg: '#bec3cb',\n border: '#f3f4f6',\n placeholder: '#e2e6e9',\n },\n hovered: {\n bg: '#ffffff',\n fg: '#111213',\n border: '#bec3cb',\n placeholder: '#9aa1ac',\n },\n readOnly: {\n bg: '#f9f9fa',\n fg: '#31353f',\n border: '#e2e6e9',\n placeholder: '#9aa1ac',\n },\n },\n invalid: {\n enabled: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n disabled: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n hovered: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n readOnly: {\n bg: '#fff5f5',\n fg: '#d72414',\n border: '#fbccc6',\n placeholder: '#f17165',\n },\n },\n },\n selectable: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e5f1ff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#dcecff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#dff6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#d5f3e1',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#fef7cd',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fef5c1',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#fee8e7',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fedfde',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n },\n },\n spot: {\n gray: '#788191',\n blue: '#388bff',\n purple: '#a065d7',\n magenta: '#ea3e77',\n red: '#ec4636',\n orange: '#ef6115',\n yellow: '#f3bc16',\n green: '#21d46c',\n cyan: '#0ecff1',\n },\n syntax: {\n atrule: '#843dc7',\n attrName: '#1ba755',\n attrValue: '#cb920b',\n attribute: '#cb920b',\n boolean: '#843dc7',\n builtin: '#843dc7',\n cdata: '#cb920b',\n char: '#cb920b',\n class: '#c24e0f',\n className: '#0e9ebe',\n comment: '#9aa1ac',\n constant: '#843dc7',\n deleted: '#d72414',\n doctype: '#9aa1ac',\n entity: '#d72414',\n function: '#1ba755',\n hexcode: '#0661fe',\n id: '#843dc7',\n important: '#843dc7',\n inserted: '#cb920b',\n keyword: '#d11a60',\n number: '#843dc7',\n operator: '#d11a60',\n prolog: '#9aa1ac',\n property: '#0661fe',\n pseudoClass: '#cb920b',\n pseudoElement: '#cb920b',\n punctuation: '#5e6573',\n regex: '#0661fe',\n selector: '#d72414',\n string: '#cb920b',\n symbol: '#843dc7',\n tag: '#d72414',\n unit: '#c24e0f',\n url: '#d72414',\n variable: '#d72414',\n },\n solid: {\n default: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n transparent: {\n enabled: {\n bg: '#788191',\n bg2: '#848d9d',\n border: '#788191',\n fg: '#ffffff',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#fef4f5',\n },\n link: {\n fg: '#f1f8ff',\n },\n code: {\n bg: '#757e8e',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: '#929bac',\n to: 'rgba(146,155,172,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#5e6573',\n bg2: '#6d7482',\n border: '#5e6573',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fce0e0',\n },\n link: {\n fg: '#dcedff',\n },\n code: {\n bg: '#5c6371',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#7d8596',\n to: 'rgba(125,133,150,0.5)',\n },\n },\n pressed: {\n bg: '#31353f',\n bg2: '#444954',\n border: '#31353f',\n fg: '#ffffff',\n muted: {\n fg: '#e2e6e9',\n },\n accent: {\n fg: '#fcd7d4',\n },\n link: {\n fg: '#d2e7ff',\n },\n code: {\n bg: '#30343e',\n fg: '#e2e6e9',\n },\n skeleton: {\n from: '#595f6e',\n to: 'rgba(89,95,110,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#388bff',\n bg2: '#4196ff',\n border: '#388bff',\n fg: '#ffffff',\n muted: {\n fg: '#e5f1ff',\n },\n accent: {\n fg: '#fef5ff',\n },\n link: {\n fg: '#ebf9ff',\n },\n code: {\n bg: '#3688ff',\n fg: '#e5f1ff',\n },\n skeleton: {\n from: '#3da2ff',\n to: 'rgba(61,162,255,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#0661fe',\n bg2: '#1270fe',\n border: '#0661fe',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbdfff',\n },\n link: {\n fg: '#c8ecff',\n },\n code: {\n bg: '#065ffe',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0d81ff',\n to: 'rgba(13,129,255,0.5)',\n },\n },\n pressed: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n selected: {\n bg: '#073392',\n bg2: '#1346a5',\n border: '#073392',\n fg: '#ffffff',\n muted: {\n fg: '#c7e1ff',\n },\n accent: {\n fg: '#fbd6e7',\n },\n link: {\n fg: '#c9e7ff',\n },\n code: {\n bg: '#073292',\n fg: '#c7e1ff',\n },\n skeleton: {\n from: '#0e5cd0',\n to: 'rgba(14,92,208,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#21d46c',\n bg2: '#31da7b',\n border: '#21d46c',\n fg: '#ffffff',\n muted: {\n fg: '#dff6e9',\n },\n accent: {\n fg: '#fefbf1',\n },\n link: {\n fg: '#e8fdff',\n },\n code: {\n bg: '#1fd268',\n fg: '#dff6e9',\n },\n skeleton: {\n from: '#31e185',\n to: 'rgba(49,225,133,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#1ba755',\n bg2: '#2bb266',\n border: '#1ba755',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbedd9',\n },\n link: {\n fg: '#cdf5ff',\n },\n code: {\n bg: '#1aa552',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#2bc272',\n to: 'rgba(43,194,114,0.5)',\n },\n },\n pressed: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n selected: {\n bg: '#124e2b',\n bg2: '#236541',\n border: '#124e2b',\n fg: '#ffffff',\n muted: {\n fg: '#b1eccb',\n },\n accent: {\n fg: '#fbdcd0',\n },\n link: {\n fg: '#cbeaff',\n },\n code: {\n bg: '#114d29',\n fg: '#b1eccb',\n },\n skeleton: {\n from: '#23844f',\n to: 'rgba(35,132,79,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#f3bc16',\n bg2: '#f5c227',\n border: '#f3bc16',\n fg: '#ffffff',\n muted: {\n fg: '#fef7cd',\n },\n accent: {\n fg: '#fff9e9',\n },\n link: {\n fg: '#fefbff',\n },\n code: {\n bg: '#f3bb15',\n fg: '#fef7cd',\n },\n skeleton: {\n from: '#f8cd20',\n to: 'rgba(248,205,32,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#cb920b',\n bg2: '#d29c1d',\n border: '#cb920b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fee9c8',\n },\n link: {\n fg: '#f4f2ff',\n },\n code: {\n bg: '#cb910a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#e0ad16',\n to: 'rgba(224,173,22,0.5)',\n },\n },\n pressed: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n selected: {\n bg: '#65400b',\n bg2: '#78521d',\n border: '#65400b',\n fg: '#ffffff',\n muted: {\n fg: '#fbf1a7',\n },\n accent: {\n fg: '#fdd9c8',\n },\n link: {\n fg: '#dde9ff',\n },\n code: {\n bg: '#653f0a',\n fg: '#fbf1a7',\n },\n skeleton: {\n from: '#a27016',\n to: 'rgba(162,112,22,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ec4636',\n bg2: '#ef5545',\n border: '#ec4636',\n fg: '#ffffff',\n muted: {\n fg: '#fee8e7',\n },\n accent: {\n fg: '#ffeeec',\n },\n link: {\n fg: '#fdf5ff',\n },\n code: {\n bg: '#ec4334',\n fg: '#fee8e7',\n },\n skeleton: {\n from: '#f45943',\n to: 'rgba(244,89,67,0.5)',\n },\n },\n disabled: {\n bg: '#e2e6e9',\n bg2: '#e5e8eb',\n border: '#e2e6e9',\n fg: '#ffffff',\n muted: {\n fg: '#f9f9fa',\n },\n accent: {\n fg: '#f9f9fa',\n },\n link: {\n fg: '#f9f9fa',\n },\n code: {\n bg: '#e2e6e9',\n fg: '#f9f9fa',\n },\n skeleton: {\n from: '#e8ebee',\n to: 'rgba(232,235,238,0.5)',\n },\n },\n hovered: {\n bg: '#d72414',\n bg2: '#dd3526',\n border: '#d72414',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fed3ca',\n },\n link: {\n fg: '#f6e5ff',\n },\n code: {\n bg: '#d72313',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#e83a24',\n to: 'rgba(232,58,36,0.5)',\n },\n },\n pressed: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n selected: {\n bg: '#6f1a11',\n bg2: '#842c23',\n border: '#6f1a11',\n fg: '#ffffff',\n muted: {\n fg: '#fbccc6',\n },\n accent: {\n fg: '#fdd1ca',\n },\n link: {\n fg: '#dfe4ff',\n },\n code: {\n bg: '#6f1910',\n fg: '#fbccc6',\n },\n skeleton: {\n from: '#ae3121',\n to: 'rgba(174,49,33,0.5)',\n },\n },\n },\n },\n muted: {\n default: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n transparent: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f3f4f6',\n fg: '#464c58',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f9f9fa',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#f3f4f6',\n to: 'rgba(243,244,246,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f9f9fa',\n bg2: '#f3f3f5',\n border: '#edeef1',\n fg: '#31353f',\n muted: {\n fg: '#5e6573',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3f3f5',\n fg: '#5e6573',\n },\n skeleton: {\n from: '#edeef1',\n to: 'rgba(237,238,241,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n primary: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f5faff',\n border: '#e5f1ff',\n fg: '#0345c9',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f5faff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#e5f1ff',\n to: 'rgba(229,241,255,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f5faff',\n bg2: '#ebf5ff',\n border: '#dcecff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ebf5ff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#dcecff',\n to: 'rgba(220,236,255,0.5)',\n },\n },\n pressed: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n selected: {\n bg: '#e5f1ff',\n bg2: '#dcecff',\n border: '#cee4ff',\n fg: '#073392',\n muted: {\n fg: '#0661fe',\n },\n accent: {\n fg: '#d44236',\n },\n link: {\n fg: '#055cfe',\n },\n code: {\n bg: '#dcecff',\n fg: '#0661fe',\n },\n skeleton: {\n from: '#cee4ff',\n to: 'rgba(206,228,255,0.5)',\n },\n },\n },\n positive: {\n enabled: {\n bg: '#ffffff',\n bg2: '#f3fcf6',\n border: '#dff6e9',\n fg: '#167941',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#f3fcf6',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#dff6e9',\n to: 'rgba(223,246,233,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#f3fcf6',\n bg2: '#e8f9ed',\n border: '#d5f3e1',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#e8f9ed',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#d5f3e1',\n to: 'rgba(213,243,225,0.5)',\n },\n },\n pressed: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n selected: {\n bg: '#dff6e9',\n bg2: '#d5f3e1',\n border: '#c3edd5',\n fg: '#124e2b',\n muted: {\n fg: '#1ba755',\n },\n accent: {\n fg: '#ce4431',\n },\n link: {\n fg: '#055ee8',\n },\n code: {\n bg: '#d5f3e1',\n fg: '#1ba755',\n },\n skeleton: {\n from: '#c3edd5',\n to: 'rgba(195,237,213,0.5)',\n },\n },\n },\n caution: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fffdf0',\n border: '#fef7cd',\n fg: '#98670b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffdf0',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef7cd',\n to: 'rgba(254,247,205,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#fffdf0',\n bg2: '#fffbe2',\n border: '#fef5c1',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fffbe2',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fef5c1',\n to: 'rgba(254,245,193,0.5)',\n },\n },\n pressed: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n selected: {\n bg: '#fef7cd',\n bg2: '#fef5c1',\n border: '#fdefa5',\n fg: '#65400b',\n muted: {\n fg: '#cb920b',\n },\n accent: {\n fg: '#eb442b',\n },\n link: {\n fg: '#065ecc',\n },\n code: {\n bg: '#fef5c1',\n fg: '#cb920b',\n },\n skeleton: {\n from: '#fdefa5',\n to: 'rgba(253,239,165,0.5)',\n },\n },\n },\n critical: {\n enabled: {\n bg: '#ffffff',\n bg2: '#fff5f5',\n border: '#fee8e7',\n fg: '#a52112',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#fff5f5',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fee8e7',\n to: 'rgba(254,232,231,0.5)',\n },\n },\n disabled: {\n bg: '#ffffff',\n bg2: '#f9f9fa',\n border: '#f9f9fa',\n fg: '#e2e6e9',\n muted: {\n fg: '#f3f4f6',\n },\n accent: {\n fg: '#f3f4f6',\n },\n link: {\n fg: '#f3f4f6',\n },\n code: {\n bg: '#ffffff',\n fg: '#f3f4f6',\n },\n skeleton: {\n from: 'rgba(243,244,246,0.5)',\n to: 'rgba(243,244,246,0.25)',\n },\n },\n hovered: {\n bg: '#fff5f5',\n bg2: '#ffebeb',\n border: '#fedfde',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#ec4636',\n },\n link: {\n fg: '#0661fe',\n },\n code: {\n bg: '#ffebeb',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fedfde',\n to: 'rgba(254,223,222,0.5)',\n },\n },\n pressed: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n selected: {\n bg: '#fee8e7',\n bg2: '#fedfde',\n border: '#fdd3d1',\n fg: '#6f1a11',\n muted: {\n fg: '#d72414',\n },\n accent: {\n fg: '#eb4031',\n },\n link: {\n fg: '#0658e6',\n },\n code: {\n bg: '#fedfde',\n fg: '#d72414',\n },\n skeleton: {\n from: '#fdd3d1',\n to: 'rgba(253,211,209,0.5)',\n },\n },\n },\n },\n}\n","/**\n * @internal\n * Transform css variables object to a style declaration type string\n */\nexport function cssObjectToCssString(rules: Record<string, string>): string {\n return Object.keys(rules).reduce((acc, key) => {\n return `${acc}${key}: ${rules[key]}; `\n }, '')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToneContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toneContext')\n\nglobalScope[key] = globalScope[key] || createContext<ToneContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ToneContext: React.Context<ToneContextValue | null> = globalScope[key]\n","import {useMemo} from 'react'\nimport {ThemeColorName, ThemeColorSchemeKey, useRootTheme} from '..'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ToneProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ToneProvider(props: ToneProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n const value: ToneContextValue = useMemo(\n () => ({\n version: 0.0,\n scheme: scheme || root.scheme,\n tone,\n }),\n [root.scheme, scheme, tone],\n )\n\n return <ToneContext.Provider value={value}>{children}</ToneContext.Provider>\n}\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider, createGlobalStyle} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {legacyColors} from './lib/theme/color/_legacy/legacyColor'\nimport {createCssVars} from './lib/theme/color/cssVariables'\nimport {cssObjectToCssString} from './lib/theme/color/cssVariables/utils'\nimport {ThemeContext} from './themeContext'\nimport {ToneProvider} from './toneContext/toneProvider'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\nconst GlobalVariables = createGlobalStyle<{$vars?: string}>`\n :root {\n ${({$vars}) => $vars}\n }\n`\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {layer: rootLayer, ...restTheme} = themeProp\n\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, layer, color: {...legacyColors, tones: restTheme.color.tones}}}\n }, [themeProp])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone],\n )\n\n const cssVariables = useMemo(() => {\n if (!themeProp?.color.tones) return\n\n return cssObjectToCssString(createCssVars(scheme, themeProp?.color.tones))\n }, [scheme, themeProp?.color.tones])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <GlobalVariables $vars={cssVariables} />\n <StyledThemeProvider theme={theme}>\n <ToneProvider tone={tone} scheme={scheme}>\n {children}\n </ToneProvider>\n </StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n * @deprecated\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n * @deprecated Use `toneContext` instead.\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","import {useSyncExternalStore} from 'react'\nimport {useTheme} from '../../theme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\nconst MEDIA_STORE_CACHE = new WeakMap<number[], _MediaStore>()\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(media: number[]): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const theme = useTheme()\n const {media} = theme.sanity\n\n let store = MEDIA_STORE_CACHE.get(media)\n\n if (!store) {\n store = _createMediaStore(media)\n MEDIA_STORE_CACHE.set(media, store)\n }\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-color-scheme: dark)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return false\n}\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useSyncExternalStore} from 'react'\n\nlet MEDIA_QUERY_CACHE: MediaQueryList | undefined\n\n/**\n * Lazy init the matchMedia instance\n */\nfunction getMatchMedia(): MediaQueryList {\n if (!MEDIA_QUERY_CACHE) {\n // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the\n // the `window` global is available and we're in a browser environment\n MEDIA_QUERY_CACHE = window.matchMedia('(prefers-reduced-motion: reduce)')\n }\n\n return MEDIA_QUERY_CACHE\n}\n\n/**\n * As the query is the same for all instances of this hook, we can cache the matchMedia instance\n * and have cheap `change` event listeners, while getSnapshot always reads from the same\n * matchMedia instance and we don't get any tearing.\n * Tearing in this context means the bad edge case in React concurrent render mdoe\n * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false`\n * during the same render.\n * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter\n * what React.memo boundaries there might be between the layers..\n */\nfunction subscribe(onStoreChange: () => void): () => void {\n const matchMedia = getMatchMedia()\n\n matchMedia.addEventListener('change', onStoreChange)\n\n return () => matchMedia.removeEventListener('change', onStoreChange)\n}\n\n/**\n * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot.\n * It's important that this function does not create new objects or arrays when called:\n * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached\n */\nfunction getSnapshot() {\n return getMatchMedia().matches\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return false\n}\n\n/**\n * Returns true if motion should be reduced\n * @public\n */\nexport function usePrefersReducedMotion(): boolean {\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToneContext} from './toneContext'\nimport {ToneContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToneContext(): ToneContextValue {\n const value: unknown = useContext(ToneContext)\n\n if (!value) {\n throw new Error('useToneContext(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToneContext(): the context value is not compatible')\n }\n\n return value as any as ToneContextValue\n}\n","import {cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = `1px solid ${cssVars.default['border-base']}`\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {EMPTY_ARRAY} from '../../constants'\nimport {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","import {FocusRing, cssVars} from '../../theme'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: FocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : cssVars.mutable['bg-color']\n\n return [\n focusRingInsetWidth > 0 &&\n `inset 0 0 0 ${focusRingInsetWidth}px ${cssVars.positive['border-accent']}`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 &&\n `0 0 0 ${focusRingOutsetWidth}px ${cssVars.positive['border-accent']}`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $tone: ThemeColorToneKey\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $tone: ThemeColorToneKey\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.family};\n font-weight: ${($weight && font.weights[$weight]) || font.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${cssVars.critical['text-primary']};\n --input-placeholder-color: ${cssVars.critical['text-inactive']};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${cssVars[$tone]['text-primary']};\n --input-placeholder-color: ${cssVars[$tone]['text-inactive']};\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $tone, theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.text\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: ${cssVars.mutable['bg-color']};\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n ${mutableCardVariables['bg-color']}: ${cssVars[$tone]['bg-base']};\n ${mutableCardVariables['fg-color']}: ${cssVars[$tone]['text-primary']};\n\n /* enabled */\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars[$tone]['border-base'],\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.critical['bg-tint']};\n ${mutableCardVariables['fg-color']}: ${cssVars.critical['text-primary']};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.critical['border-base'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${focusRingStyle({\n border: {color: cssVars[$tone]['border-base'], width: input.border.width},\n focusRing,\n })};\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${focusRingStyle({focusRing})};\n }\n }\n\n /* disabled */\n *:disabled + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* readOnly */\n *:read-only + & {\n ${mutableCardVariables['bg-color']}: ${cssVars.default['bg-tint']} !important;\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../types/styled'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow, cssVars} from '../../theme'\nimport {CSSObject} from '../../types/styled'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} ${cssVars.default['base-shadow-outline-color']}`\n const umbra = toBoxShadow(shadow.umbra, cssVars.default['base-shadow-umbra-color'])\n const penumbra = toBoxShadow(shadow.penumbra, cssVars.default['base-shadow-penumbra-color'])\n const ambient = toBoxShadow(shadow.ambient, cssVars.default['base-shadow-ambient-color'])\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\n\n return css`\n color: ${cssVars.mutable['fg-color']};\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n background-color: ${cssVars.default['bg-tint-code']};\n color: ${cssVars.default['text-code']};\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: ${cssVars.mutable['icon-color']};\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {\n gray,\n blue,\n purple,\n magenta,\n red,\n orange,\n yellow,\n green,\n cyan,\n ColorTint,\n} from '@sanity/color'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {ThemeColorSpotKey} from './types'\n\nexport const spotColor: Record<ThemeColorSpotKey, Record<ThemeColorSchemeKey, ColorTint>> = {\n gray: {\n dark: gray['400'],\n light: gray['500'],\n },\n blue: {\n dark: blue['400'],\n light: blue['500'],\n },\n purple: {\n dark: purple['400'],\n light: purple['500'],\n },\n magenta: {\n dark: magenta['400'],\n light: magenta['500'],\n },\n red: {\n dark: red['400'],\n light: red['500'],\n },\n orange: {\n dark: orange['400'],\n light: orange['500'],\n },\n yellow: {\n dark: yellow['400'],\n light: yellow['500'],\n },\n green: {\n dark: green['400'],\n light: green['500'],\n },\n cyan: {\n dark: cyan['400'],\n light: cyan['500'],\n },\n}\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n position: 'absolute',\n boxSizing: 'border-box',\n zIndex: 0,\n opacity: 0,\n transition: 'all 0.2s linear',\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n\n '& > svg': {\n width: '11px',\n height: '7px',\n position: 'absolute',\n top: '-5px',\n left: '50%',\n transform: 'translateX(-6px)',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: 0,\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: 1,\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: 1,\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nexport function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color, theme} = props\n const {focusRing} = theme.sanity.avatar\n\n return {\n backgroundColor: $color,\n position: 'relative',\n boxSizing: 'border-box',\n userSelect: 'none',\n boxShadow: `0 0 0 1px ${cssVars.mutable['bg-color']}`,\n\n '&[data-status=\"inactive\"]': {\n opacity: 0.5,\n },\n\n '&>svg': {\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n margin: 0,\n padding: 0,\n border: 0,\n font: 'inherit',\n color: 'inherit',\n outline: 'none',\n\n // @ts-expect-error -- TODO wait for CSSObject types to be fixed in `styled-components` itself\n '&:focus': {\n boxShadow: focusRingStyle({focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(): CSSObject {\n return {\n width: '100%',\n height: '100%',\n color: cssVars.default['text-primary'],\n alignItems: 'center',\n justifyContent: 'center',\n textTransform: 'uppercase',\n textAlign: 'center',\n borderRadius: '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: cssVars.mutable['bg-color'],\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n strokeWidth: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {useTheme} from '../../theme'\n\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {spotColor} from './spotColors'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\nimport {ThemeColorSpotKey} from './types'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\nconst Root = styled.div<{$color: string; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const {scheme} = useToneContext()\n\n const color = spotColor[colorKey][scheme].hex\n\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, useMemo} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {theme} = props\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: ${cssVars.mutable['fg-color']};\n background: ${cssVars.mutable['bg-color']};\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n inset 0 0 0 1.5px ${cssVars.default['border-base']});\n padding: 0 ${rem(theme.sanity.space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode,\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string',\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = styled.div<{$size: AvatarSize[]}>(responsiveAvatarStackSizeStyle, avatarStackStyle)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string',\n ) as React.ReactElement[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n boxStyle,\n flexItemStyle,\n FlexItemStyleProps,\n responsiveBoxStyle,\n ResponsiveBoxStyleProps,\n responsiveGridItemStyle,\n ResponsiveGridItemStyleProps,\n responsivePaddingStyle,\n ResponsivePaddingStyleProps,\n responsiveMarginStyle,\n ResponsiveMarginStyleProps,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n forwardedAs?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$mode, $tone} = props\n\n return {\n backgroundColor: $mode === 'outline' ? cssVars[$tone]['bg-base'] : cssVars[$tone]['bg-tint'],\n [mutableCardVariables['fg-color']]: cssVars[$tone]['text-secondary'],\n boxShadow: $mode === 'outline' ? `inset 0 0 0 1px ${cssVars[$tone]['border-base']}` : undefined,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {\n children,\n fontSize,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n flexItemStyle,\n FlexItemStyleProps,\n responsiveFlexStyle,\n ResponsiveFlexStyleProps,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n // @ts-expect-error -- some dollar prefixed typings aren't inferred correctly https://github.com/styled-components/styled-components/issues/4062\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Root = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {ButtonMode, ButtonTone} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): ReturnType<typeof css> {\n return css`\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nconst buttonTheme = {border: {width: 1}}\nconst defaultBoxShadow = '0px 2px 0px 0px rgba(112, 128, 155, 0.19);'\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode, theme, $tone} = props\n const {focusRing} = theme.sanity.button\n const shadow = props.$mode !== 'bleed'\n const border = {\n width: buttonTheme.border.width,\n color:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent']\n : $mode === 'ghost'\n ? cssVars[$tone]['border-base']\n : cssVars[$tone]['bg-base'],\n }\n\n return [\n {\n // This is going to be used by the text elements inside the button\n [mutableCardVariables['fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n [mutableCardVariables['muted-fg-color']]:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-secondary'],\n [mutableCardVariables['icon-color']]:\n $mode === 'default' ? cssVars[$tone]['icon-inverted'] : cssVars[$tone]['icon-default'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n\n // Override the default variables for elements used inside buttons\n [getToneCssVar('default', 'bg-tint-code')]:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-tint-code'],\n ...($mode === 'default' && {\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-code')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-link')]: cssVars[$tone]['base-text-color'],\n [getToneCssVar('default', 'text-accent')]: cssVars[$tone]['base-text-color'],\n }),\n\n '&:disabled, &[data-disabled=\"true\"]': {\n /* Updates the variables for the */\n [mutableCardVariables['fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-inactive'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['bg-color']]:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n },\n },\n {\n backgroundColor:\n $mode === 'default' ? cssVars[$tone]['bg-accent'] : cssVars[$tone]['bg-base'],\n color:\n $mode === 'default' ? cssVars[$tone]['base-text-color'] : cssVars[$tone]['text-primary'],\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': {\n backgroundColor:\n $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.default['bg-base'],\n color: cssVars.primary['text-inactive'],\n boxShadow: focusRingBorderStyle({\n ...border,\n color: $mode === 'default' ? cssVars.primary['bg-tint'] : cssVars.primary['border-base'],\n }),\n },\n \"&:not([data-disabled='true'])\": {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: {bg: cssVars.positive['border-accent']},\n border: {width: 2, color: cssVars.default['bg-base']},\n focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n '&:active': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n '&[data-hovered]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-hover']\n : cssVars[$tone]['bg-base-hover'],\n },\n },\n '&[data-selected]': {\n backgroundColor:\n $mode === 'default'\n ? cssVars[$tone]['bg-accent-active']\n : cssVars[$tone]['bg-base-active'],\n },\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars, useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n muted?: boolean\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${cssVars.mutable['bg-color']};\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as'>,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n children,\n disabled,\n fontSize = 1,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n muted = false,\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={space}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={iconRight ? 1 : undefined}>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {ThemeColorToneKey, cssVars} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {getToneCssVar} from '../../theme/lib/theme/color/cssVariables/tones'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n * Card overrides in disabled states\n */\nexport function _colorVarStyleDisabled(checkered = false): CSSObject {\n return {\n [getToneCssVar('default', 'text-link')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-accent')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-code')]: cssVars.default['text-secondary'],\n [getToneCssVar('default', 'text-primary')]: cssVars.default['text-secondary'],\n\n [mutableCardVariables['fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['muted-fg-color']]: cssVars.primary['text-secondary'],\n [mutableCardVariables['icon-color']]: cssVars.primary['border-base'],\n [mutableCardVariables['accent-color']]: cssVars.primary['base-bg-card'],\n [mutableCardVariables['bg-color']]: cssVars.primary['bg-tint'],\n [mutableCardVariables['bg-image']]: checkered\n ? `repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`\n : undefined,\n }\n}\n\n/**\n * @internal\n * Card overrides in selected states\n */\nexport function _colorVarStyleSelected(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-accent'],\n [mutableCardVariables['fg-color']]: cssVars.default['bg-base'],\n [mutableCardVariables['muted-fg-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['accent-color']]: cssVars.default['base-bg-card'],\n [mutableCardVariables['icon-color']]: cssVars.primary['bg-base'],\n }\n}\n\n/**\n * @internal\n * Card overrides in hover\n */\nexport function _colorVarStyleHover(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-hover'],\n [getToneCssVar('default', 'bg-tint')]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Card overrides in active / pressed states\n */\nexport function _colorVarStyleActive(): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: cssVars.default['bg-base-active'],\n }\n}\n\n/**\n * @internal\n * Selectable needs to redefine bg-color and fg-color\n */\nexport function _selectableVarStyle(tone: ThemeColorToneKey): CSSObject {\n return {\n [mutableCardVariables['bg-color']]: 'inherit',\n [mutableCardVariables['fg-color']]:\n tone === 'default' ? cssVars.default['text-primary'] : cssVars.default['text-secondary'],\n }\n}\n\n/**\n * @internal\n * Selectable overrides in disabled states, same as card but with different bg-color\n */\nexport function _selectableVarStyleDisabled(): CSSObject {\n return {\n ..._colorVarStyleDisabled(),\n [mutableCardVariables['bg-color']]: undefined,\n }\n}\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleDisabled,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {createCssVars, cssVars} from '../../theme/lib/theme/color/cssVariables'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return css`\n ${$checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: ${cssVars.mutable['bg-image']};\n `}\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, theme, $tone, $scheme, $updateCssVars} = props\n const {focusRing} = theme.sanity.card\n\n const border = {width: 0, color: cssVars.positive['border-accent']}\n\n return css`\n /* A new css vars context is created, allowing for override of the default tone and changing the scheme */\n ${$updateCssVars && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n color-scheme: ${$scheme === 'dark' ? 'dark' : 'light'};\n ${$checkered &&\n `--card-bg-image: repeating-conic-gradient(${cssVars.default['base-bg-card']} 0% 25%, ${cssVars.default['bg-tint']} 0% 50%)`}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.default['text-primary']};\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_colorVarStyleDisabled($checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleActive()}\n }\n\n &[data-selected] {\n ${_colorVarStyleSelected()}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleActive()}\n }\n }\n }\n\n &:focus {\n --card-focus-ring-box-shadow: ${$focusRing\n ? focusRingStyle({border, focusRing})\n : undefined};\n }\n\n &:focus:not(:focus-visible) {\n --card-focus-ring-box-shadow: ${$focusRing ? focusRingBorderStyle(border) : undefined};\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import {forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorName, ThemeColorSchemeKey} from '../../theme'\nimport {ToneProvider} from '../../theme/toneContext/toneProvider'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /**\n * @internal\n * Used by the popover, as it creates a new html element that it's ouside of the previous scope of the card.\n * So if it's inheriting styles from the parent, it needs to create a new cars context\n */\n updateCssVars?: boolean\n}\n\nconst Root = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nconst Wrapper = ({\n shouldAddContext,\n scheme,\n tone,\n children,\n}: {\n shouldAddContext: boolean\n scheme: ThemeColorSchemeKey\n tone: ThemeColorName\n children: React.ReactElement\n}): React.ReactElement => {\n // Avoid creating a new react context if the card is just inheriting styles from the parent.\n if (shouldAddContext) {\n return (\n <ToneProvider scheme={scheme} tone={tone}>\n {children}\n </ToneProvider>\n )\n }\n\n return children\n}\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme: schemeProp,\n selected,\n shadow,\n tone: toneProp = 'default',\n updateCssVars = false,\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const toneContext = useToneContext()\n const tone = toneProp === 'inherit' ? toneContext.tone : toneProp\n const scheme = schemeProp ?? toneContext.scheme\n const shouldAddContext = scheme !== toneContext.scheme || tone !== toneContext.tone\n\n return (\n <Wrapper shouldAddContext={shouldAddContext} scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={scheme}\n data-ui=\"Card\"\n data-tone={tone}\n $scheme={scheme ?? toneContext.scheme}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n $updateCssVars={updateCssVars || shouldAddContext}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </Wrapper>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input, radius} = theme.sanity\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${cssVars.default['bg-base']};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.2 !important;\n }\n }\n }\n &:checked + span {\n background: ${cssVars.default['text-secondary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['text-secondary'],\n width: input.border.width,\n })};\n color: ${cssVars.default['bg-base']};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &[data-error]&:checked + span {\n background-color: ${cssVars.critical['text-secondary']};\n color: ${cssVars.default['bg-base']};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.critical['text-secondary']},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n &:disabled&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &[data-read-only] + span {\n background-color: ${cssVars.default['bg-tint']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.default['border-base'],\n })};\n color: ${cssVars.default['text-secondary']};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${cssVars.default['border-base']};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {purple, green, yellow, orange, cyan, gray, red, blue, magenta} from '@sanity/color'\nimport {css} from 'styled-components'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nfunction codeSyntaxHighlightingStyle(scheme: ThemeColorSchemeKey) {\n const dark = scheme === 'dark'\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n '&.atrule': {color: purple[mainShade].hex},\n '&.attr-name': {color: green[mainShade].hex},\n '&.attr-value': {color: yellow[mainShade].hex},\n '&.attribute': {color: yellow[mainShade].hex},\n '&.boolean': {color: purple[mainShade].hex},\n '&.builtin': {color: purple[mainShade].hex},\n '&.cdata': {color: yellow[mainShade].hex},\n '&.char': {color: yellow[mainShade].hex},\n '&.class': {color: orange[mainShade].hex},\n '&.class-name': {color: cyan[mainShade].hex},\n '&.comment': {color: gray[secondaryShade].hex},\n '&.constant': {color: purple[mainShade].hex},\n '&.deleted': {color: red[mainShade].hex},\n '&.doctype': {color: gray[secondaryShade].hex},\n '&.entity': {color: red[mainShade].hex},\n '&.function': {color: green[mainShade].hex},\n '&.hexcode': {color: blue[mainShade].hex},\n '&.id': {color: purple[mainShade].hex},\n '&.important': {color: purple[mainShade].hex},\n '&.inserted': {color: yellow[mainShade].hex},\n '&.keyword': {color: magenta[mainShade].hex},\n '&.number': {color: purple[mainShade].hex},\n '&.operator': {color: magenta[mainShade].hex},\n '&.prolog': {color: gray[secondaryShade].hex},\n '&.property': {color: blue[mainShade].hex},\n '&.pseudo-class': {color: yellow[mainShade].hex},\n '&.pseudo-element': {color: yellow[mainShade].hex},\n '&.punctuation': {color: gray[mainShade].hex},\n '&.regex': {color: blue[mainShade].hex},\n '&.selector': {color: red[mainShade].hex},\n '&.string': {color: yellow[mainShade].hex},\n '&.symbol': {color: purple[mainShade].hex},\n '&.tag': {color: red[mainShade].hex},\n '&.unit': {color: orange[mainShade].hex},\n '&.url': {color: red[mainShade].hex},\n '&.variable': {color: red[mainShade].hex},\n }\n}\n\nexport interface CodeBaseStyleProps {\n $scheme: ThemeColorSchemeKey\n}\n\nexport function codeBaseStyle(props: CodeBaseStyleProps): ReturnType<typeof css> {\n return css`\n color: ${cssVars.default['text-code']};\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle(props.$scheme)}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef} from 'react'\nimport Refractor from 'react-refractor'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {codeBaseStyle, CodeBaseStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = styled.pre<CodeBaseStyleProps & ResponsiveFontStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n const {scheme} = useToneContext()\n\n return (\n <Root\n data-ui=\"Code\"\n {...restProps}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n $scheme={scheme}\n >\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveGridStyle, ResponsiveGridStyleProps} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n\n return css`\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${theme.sanity.fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: ${cssVars.default['text-link']};\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px ${cssVars.mutable['bg-color']},\n 0 0 0 3px ${cssVars.positive['border-accent']};\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref,\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp],\n )\n\n return (\n <Root\n data-ui=\"Inline\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n >\n {children}\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {cssVars} from '../../theme'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\nfunction kbdStyle() {\n return css`\n background: ${cssVars.default['bg-tint']};\n font: inherit;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst Root = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" muted size={fontSize} weight=\"medium\">\n {children}\n </Text>\n </Box>\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return css`\n text-transform: uppercase;\n\n ${$accent &&\n css`\n color: ${cssVars.default['text-accent']}};\n `}\n\n ${$muted &&\n css`\n color: ${cssVars.mutable['muted-fg-color']};\n `}\n\n & code {\n font-family: ${fonts.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nconst SpanWithTextOverflow = styled.span`\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef],\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {Context, createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n\n/**\n * @internal\n */\nexport function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {\n return element.contains(node) || element === node\n}\n","import {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = useArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {FocusEvent, forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst Root = styled.div({position: 'relative'})\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, onActivate, onFocus, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const forwardedRef = useForwardedRef(ref)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = forwardedRef.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [forwardedRef, isTopLayer, onFocus],\n )\n\n return (\n <Root\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={forwardedRef}\n style={{...style, zIndex}}\n >\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/element')\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","import {useRef} from 'react'\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof document !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = styled.div`\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n overflow: hidden;\n overflow: clip;\n`\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {forwardRef, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\n})\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 27\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 11\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n left: ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n right: ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {Elements, Middleware, detectOverflow} from '@floating-ui/react-dom'\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n availableWidth: number\n availableHeight: number\n elements: Elements\n referenceWidth: number\n}\n\nexport function size(options: {\n apply: (args: SizeMiddlewareApplyOptions) => void\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n padding?: number\n}): Middleware {\n const {apply, margins, padding = 0} = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n apply({\n availableWidth: maxWidth - margins[1] - margins[3],\n availableHeight: maxHeight - margins[0] - margins[2],\n elements,\n referenceWidth: reference.width - margins[1] - margins[3],\n })\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {Theme} from '../../theme'\nimport {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n theme: Theme\n width: PopoverWidth[]\n}): number | undefined {\n const {mediaIndex, theme, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? theme.sanity.container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\nimport {DEFAULT_POPOVER_ARROW_HEIGHT, DEFAULT_POPOVER_ARROW_WIDTH} from './constants'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n height: ${DEFAULT_POPOVER_ARROW_WIDTH}px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n }\n\n [data-placement^='right'] > & {\n left: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${DEFAULT_POPOVER_ARROW_WIDTH}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst BorderPath = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst ShapePath = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins, Radius} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Card} from '../card'\nimport {Flex} from '../flex'\nimport {DEFAULT_POPOVER_ARROW_WIDTH, DEFAULT_POPOVER_MARGINS} from './constants'\nimport {PopoverArrow} from './popoverArrow'\n\nconst Root = styled(Card)({\n '&:not([hidden])': {\n display: 'flex',\n },\n flexDirection: 'column',\n width: 'max-content',\n minWidth: 'min-content',\n})\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n overflow,\n radius,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n const {zIndex} = useLayer()\n const toneContext = useToneContext()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y,\n left: x,\n width,\n zIndex,\n ...style,\n }),\n [strategy, style, width, x, y, zIndex],\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = 0 - DEFAULT_POPOVER_ARROW_WIDTH\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n data-ui=\"Popover\"\n {...restProps}\n data-tone={tone}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n // The popover creates a new html element, so it's out of context of the css variables generated in the cards.\n updateCssVars\n tone={tone === 'inherit' ? toneContext.tone : tone}\n style={rootStyle}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n }),\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n MutableRefObject,\n RefCallback,\n cloneElement,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize, useMediaIndex} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\nexport type {PopoverUpdateCallback}\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n matchReferenceWidth?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\n}\n\n/** @public */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n arrow: arrowProp = true,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n matchReferenceWidth,\n floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n updateRef,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const widthArrayProp = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({mediaIndex, theme, width: widthArrayProp})\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>()\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = forwardedRef.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, forwardedRef, matchReferenceWidth, maxWidth, open])\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n\n // Define distance between reference and floating element\n ret.push(\n offset({\n mainAxis: arrowProp ? DEFAULT_POPOVER_DISTANCE : 0,\n }),\n )\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements, referenceWidth}) {\n // not fresh, so use refs\n\n referenceWidthRef.current = referenceWidth\n\n const _currentWidth = widthRef.current\n const _maxWidth = maxWidthRef.current\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (_currentWidth !== undefined) {\n elements.floating.style.width = `${_currentWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(\n availableWidth,\n _maxWidth ?? Infinity,\n )}px`\n\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n },\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary eleement\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n arrowProp,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n preventOverflow,\n referenceBoundary,\n ])\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const childRef = (childProp as any)?.ref\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, refs],\n )\n\n const child = useMemo(() => {\n if (!childProp || referenceElement) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (updateRef) {\n if (typeof updateRef === 'function') {\n updateRef(update)\n } else if (updateRef) {\n updateRef.current = update\n }\n }\n }, [update, updateRef])\n\n useEffect(() => {\n refs.setReference(referenceElement || null)\n }, [referenceElement, refs])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidthRef.current : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Popover'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.radio\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${cssVars.default['bg-base']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${cssVars.default['text-secondary']};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${cssVars.critical['border-base']};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: cssVars.critical['text-secondary'],\n })};\n &::after {\n background: ${cssVars.critical['text-secondary']};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${cssVars.default['border-base']};\n background: ${cssVars.default['bg-tint']};\n\n &::after {\n background: ${cssVars.default['border-base']};\n }\n }\n `\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </Root>\n )\n})\n","import {css} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\nimport {mutableCardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\nimport {CSSObject} from '../../types/styled'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.select\n\n return css`\n /* enabled */\n background-color: ${cssVars.default['bg-base']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${cssVars.default['bg-base-hover']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base-hover'],\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: cssVars.default['border-base']},\n focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${cssVars.default['bg-tint']};\n color: ${cssVars.default['text-primary']};\n box-shadow: ${focusRingBorderStyle({\n color: cssVars.default['border-base'],\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: rem(size.lineHeight)}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(): ReturnType<typeof css> {\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n }\n\n /* disabled */\n select:disabled + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n\n /* read-only */\n select[data-read-only] + && {\n ${mutableCardVariables['fg-color']}: ${cssVars.default['text-primary']};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>,\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {rem, _responsive, ThemeProps} from '../../styles'\nimport {CSSObject} from '../../types/styled'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = styled(Box)<ResponsiveStackSpaceStyleProps>(stackBaseStyle, responsiveStackSpaceStyle)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {cssVars} from '../../theme/lib/theme/color/cssVariables/createCssVars'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n const {focusRing} = input.switch\n\n return css`\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-base']};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${cssVars.positive['border-accent']};\n --switch-fg-color: ${cssVars.positive['bg-base']};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${cssVars.default['border-base']};\n --switch-fg-color: ${cssVars.default['bg-tint']};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {theme} = props\n const {input} = theme.sanity\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);\n\n ${checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `}\n\n ${$indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `}\n `\n}\n","import {forwardRef, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst Root = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n weight,\n tone = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-tone={tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $space={useArrayProp(0)}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeColorToneKey, ThemeFontWeightKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n tone?: ThemeColorToneKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst Root = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const toneContext = useToneContext()\n const tone = toneProp === 'default' ? toneContext.tone : toneProp\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $tone={tone}\n data-border={border ? '' : undefined}\n data-tone={tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n tone,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-tone={tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $space={space}\n $tone={tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {useRef} from 'react'\nimport {useState, useCallback, SetStateAction} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n const [state, setState] = useState(initialState)\n const delayedAction = useRef<NodeJS.Timeout | undefined>()\n\n const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n const action = () => {\n setState(nextState)\n }\n\n // A new state change has been initiated, cancel the previous one.\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n delayedAction.current = undefined\n }\n\n if (!delay) return action()\n delayedAction.current = setTimeout(action, delay)\n }, [])\n\n return [state, onStateChange]\n}\n","import {Placement} from '@floating-ui/react-dom'\n\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n left: ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n right: ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst Root = styled.div`\n position: absolute;\n pointer-events: none;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n transform-origin: 7.5px 7.5px;\n }\n\n /* position: absolute;\n width: 15px;\n height: 15px;\n fill: none;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n &:not([hidden]) {\n display: block;\n }\n transform-origin: 7.5px 7.5px;\n } */\n\n [data-placement^='top'] > & {\n bottom: -27px;\n }\n\n [data-placement^='right'] > & {\n left: -27px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -27px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -27px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n`\n\nconst Border = styled.path`\n fill: ${cssVars.default['base-shadow-outline-color']};\n`\n\nconst Shape = styled.path`\n fill: ${cssVars.mutable['bg-color']};\n`\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../../lib/globalScope'\nimport {TooltipDelayGroupContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tooltipDelayGroup')\n\nglobalScope[key] = globalScope[key] || createContext<TooltipDelayGroupContextValue | null>(null)\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext: React.Context<TooltipDelayGroupContextValue | null> =\n globalScope[key]\n","import {useContext} from 'react'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n const value = useContext(TooltipDelayGroupContext)\n\n return value\n}\n","import {useMemo} from 'react'\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\nimport {useTooltipDelayGroup} from './useTooltipDelayGroup'\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: React.ReactNode\n /**\n * @public Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(\n props: TooltipDelayGroupProviderProps,\n): React.ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const isInsideContext = useTooltipDelayGroup()\n\n if (isInsideContext) {\n throw new Error(\n 'TooltipDelayGroupProvider cannot be nested inside another TooltipDelayGroupProvider',\n )\n }\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n isGroupActive: isGroupActive,\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n size,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n useId,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {Delay} from '../types'\nimport {DEFAULT_FALLBACK_PLACEMENTS} from './constants'\nimport {TooltipArrow} from './tooltipArrow'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n /**\n * @public Adds a delay to open or close the tooltip. Defaults to 0.\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n */\n delay?: Delay\n}\n\nconst Root = styled(Layer)`\n pointer-events: none;\n`\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 3,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n delay,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 4,\n rootBoundary,\n mainAxis: false,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Set width and height on the floating element\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements}) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth - 4 * 2}px`, // the padding is `4px`\n maxHeight: `${availableHeight - 4 * 2}px`, // the padding is `4px`\n })\n },\n }),\n )\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n }),\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\n const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n const isInsideGroup = delayGroupContext !== null\n const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n const handleIsOpenChange = useCallback(\n (open: boolean) => {\n if (isInsideGroup) {\n // When it's inside a group, the open or close status will be handled by the group.\n if (open) {\n delayGroupContext.setIsGroupActive(open, openDelay)\n delayGroupContext.setOpenTooltipId(tooltipId, openDelay)\n } else {\n const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n const groupDeactivateDelay =\n closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n delayGroupContext.setIsGroupActive(open, groupDeactivateDelay)\n delayGroupContext.setOpenTooltipId(null, closeDelay)\n }\n } else {\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, open ? openDelay : closeDelay)\n }\n },\n [isInsideGroup, delayGroupContext, openDelay, tooltipId, closeDelay, setIsOpen],\n )\n\n const handleBlur = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\n const handleFocus = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseEnter = useCallback(() => handleIsOpenChange(true), [handleIsOpenChange])\n const handleMouseLeave = useCallback(() => handleIsOpenChange(false), [handleIsOpenChange])\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement, handleIsOpenChange])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) handleIsOpenChange(false)\n }, [content, handleIsOpenChange])\n\n // Update reference\n useEffect(() => refs.setReference(referenceElement), [referenceElement, refs])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update],\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n refs.setFloating(node)\n },\n [forwardedRef, refs],\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef],\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root\n data-ui=\"Tooltip\"\n {...restProps}\n ref={setFloating}\n style={floatingStyles}\n zOffset={zOffset}\n >\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={3}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {showTooltip && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = styled.div`\n line-height: 0;\n`\n\n/**\n * @internal\n */\nexport const ListBox = styled(Box)`\n & > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n`\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {Radius} from '../../types'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption,\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n },\n) => ReactElement\n","import styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>,\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children],\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","/**\n * Left/right border offsets for header + footer components (in px).\n */\nexport const BORDER_OFFSET_X: number = 12\n","import {_responsive, ThemeProps} from '../../styles'\nimport {cssVars} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {CSSObject} from '../../types/styled'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle(): CSSObject {\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: cssVars.default['base-shadow-umbra-color'],\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {\n containsOrEqualsElement,\n focusFirstDescendant,\n focusLastDescendant,\n isHTMLElement,\n} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, CardProps, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, cssVars, useTheme} from '../../theme'\nimport {DialogPosition, Radius} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement, useLayer, usePortal} from '../../utils'\nimport {BORDER_OFFSET_X} from './constants'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\ninterface DialogHeaderProps extends CardProps {\n $hasScrolledFromTop: boolean\n $isContentScrollable: boolean\n}\ninterface DialogFooterProps extends CardProps {\n $hasScrolledToBottom: boolean\n $isContentScrollable: boolean\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst Root = styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle,\n)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Card)<DialogHeaderProps>`\n position: relative;\n z-index: 2;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n bottom: -1px;\n border-bottom: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && props.$hasScrolledFromTop ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)<DialogFooterProps>`\n position: relative;\n z-index: 3;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n left: ${BORDER_OFFSET_X}px;\n right: ${BORDER_OFFSET_X}px;\n top: -1px;\n border-top: 1px solid ${cssVars.default['border-base']};\n width: auto;\n opacity: ${(props) => (props.$isContentScrollable && !props.$hasScrolledToBottom ? 1 : 0)};\n transition: opacity 200ms ease-in;\n }\n`\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n const [isContentScrollable, setIsContentScrollable] = useState(false)\n const [hasScrolledFromTop, setHasScrolledFromTop] = useState(false)\n const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false)\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutside(\n useCallback(\n (event: MouseEvent) => {\n if (!isTopLayer || !onClickOutside) return\n\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n },\n [boundaryElement, isTopLayer, onClickOutside, portalElement],\n ),\n [rootElement],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef],\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef],\n )\n\n const handleContentUpdate = useCallback(() => {\n if (localContentRef.current) {\n setIsContentScrollable(\n localContentRef.current.clientHeight < localContentRef.current.scrollHeight,\n )\n setHasScrolledFromTop(localContentRef.current.scrollTop > 0)\n setHasScrolledToBottom(\n localContentRef.current.scrollTop >=\n localContentRef.current.scrollHeight - localContentRef.current.clientHeight,\n )\n }\n }, [])\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(handleContentUpdate)\n\n if (localContentRef.current) {\n resizeObserver.observe(localContentRef.current)\n }\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [contentRef, handleContentUpdate])\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader\n $isContentScrollable={isContentScrollable}\n $hasScrolledFromTop={hasScrolledFromTop}\n >\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} size={1} weight=\"medium\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1} onScroll={handleContentUpdate}>\n {children}\n </DialogContent>\n\n {footer && (\n <DialogFooter\n $isContentScrollable={isContentScrollable}\n $hasScrolledToBottom={hasScrolledToBottom}\n >\n {footer}\n </DialogFooter>\n )}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 4,\n portal: portalProp,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>()\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\nimport {Radius} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = styled.kbd`\n &:not([hidden]) {\n display: block;\n }\n font: inherit;\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>,\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElement, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElement, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex],\n )\n\n const handleItemMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex],\n )\n\n const handleItemMouseLeave = useCallback(() => {\n // Set the active index to -2 to deactivate all menu items\n // when the user moves the mouse away from the menu item.\n // We avoid using -1 because it would focus the first menu item,\n // which would be incorrect when the user hovers over a gap\n // between two menu items or a menu divider.\n setActiveIndex(-2)\n rootElement?.focus()\n }, [setActiveIndex, rootElement])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\n if (_activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n focusFirst?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n focusLast?: boolean\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemSelect?: (index: number) => void\n originElement?: HTMLElement | null\n registerElement?: (el: HTMLElement) => () => void\n shouldFocus?: 'first' | 'last' | null\n space?: number | number[]\n}\n\nconst Root = styled(Box)`\n outline: none;\n overflow: auto;\n`\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement],\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside],\n ),\n [rootElement],\n )\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape],\n ),\n )\n\n // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ],\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement, Radius} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: Radius | Radius[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>,\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ],\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref],\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n boundaryElement: deprecated_boundaryElement,\n overflow: 'auto',\n placement: deprecated_placement,\n portal: deprecated_portal,\n preventOverflow: deprecated_preventOverflow,\n radius: deprecated_popoverRadius,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }),\n [\n deprecated_boundaryElement,\n deprecated_placement,\n deprecated_popoverRadius,\n deprecated_popoverScheme,\n deprecated_portal,\n deprecated_preventOverflow,\n popover,\n ],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import styled from 'styled-components'\nimport {cssVars} from '../../theme'\n\n/**\n * @public\n */\nexport const MenuDivider = styled.hr`\n height: 1px;\n border: 0;\n background: ${cssVars.default['border-base']};\n margin: 0;\n`\n","import {css} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {\n _colorVarStyleHover,\n _selectableVarStyle,\n _selectableVarStyleDisabled,\n} from '../../styles/colorVars'\n\nimport {ThemeColorSchemeKey, ThemeColorToneKey, createCssVars, cssVars} from '../../theme'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: ThemeColorToneKey\n $scheme: ThemeColorSchemeKey\n}\n\nexport function selectableBaseStyle(): ReturnType<typeof css> {\n return css`\n background-color: inherit;\n color: inherit;\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n\nexport function selectableColorStyle(\n props: SelectableStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {theme, $tone, $scheme} = props\n\n return css`\n ${$tone !== 'default' && createCssVars($scheme, theme.sanity.color.tones, $tone)}\n ${_selectableVarStyle($tone)}\n\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars[$tone]['text-secondary']};\n outline: none;\n\n /* &:is(button) - Looks like a button in default mode */\n &[data-as='button'] {\n &:disabled {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not(:disabled) {\n &[aria-pressed='true'] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected],\n &[aria-selected='true'] > & {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n &[data-disabled] {\n ${_selectableVarStyleDisabled()}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_colorVarStyleHover()}\n }\n\n &[data-selected] {\n ${_colorVarStyleHover()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_colorVarStyleHover()}\n }\n &:active {\n ${_colorVarStyleHover()}\n }\n }\n }\n }\n }\n\n ${theme.sanity.styles?.card?.root}\n `\n}\n","import styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle,\n)\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Radius, SelectableTone} from '../../types'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>,\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) onItemClick()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n data-as={as}\n data-ui=\"MenuGroup\"\n forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n $scheme={scheme}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={space} padding={padding}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n </Selectable>\n </Popover>\n )\n}\n","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {ThemeColorToneKey} from '../../theme'\nimport {useToneContext} from '../../theme/toneContext/useToneContext'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: ThemeColorToneKey\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n hotkeys,\n icon,\n iconRight,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const {scheme} = useToneContext()\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick],\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref],\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={disabled ? 'default' : tone}\n $scheme={scheme}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Flex as=\"span\" gap={space} align=\"center\" {...paddingProps}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Hotkeys fontSize={fontSize} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n )}\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\nimport {cssVars} from '../../theme'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-to']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']},\n ${cssVars.default['skeleton-from']}\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: ${cssVars.default['skeleton-from']};\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: ${cssVars.default['skeleton-from']};\n }\n`\n","import {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle,\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(({\n $size,\n $style,\n theme,\n}: {\n $size: number[]\n $style: ThemeFontKey\n theme: Theme\n}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.ForwardedRef<HTMLButtonElement>,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <CustomButton\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n radius=\"full\"\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport styled from 'styled-components'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = styled(Card)`\n pointer-events: all;\n`\n\nconst TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>,\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {useEffect, useReducer} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n // Use useReducer instead of useState as it's more low-level and creates the least amount of functions for the garbage collector to clean up\n const [mounted, mount] = useReducer(() => true, false)\n\n useEffect(mount, [mount])\n\n return mounted\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useCallback, useEffect, useMemo, useRef, useState, startTransition} from 'react'\nimport styled from 'styled-components'\nimport {useMounted} from '../../hooks/useMounted'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = styled(Layer)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n`\n\nconst ToastContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n right: 0;\n bottom: 0;\n max-width: 420px;\n width: 100%;\n`\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, _setState] = useState<ToastState>([])\n\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n // Wrap setState in startTransition to allow React to give input state updates higher priority\n const setState: typeof _setState = (state) => startTransition(() => _setState(state))\n\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState): ToastState => {\n const idx = prevState.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.slice(0)\n\n toasts.splice(idx, 1)\n\n return toasts\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState): ToastState => {\n return prevState\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ])\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n [],\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n const mounted = useMounted()\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n {mounted && (\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>,\n ): React.ReactElement {\n const {children, space = 1, onFocus, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n }),\n)\n\nTree.displayName = 'Tree'\n","import {css} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {\n _colorVarStyleActive,\n _colorVarStyleHover,\n _colorVarStyleSelected,\n} from '../../styles/colorVars'\nimport {cssVars} from '../../theme'\nimport {cardVariables} from '../../theme/lib/theme/color/cssVariables/cardVariables'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(): ReturnType<typeof css> {\n return css`\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n &[role='none'] {\n & > [role='treeitem'] {\n ${cardVariables}\n\n background-color:${cssVars.mutable['bg-color']};\n color: var(--treeitem-fg-color);\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_colorVarStyleHover()}\n }\n\n & > [role='treeitem']:focus {\n ${_colorVarStyleSelected()}\n }\n }\n }\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${cardVariables}\n background-color: ${cssVars.mutable['bg-color']};\n color: ${cssVars.mutable['fg-color']};\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_colorVarStyleActive()}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_colorVarStyleHover()}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_colorVarStyleSelected()}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return css`\n padding-left: ${rem(space[2] * $level)};\n\n &[data-as='a'] {\n text-decoration: none;\n }\n `\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, BoxProps, Flex, Text} from '../../primitives'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: BoxProps['as']\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.li(treeItemRootStyle, treeItemRootColorStyle))\n\nconst TreeItemBox = styled(Box).attrs({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n linkAs,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","concat","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","arguments","length","undefined","Error","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","useMemo","JSON","stringify","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","type","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size$1","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_ref","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","multiply$1","r","clamp","g","num","max","min","screenChannel","screen","screen$1","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbaToRGBA","rgba","replace","split","a","rgbToHex","_ref2","rgbToHsl","_ref3","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgb","bg","fg","_multiply","_screen","colorKeys","defaultTints","light","hues","blue","red","white","tint","opacity","dark","black","gray","colorTints","default","primary","positive","transparent","caution","critical","getColorValue","tints","scheme","tone","title","getColorHex","getToneCssVar","createTonesVariables","tones","defaultTone","baseBg","tonesVariables","mix","needsMixing","_tone","colorHex","varName","willBeMixed","tonesCssVariables","themeNames","acc","mutableCardVariables","mutableVariables","item","cardVariables","createCssVars","tonesVars","cssVars","mutable","createColorTheme","cyan","yellow","code","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","focusRing","offset","button","textWeight","card","container","radius","shadows","umbra","penumbra","ambient","input","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","select","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","legacyColors","shadow","outline","skeleton","from","to","enabled","bg2","muted","accent","link","disabled","hovered","pressed","selected","ghost","bleed","placeholder","readOnly","invalid","selectable","spot","purple","magenta","orange","green","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","solid","cssObjectToCssString","rules","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ToneContext","ToneProvider","children","root","useRootTheme","version","jsx","Provider","GlobalVariables","createGlobalStyle","__template","_ref4","$vars","ThemeProvider","parentTheme","useContext","themeProp","layer","rootLayer","restTheme","cssVariables","jsxs","StyledThemeProvider","isRecord","ThemeColorProvider","useTheme","useStyledTheme","MEDIA_STORE_CACHE","_getMediaQuery","_createMediaStore","mediaLen","getSizes","mediaQuery","mq","matchMedia","getSnapshot","matches","onStoreChange","disposeFns","handleChange","disposeFn","getServerSnapshot","getServerSnapshot$2","useMediaIndex","store","useSyncExternalStore","MEDIA_QUERY_CACHE","getMatchMedia","getMatchMedia$1","getSnapshot$1","getServerSnapshot$1","usePrefersDark","usePrefersReducedMotion","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","useToneContext","BORDER_VALUE","responsiveBorderStyle","$border","$borderTop","$borderRight","$borderBottom","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","$display","$sizing","sizing","$height","$overflow","overflow","responsiveFlexStyle","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","align","alignItems","$gap","gap","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","minWidth","minHeight","flexItemStyle","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","opts","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","GRID_CSS","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridStyle","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","gridGap","$gapX","gapX","columnGap","$gapY","gapY","rowGap","responsiveGridItemStyle","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","styles","responsiveInputPaddingIconRightStyle","_c","ROOT_STYLE","css","textInputRootStyle","textInputBaseStyle","$tone","font","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","borderRadius","toBoxShadow","shadowStyle","boxShadow","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","Root","styled","div","SpanWithTextOverflow","span","Text","forwardRef","childrenProp","textOverflow","weight","restProps","spotColor","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","zIndex","transition","$color","backgroundColor","userSelect","WebkitFontSmoothing","appearance","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeDasharray","strokeLinecap","Arrow","BgStroke","ellipse","Stroke","Initials","Avatar","as","asProp","colorKey","src","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","viewBox","d","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","badgeStyle","$mode","cursor","Badge","mode","Flex","forwardedAs","rotate","keyframes","Spinner","SpinnerIcon","buttonBaseStyles","buttonTheme","defaultBoxShadow","combineBoxShadow","_len","boxShadows","_key","buttonColorStyles","LoadingBox","Button","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","spaceProp","boxProps","isValidElement","createElement","_colorVarStyleDisabled","checkered","_colorVarStyleSelected","_colorVarStyleHover","_colorVarStyleActive","_selectableVarStyle","_selectableVarStyleDisabled","cardStyle","cardBaseStyle","cardColorStyle","$checkered","$focusRing","$scheme","$updateCssVars","Wrapper","_ref5","shouldAddContext","Card","__unstable_checkered","__unstable_focusRing","schemeProp","toneProp","updateCssVars","toneContext","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","mainShade","secondaryShade","codeBaseStyle","pre","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","verticalAlign","inlineSpaceStyle","Inline","kbdStyle","kbd","KBD","labelBaseStyle","Label","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","__publicField","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","state","getLayerContext","contextValue","LayerContext","useLayer","err","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","LayerProvider","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","parentLevel","level","maxMediaIndex","setChildLayers","isTopLayer","childLevel","parentDispose","prevLen","nextState","v","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","becameTopLayer","handleFocus","rootElement","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","handleScroll2","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","apply","margins","args","placement","platform","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","floatingW","floatingH","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","calcCurrentWidth","params","w","currentWidth","calcMaxWidth","boundaryWidth","BorderPath","path","ShapePath","PopoverArrow","xmlns","PopoverCard","memo","PopoverCard2","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","strategy","xProp","yProp","rootStyle","staticSide","arrowStyle","displayName","Popover","Popover2","_d","_e","_f","_g","_h","boundaryElementContext","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","open","placementProp","preventOverflow","referenceBoundary","referenceElement","shadowProp","widthProp","updateRef","boundarySize","widthArrayProp","widthRef","maxWidthRef","referenceWidthRef","floatingElement","middleware","flip","mainAxis","_ref6","_currentWidth","_maxWidth","shift","hide","middlewareData","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","Representation","Track","Thumb","Switch","InputRoot","textarea","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","attrs","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInputClearButton","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","useDelayedState","initialState","setState","delayedAction","onStateChange","delay","action","clearTimeout","setTimeout","Border","Shape","TooltipArrow","TooltipDelayGroupContext","useTooltipDelayGroup","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","isInsideContext","openDelay","closeDelay","close","Tooltip","fallbackPlacementsProp","setReferenceElement","_ref7","assign","floatingStyles","tooltipId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","minimumGroupDeactivateDelay","groupDeactivateDelay","handleBlur","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onMouseEnter","onMouseLeave","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","_ref8","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","BORDER_OFFSET_X","dialogStyle","background","responsiveDialogPositionStyle","$position","DialogContext","useDialog","isTargetWithinScope","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","$isContentScrollable","$hasScrolledFromTop","DialogContent","DialogFooter","$hasScrolledToBottom","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","portalProp","setRootElement","localContentRef","labelId","showCloseButton","showHeader","isContentScrollable","setIsContentScrollable","hasScrolledFromTop","setHasScrolledFromTop","hasScrolledToBottom","setHasScrolledToBottom","setContentRef","handleContentUpdate","onScroll","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","rootClickTimeoutRef","handleRootClick","DialogProvider","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","onOpen","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","skeletonStyle","_ref9","$visible","_ref10","$animated","Skeleton","animated","visible","setVisible","_ref11","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","CustomButton","Tab","elementRef","focusedRef","_isReactElement","CustomInline","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","useMounted","ToastContext","ToastContainer","toastId","ToastProvider","_setState","toastsRef","startTransition","duration","dismiss","timeoutId","prevState","findIndex","t","toasts","AnimatePresence","initial","_ref12","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","Tree2","setFocusedElement","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","li","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","linkAs","rootRef","treeitemRef","_id","closest","click","visibility","pointerEvents","ToggleArrowRightIcon"],"mappings":"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","x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]}