{"version":3,"file":"layout-U8AVg1qC.js","sources":["../../../node_modules/@mantine/core/esm/core/utils/find-element-ancestor/find-element-ancestor.mjs","../../../node_modules/@mantine/core/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs","../../../node_modules/@mantine/core/esm/core/utils/noop/noop.mjs","../../../node_modules/@mantine/core/esm/core/utils/close-on-escape/close-on-escape.mjs","../../../node_modules/@mantine/core/esm/core/utils/create-event-handler/create-event-handler.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-breakpoint-value/get-breakpoint-value.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-context-item-index/get-context-item-index.mjs","../../../node_modules/@mantine/core/esm/core/utils/use-hovered/use-hovered.mjs","../../../node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.mjs","../../../node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.mjs","../../../node_modules/@mantine/core/esm/core/DirectionProvider/DirectionProvider.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@mantine/core/esm/components/Floating/get-floating-position/get-floating-position.mjs","../../../node_modules/@mantine/core/esm/components/Floating/FloatingArrow/get-arrow-position-styles.mjs","../../../node_modules/@mantine/core/esm/components/Floating/FloatingArrow/FloatingArrow.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.context.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs","../../../node_modules/@mantine/core/esm/components/Popover/PopoverTarget/PopoverTarget.mjs","../../../node_modules/@mantine/core/esm/components/Floating/use-floating-auto-update.mjs","../../../node_modules/@mantine/core/esm/components/Popover/use-popover.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShell.context.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellAside/AppShellAside.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMain/AppShellMain.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/get-base-size/get-base-size.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/get-padding-value/get-padding-value.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShellSection/AppShellSection.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/use-resizing/use-resizing.mjs","../../../node_modules/@mantine/core/esm/components/AppShell/AppShell.mjs","../../../node_modules/@mantine/core/esm/components/Avatar/AvatarGroup/AvatarGroup.context.mjs","../../../node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs","../../../node_modules/@mantine/core/esm/components/Avatar/AvatarPlaceholderIcon.mjs","../../../node_modules/@mantine/core/esm/components/Avatar/Avatar.mjs","../../../node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Badge/Badge.mjs","../../../node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.mjs","../../../node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Burger/Burger.mjs","../../../node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Container/Container.mjs","../../../node_modules/@mantine/core/esm/components/Floating/use-delayed-hover.mjs","../../../node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Image/Image.mjs","../../../node_modules/@mantine/core/esm/components/Menu/Menu.context.mjs","../../../node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Menu/MenuDivider/MenuDivider.mjs","../../../node_modules/@mantine/core/esm/components/Menu/MenuDropdown/MenuDropdown.mjs","../../../node_modules/@mantine/core/esm/components/Menu/MenuItem/MenuItem.mjs","../../../node_modules/@mantine/core/esm/components/Menu/MenuLabel/MenuLabel.mjs","../../../node_modules/@mantine/core/esm/components/Menu/MenuTarget/MenuTarget.mjs","../../../node_modules/@mantine/core/esm/components/Menu/Menu.mjs","../../../node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Skeleton/Skeleton.mjs","../../../node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Stack/Stack.mjs","../../../node_modules/@apollo/client/react/hooks/useSyncExternalStore.js","../../../node_modules/@apollo/client/react/parser/index.js","../../../node_modules/@apollo/client/react/hooks/internal/wrapHook.js","../../../node_modules/@apollo/client/react/hooks/useQuery.js","../../../node_modules/@apollo/client/react/hooks/useLazyQuery.js","../../../node_modules/lodash-es/head.js","../../../node_modules/lodash-es/isEmpty.js","../../../node_modules/lodash-es/isUndefined.js","../../../node_modules/timeago.js/esm/utils/date.js","../../../node_modules/timeago.js/esm/format.js","../../../app/components/TimeAgo.tsx","../../../app/helpers/graphql/operations.generated.ts","../../../app/helpers/errors.ts","../../../app/components/ApolloErrorMessage.tsx","../../../app/helpers/notifications.tsx","../../../app/helpers/apollo/notifications.tsx","../../../app/helpers/contactMe.tsx","../../../app/components/AppMenu.tsx","../../../app/components/AppFlash.tsx","../../../app/components/PageContainer.tsx","../../../app/assets/images/logo.png","../../../app/components/AppLayout.tsx","../../../app/components/PageConsumer.tsx","../../../app/helpers/inertia/layout.tsx"],"sourcesContent":["'use client';\nfunction findElementAncestor(element, selector) {\n let _element = element;\n while ((_element = _element.parentElement) && !_element.matches(selector))\n ;\n return _element;\n}\n\nexport { findElementAncestor };\n//# sourceMappingURL=find-element-ancestor.mjs.map\n","'use client';\nimport { findElementAncestor } from '../find-element-ancestor/find-element-ancestor.mjs';\n\nfunction getPreviousIndex(current, elements, loop) {\n for (let i = current - 1; i >= 0; i -= 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n if (loop) {\n for (let i = elements.length - 1; i > -1; i -= 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n }\n return current;\n}\nfunction getNextIndex(current, elements, loop) {\n for (let i = current + 1; i < elements.length; i += 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n if (loop) {\n for (let i = 0; i < elements.length; i += 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n }\n return current;\n}\nfunction onSameLevel(target, sibling, parentSelector) {\n return findElementAncestor(target, parentSelector) === findElementAncestor(sibling, parentSelector);\n}\nfunction createScopedKeydownHandler({\n parentSelector,\n siblingSelector,\n onKeyDown,\n loop = true,\n activateOnFocus = false,\n dir = \"rtl\",\n orientation\n}) {\n return (event) => {\n onKeyDown?.(event);\n const elements = Array.from(\n findElementAncestor(event.currentTarget, parentSelector)?.querySelectorAll(\n siblingSelector\n ) || []\n ).filter((node) => onSameLevel(event.currentTarget, node, parentSelector));\n const current = elements.findIndex((el) => event.currentTarget === el);\n const _nextIndex = getNextIndex(current, elements, loop);\n const _previousIndex = getPreviousIndex(current, elements, loop);\n const nextIndex = dir === \"rtl\" ? _previousIndex : _nextIndex;\n const previousIndex = dir === \"rtl\" ? _nextIndex : _previousIndex;\n switch (event.key) {\n case \"ArrowRight\": {\n if (orientation === \"horizontal\") {\n event.stopPropagation();\n event.preventDefault();\n elements[nextIndex].focus();\n activateOnFocus && elements[nextIndex].click();\n }\n break;\n }\n case \"ArrowLeft\": {\n if (orientation === \"horizontal\") {\n event.stopPropagation();\n event.preventDefault();\n elements[previousIndex].focus();\n activateOnFocus && elements[previousIndex].click();\n }\n break;\n }\n case \"ArrowUp\": {\n if (orientation === \"vertical\") {\n event.stopPropagation();\n event.preventDefault();\n elements[_previousIndex].focus();\n activateOnFocus && elements[_previousIndex].click();\n }\n break;\n }\n case \"ArrowDown\": {\n if (orientation === \"vertical\") {\n event.stopPropagation();\n event.preventDefault();\n elements[_nextIndex].focus();\n activateOnFocus && elements[_nextIndex].click();\n }\n break;\n }\n case \"Home\": {\n event.stopPropagation();\n event.preventDefault();\n !elements[0].disabled && elements[0].focus();\n break;\n }\n case \"End\": {\n event.stopPropagation();\n event.preventDefault();\n const last = elements.length - 1;\n !elements[last].disabled && elements[last].focus();\n break;\n }\n }\n };\n}\n\nexport { createScopedKeydownHandler };\n//# sourceMappingURL=create-scoped-keydown-handler.mjs.map\n","'use client';\nconst noop = () => {\n};\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","'use client';\nimport { noop } from '../noop/noop.mjs';\n\nfunction closeOnEscape(callback, options = { active: true }) {\n if (typeof callback !== \"function\" || !options.active) {\n return options.onKeyDown || noop;\n }\n return (event) => {\n if (event.key === \"Escape\") {\n callback(event);\n options.onTrigger?.();\n }\n };\n}\n\nexport { closeOnEscape };\n//# sourceMappingURL=close-on-escape.mjs.map\n","'use client';\nfunction createEventHandler(parentEventHandler, eventHandler) {\n return (event) => {\n parentEventHandler?.(event);\n eventHandler?.(event);\n };\n}\n\nexport { createEventHandler };\n//# sourceMappingURL=create-event-handler.mjs.map\n","'use client';\nimport { px } from '../units-converters/px.mjs';\n\nfunction getBreakpointValue(breakpoint, theme) {\n if (breakpoint in theme.breakpoints) {\n return px(theme.breakpoints[breakpoint]);\n }\n return px(breakpoint);\n}\n\nexport { getBreakpointValue };\n//# sourceMappingURL=get-breakpoint-value.mjs.map\n","'use client';\nimport { getBreakpointValue } from '../get-breakpoint-value/get-breakpoint-value.mjs';\n\nfunction getSortedBreakpoints(breakpoints, theme) {\n const convertedBreakpoints = breakpoints.map((breakpoint) => ({\n value: breakpoint,\n px: getBreakpointValue(breakpoint, theme)\n }));\n convertedBreakpoints.sort((a, b) => a.px - b.px);\n return convertedBreakpoints;\n}\n\nexport { getSortedBreakpoints };\n//# sourceMappingURL=get-sorted-breakpoints.mjs.map\n","'use client';\nimport { findElementAncestor } from '../find-element-ancestor/find-element-ancestor.mjs';\n\nfunction getContextItemIndex(elementSelector, parentSelector, node) {\n if (!node) {\n return null;\n }\n return Array.from(\n findElementAncestor(node, parentSelector)?.querySelectorAll(elementSelector) || []\n ).findIndex((element) => element === node);\n}\n\nexport { getContextItemIndex };\n//# sourceMappingURL=get-context-item-index.mjs.map\n","'use client';\nimport { useState } from 'react';\n\nfunction useHovered() {\n const [hovered, setHovered] = useState(-1);\n const resetHovered = () => setHovered(-1);\n return [hovered, { setHovered, resetHovered }];\n}\n\nexport { useHovered };\n//# sourceMappingURL=use-hovered.mjs.map\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst DEFAULT_EVENTS = [\"mousedown\", \"touchstart\"];\nfunction useClickOutside(handler, events, nodes) {\n const ref = useRef();\n useEffect(() => {\n const listener = (event) => {\n const { target } = event ?? {};\n if (Array.isArray(nodes)) {\n const shouldIgnore = target?.hasAttribute(\"data-ignore-outside-clicks\") || !document.body.contains(target) && target.tagName !== \"HTML\";\n const shouldTrigger = nodes.every((node) => !!node && !event.composedPath().includes(node));\n shouldTrigger && !shouldIgnore && handler();\n } else if (ref.current && !ref.current.contains(target)) {\n handler();\n }\n };\n (events || DEFAULT_EVENTS).forEach((fn) => document.addEventListener(fn, listener));\n return () => {\n (events || DEFAULT_EVENTS).forEach((fn) => document.removeEventListener(fn, listener));\n };\n }, [ref, handler, nodes]);\n return ref;\n}\n\nexport { useClickOutside };\n//# sourceMappingURL=use-click-outside.mjs.map\n","'use client';\nimport { useState } from 'react';\n\nfunction useUncontrolled({\n value,\n defaultValue,\n finalValue,\n onChange = () => {\n }\n}) {\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue !== void 0 ? defaultValue : finalValue\n );\n const handleUncontrolledChange = (val, ...payload) => {\n setUncontrolledValue(val);\n onChange?.(val, ...payload);\n };\n if (value !== void 0) {\n return [value, onChange, true];\n }\n return [uncontrolledValue, handleUncontrolledChange, false];\n}\n\nexport { useUncontrolled };\n//# sourceMappingURL=use-uncontrolled.mjs.map\n","'use client';\nimport React, { createContext, useContext, useState } from 'react';\nimport { useIsomorphicEffect } from '@mantine/hooks';\n\nconst DirectionContext = createContext({\n dir: \"ltr\",\n toggleDirection: () => {\n },\n setDirection: () => {\n }\n});\nfunction useDirection() {\n return useContext(DirectionContext);\n}\nfunction DirectionProvider({\n children,\n initialDirection = \"ltr\",\n detectDirection = true\n}) {\n const [dir, setDir] = useState(initialDirection);\n const setDirection = (direction) => {\n setDir(direction);\n document.documentElement.setAttribute(\"dir\", direction);\n };\n const toggleDirection = () => setDirection(dir === \"ltr\" ? \"rtl\" : \"ltr\");\n useIsomorphicEffect(() => {\n if (detectDirection) {\n const direction = document.documentElement.getAttribute(\"dir\");\n if (direction === \"rtl\" || direction === \"ltr\") {\n setDirection(direction);\n }\n }\n }, []);\n return /* @__PURE__ */ React.createElement(DirectionContext.Provider, { value: { dir, toggleDirection, setDirection } }, children);\n}\n\nexport { DirectionContext, DirectionProvider, useDirection };\n//# sourceMappingURL=DirectionProvider.mjs.map\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useRef } from 'react';\nimport { stopEvent, getDocument, isMouseLikePointerType, contains, activeElement, isSafari, isTypeableCombobox, isVirtualClick, isVirtualPointerEvent, getTarget, getPlatform, isTypeableElement, isReactEvent, isRootElement, isEventTargetWithin, isMac, getUserAgent } from '@floating-ui/react/utils';\nimport { floor } from '@floating-ui/utils';\nimport { platform, getOverflowAncestors, useFloating as useFloating$1, offset, detectOverflow } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\nimport { isElement, isHTMLElement, getNodeName, getWindow, isLastTraversableNode, getParentNode, getComputedStyle } from '@floating-ui/utils/dom';\nimport { tabbable, isTabbable } from 'tabbable';\nimport { createPortal, flushSync } from 'react-dom';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n }, refs);\n}\n\n// `toString()` prevents bundlers from trying to `import { useInsertionEffect } from 'react'`\nconst useInsertionEffect = React[/*#__PURE__*/'useInsertionEffect'.toString()];\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nfunction isDifferentRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n const list = listRef.current;\n const isDisabledIndex = disabledIndices ? index => disabledIndices.includes(index) : index => {\n const element = list[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n };\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= list.length - 1 && isDisabledIndex(index));\n return index;\n}\nfunction getGridNavigatedIndex(elementsRef, _ref) {\n let {\n event,\n orientation,\n loop,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === ARROW_RIGHT) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_LEFT) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n disabledIndices,\n decrement: true\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === ARROW_LEFT ? maxIndex : findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction buildCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n return firstCellIndex + sizes[index].width - 1;\n case 'bl':\n return firstCellIndex + (sizes[index].height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nfunction areMapsEqual(map1, map2) {\n if (map1.size !== map2.size) {\n return false;\n }\n for (const [key, value] of map1.entries()) {\n if (value !== map2.get(key)) {\n return false;\n }\n }\n return true;\n}\nconst FloatingListContext = /*#__PURE__*/React.createContext({\n register: () => {},\n unregister: () => {},\n map: /*#__PURE__*/new Map(),\n elementsRef: {\n current: []\n }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(_ref) {\n let {\n children,\n elementsRef,\n labelsRef\n } = _ref;\n const [map, setMap] = React.useState(() => new Map());\n const register = React.useCallback(node => {\n setMap(prevMap => new Map(prevMap).set(node, null));\n }, []);\n const unregister = React.useCallback(node => {\n setMap(prevMap => {\n const map = new Map(prevMap);\n map.delete(node);\n return map;\n });\n }, []);\n index(() => {\n const newMap = new Map(map);\n const nodes = Array.from(newMap.keys()).sort(sortByDocumentPosition);\n nodes.forEach((node, index) => {\n newMap.set(node, index);\n });\n if (!areMapsEqual(map, newMap)) {\n setMap(newMap);\n }\n }, [map]);\n return /*#__PURE__*/React.createElement(FloatingListContext.Provider, {\n value: React.useMemo(() => ({\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n }), [register, unregister, map, elementsRef, labelsRef])\n }, children);\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(_temp) {\n let {\n label\n } = _temp === void 0 ? {} : _temp;\n const [index$1, setIndex] = React.useState(null);\n const componentRef = React.useRef(null);\n const {\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n } = React.useContext(FloatingListContext);\n const ref = React.useCallback(node => {\n componentRef.current = node;\n if (index$1 !== null) {\n elementsRef.current[index$1] = node;\n if (labelsRef) {\n var _node$textContent;\n const isLabelDefined = label !== undefined;\n labelsRef.current[index$1] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n }\n }\n }, [index$1, elementsRef, labelsRef, label]);\n index(() => {\n const node = componentRef.current;\n if (node) {\n register(node);\n return () => {\n unregister(node);\n };\n }\n }, [register, unregister]);\n index(() => {\n const index = componentRef.current ? map.get(componentRef.current) : null;\n if (index != null) {\n setIndex(index);\n }\n }, [map]);\n return React.useMemo(() => ({\n ref,\n index: index$1 == null ? -1 : index$1\n }), [index$1, ref]);\n}\n\nfunction renderJsx(render, computedProps) {\n if (typeof render === 'function') {\n return render(computedProps);\n }\n if (render) {\n return /*#__PURE__*/React.cloneElement(render, computedProps);\n }\n return /*#__PURE__*/React.createElement(\"div\", computedProps);\n}\nconst CompositeContext = /*#__PURE__*/React.createContext({\n activeIndex: 0,\n onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that aren’t part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/React.forwardRef(function Composite(_ref, forwardedRef) {\n let {\n render,\n orientation = 'both',\n loop = true,\n cols = 1,\n disabledIndices = [],\n activeIndex: externalActiveIndex,\n onNavigate: externalSetActiveIndex,\n itemSizes,\n dense = false,\n ...props\n } = _ref;\n const [internalActiveIndex, internalSetActiveIndex] = React.useState(0);\n const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n const elementsRef = React.useRef([]);\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const contextValue = React.useMemo(() => ({\n activeIndex,\n onNavigate\n }), [activeIndex, onNavigate]);\n const isGrid = cols > 1;\n function handleKeyDown(event) {\n if (!allKeys.includes(event.key)) return;\n let nextIndex = activeIndex;\n if (isGrid) {\n const sizes = itemSizes || Array.from({\n length: elementsRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !disabledIndices.includes(index));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !(disabledIndices != null && disabledIndices.includes(index)) ? cellIndex : foundIndex, -1);\n nextIndex = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...disabledIndices, undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(activeIndex, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction we're\n // moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl')\n })]; // navigated cell will never be nullish\n }\n const minIndex = getMinIndex(elementsRef, disabledIndices);\n const maxIndex = getMaxIndex(elementsRef, disabledIndices);\n const toEndKeys = {\n horizontal: [ARROW_RIGHT],\n vertical: [ARROW_DOWN],\n both: [ARROW_RIGHT, ARROW_DOWN]\n }[orientation];\n const toStartKeys = {\n horizontal: [ARROW_LEFT],\n vertical: [ARROW_UP],\n both: [ARROW_LEFT, ARROW_UP]\n }[orientation];\n const preventedKeys = isGrid ? allKeys : {\n horizontal: horizontalKeys,\n vertical: verticalKeys,\n both: allKeys\n }[orientation];\n if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n nextIndex = minIndex;\n } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n decrement: toStartKeys.includes(event.key),\n disabledIndices\n });\n }\n }\n if (nextIndex !== activeIndex && !isIndexOutOfBounds(elementsRef, nextIndex)) {\n event.stopPropagation();\n if (preventedKeys.includes(event.key)) {\n event.preventDefault();\n }\n onNavigate(nextIndex);\n\n // Wait for FocusManager `returnFocus` to execute.\n queueMicrotask(() => {\n enqueueFocus(elementsRef.current[nextIndex]);\n });\n }\n }\n const computedProps = {\n ...props,\n ...renderElementProps,\n ref: forwardedRef,\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n onKeyDown(e) {\n props.onKeyDown == null || props.onKeyDown(e);\n renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n handleKeyDown(e);\n }\n };\n return /*#__PURE__*/React.createElement(CompositeContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(FloatingList, {\n elementsRef: elementsRef\n }, renderJsx(render, computedProps)));\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/React.forwardRef(function CompositeItem(_ref2, forwardedRef) {\n let {\n render,\n ...props\n } = _ref2;\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const {\n activeIndex,\n onNavigate\n } = React.useContext(CompositeContext);\n const {\n ref,\n index\n } = useListItem();\n const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n const isActive = activeIndex === index;\n const computedProps = {\n ...props,\n ...renderElementProps,\n ref: mergedRef,\n tabIndex: isActive ? 0 : -1,\n 'data-active': isActive ? '' : undefined,\n onFocus(e) {\n props.onFocus == null || props.onFocus(e);\n renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n onNavigate(index);\n }\n };\n return renderJsx(render, computedProps);\n});\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => \"floating-ui-\" + count++;\nfunction useFloatingId() {\n const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n index(() => {\n if (id == null) {\n setId(genId());\n }\n }, []);\n React.useEffect(() => {\n if (!serverHandoffComplete) {\n serverHandoffComplete = true;\n }\n }, []);\n return id;\n}\n\n// `toString()` prevents bundlers from trying to `import { useId } from 'react'`\nconst useReactId = React[/*#__PURE__*/'useId'.toString()];\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(_ref, ref) {\n let {\n context: {\n placement,\n elements: {\n floating\n },\n middlewareData: {\n arrow\n }\n },\n width = 14,\n height = 7,\n tipRadius = 0,\n strokeWidth = 0,\n staticOffset,\n stroke,\n d,\n style: {\n transform,\n ...restStyle\n } = {},\n ...rest\n } = _ref;\n if (process.env.NODE_ENV !== \"production\") {\n if (!ref) {\n console.warn('Floating UI: The `ref` prop is required for the `FloatingArrow`', 'component.');\n }\n }\n const clipPathId = useId();\n if (!floating) {\n return null;\n }\n\n // Strokes must be double the border width, this ensures the stroke's width\n // works as you'd expect.\n strokeWidth *= 2;\n const halfStrokeWidth = strokeWidth / 2;\n const svgX = width / 2 * (tipRadius / -8 + 1);\n const svgY = height / 2 * tipRadius / 4;\n const [side, alignment] = placement.split('-');\n const isRTL = platform.isRTL(floating);\n const isCustomShape = !!d;\n const isVerticalSide = side === 'top' || side === 'bottom';\n const yOffsetProp = staticOffset && alignment === 'end' ? 'bottom' : 'top';\n let xOffsetProp = staticOffset && alignment === 'end' ? 'right' : 'left';\n if (staticOffset && isRTL) {\n xOffsetProp = alignment === 'end' ? 'left' : 'right';\n }\n const arrowX = (arrow == null ? void 0 : arrow.x) != null ? staticOffset || arrow.x : '';\n const arrowY = (arrow == null ? void 0 : arrow.y) != null ? staticOffset || arrow.y : '';\n const dValue = d ||\n // biome-ignore lint/style/useTemplate: readability\n 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n const rotation = {\n top: isCustomShape ? 'rotate(180deg)' : '',\n left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n bottom: isCustomShape ? '' : 'rotate(180deg)',\n right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n }[side];\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, rest, {\n \"aria-hidden\": true,\n ref: ref,\n width: isCustomShape ? width : width + strokeWidth,\n height: width,\n viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n [xOffsetProp]: arrowX,\n [yOffsetProp]: arrowY,\n [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + strokeWidth / 2 + \"px)\",\n transform: \"\" + rotation + (transform != null ? transform : ''),\n ...restStyle\n }\n }), strokeWidth > 0 && /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#\" + clipPathId + \")\",\n fill: \"none\",\n stroke: stroke\n // Account for the stroke on the fill path rendered below.\n ,\n strokeWidth: strokeWidth + (d ? 0 : 1),\n d: dValue\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: strokeWidth && !d ? rest.fill : 'none',\n d: dValue\n }), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: -halfStrokeWidth,\n y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n width: width + strokeWidth,\n height: width\n })));\n});\n\nfunction createPubSub() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null || _map$get.forEach(handler => handler(data));\n },\n on(event, listener) {\n map.set(event, [...(map.get(event) || []), listener]);\n },\n off(event, listener) {\n var _map$get2;\n map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter(l => l !== listener)) || []);\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n index(() => {\n const node = {\n id,\n parentId\n };\n tree == null || tree.addNode(node);\n return () => {\n tree == null || tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(_ref) {\n let {\n children,\n id\n } = _ref;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/React.createElement(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId])\n }, children);\n}\n\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(_ref2) {\n let {\n children\n } = _ref2;\n const nodesRef = React.useRef([]);\n const addNode = React.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = React.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const events = React.useState(() => createPubSub())[0];\n return /*#__PURE__*/React.createElement(FloatingTreeContext.Provider, {\n value: React.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [addNode, removeNode, events])\n }, children);\n}\n\nfunction createAttribute(name) {\n return \"data-floating-ui-\" + name;\n}\n\nfunction useLatestRef(value) {\n const ref = useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n return value == null ? void 0 : value[prop];\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements: {\n domReference,\n floating\n },\n refs\n } = context;\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = props;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const pointerTypeRef = React.useRef();\n const timeoutRef = React.useRef();\n const handlerRef = React.useRef();\n const restTimeoutRef = React.useRef();\n const blockMouseMoveRef = React.useRef(true);\n const performedPointerEventsMutationRef = React.useRef(false);\n const unbindMouseMoveRef = React.useRef(() => {});\n const isHoverOpen = React.useCallback(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n }, [dataRef]);\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onOpenChange(_ref) {\n let {\n open\n } = _ref;\n if (!open) {\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n blockMouseMoveRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [enabled, events]);\n React.useEffect(() => {\n if (!enabled || !handleCloseRef.current || !open) {\n return;\n }\n function onLeave(event) {\n if (isHoverOpen()) {\n onOpenChange(false, event, 'hover');\n }\n }\n const html = getDocument(floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n const closeWithDelay = React.useCallback(function (event, runElseBranch, reason) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n if (reason === void 0) {\n reason = 'hover';\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n } else if (runElseBranch) {\n clearTimeout(timeoutRef.current);\n onOpenChange(false, event, reason);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = React.useCallback(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n }, []);\n const clearPointerEvents = React.useCallback(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = getDocument(refs.floating.current).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n }, [refs]);\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function isClickLikeOpenEvent() {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n }\n function onMouseEnter(event) {\n clearTimeout(timeoutRef.current);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && getDelay(delayRef.current, 'open') === 0) {\n return;\n }\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = setTimeout(() => {\n onOpenChange(true, event, 'hover');\n }, openDelay);\n } else {\n onOpenChange(true, event, 'hover');\n }\n }\n function onMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n return;\n }\n unbindMouseMoveRef.current();\n const doc = getDocument(floating);\n clearTimeout(restTimeoutRef.current);\n if (handleCloseRef.current) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeout(timeoutRef.current);\n }\n handlerRef.current = handleCloseRef.current({\n ...context,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay(event, true, 'safe-polygon');\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n\n // Allow interactivity without `safePolygon` on touch devices. With a\n // pointer, a short close delay is an alternative, so it should work\n // consistently.\n const shouldClose = pointerTypeRef.current === 'touch' ? !contains(floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n return;\n }\n handleCloseRef.current == null || handleCloseRef.current({\n ...context,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay(event);\n }\n })(event);\n }\n if (isElement(domReference)) {\n const ref = domReference;\n open && ref.addEventListener('mouseleave', onScrollMouseLeave);\n floating == null || floating.addEventListener('mouseleave', onScrollMouseLeave);\n move && ref.addEventListener('mousemove', onMouseEnter, {\n once: true\n });\n ref.addEventListener('mouseenter', onMouseEnter);\n ref.addEventListener('mouseleave', onMouseLeave);\n return () => {\n open && ref.removeEventListener('mouseleave', onScrollMouseLeave);\n floating == null || floating.removeEventListener('mouseleave', onScrollMouseLeave);\n move && ref.removeEventListener('mousemove', onMouseEnter);\n ref.removeEventListener('mouseenter', onMouseEnter);\n ref.removeEventListener('mouseleave', onMouseLeave);\n };\n }\n }, [domReference, floating, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, tree, delayRef, handleCloseRef, dataRef]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n index(() => {\n var _handleCloseRef$curre;\n if (!enabled) {\n return;\n }\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n const body = getDocument(floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n body.style.pointerEvents = 'none';\n performedPointerEventsMutationRef.current = true;\n if (isElement(domReference) && floating) {\n var _tree$nodesRef$curren;\n const ref = domReference;\n const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n ref.style.pointerEvents = 'auto';\n floating.style.pointerEvents = 'auto';\n return () => {\n ref.style.pointerEvents = '';\n floating.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, floating, domReference, tree, handleCloseRef, isHoverOpen]);\n index(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n React.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n clearPointerEvents();\n };\n }, [enabled, domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n if (open || restMs === 0) {\n return;\n }\n clearTimeout(restTimeoutRef.current);\n restTimeoutRef.current = setTimeout(() => {\n if (!blockMouseMoveRef.current) {\n onOpenChange(true, event.nativeEvent, 'hover');\n }\n }, restMs);\n }\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n onMouseLeave(event) {\n closeWithDelay(event.nativeEvent, false);\n }\n }\n };\n }, [enabled, restMs, open, onOpenChange, closeWithDelay]);\n}\n\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: () => {},\n setState: () => {},\n isInstantPhase: false\n});\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nconst FloatingDelayGroup = _ref => {\n let {\n children,\n delay,\n timeoutMs = 0\n } = _ref;\n const [state, setState] = React.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = React.useRef(null);\n const setCurrentId = React.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n index(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n setState({\n isInstantPhase: false\n });\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId]);\n return /*#__PURE__*/React.createElement(FloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setCurrentId])\n }, children);\n};\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nconst useDelayGroup = (_ref2, _ref3) => {\n let {\n open,\n onOpenChange\n } = _ref2;\n let {\n id\n } = _ref3;\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = useDelayGroupContext();\n index(() => {\n if (currentId) {\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }\n }, [id, onOpenChange, setState, currentId, initialDelay]);\n index(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n }\n unset();\n }\n }, [open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n index(() => {\n if (open) {\n setCurrentId(id);\n }\n }, [open, setCurrentId, id]);\n};\n\nfunction getAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction getChildren(nodes, id) {\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n });\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nlet counterMap = /*#__PURE__*/new WeakMap();\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n const markerName = 'data-floating-ui-inert';\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const elementsToKeep = new Set();\n const elementsToStop = new Set(avoidElements);\n const hiddenElements = [];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n const markerCounter = markerMap[markerName];\n avoidElements.forEach(keep);\n deep(body);\n elementsToKeep.clear();\n function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n el.parentNode && keep(el.parentNode);\n }\n function deep(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, node => {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledElementsSet.add(node);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n if (!alreadyHidden && controlAttribute) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n }\n lockCount++;\n return () => {\n hiddenElements.forEach(element => {\n const counterValue = (counterMap.get(element) || 0) - 1;\n const markerValue = (markerCounter.get(element) || 0) - 1;\n counterMap.set(element, counterValue);\n markerCounter.set(element, markerValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet.delete(element);\n }\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledElementsSet = new WeakSet();\n markerMap = {};\n }\n };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n if (ariaHidden === void 0) {\n ariaHidden = false;\n }\n if (inert === void 0) {\n inert = false;\n }\n const body = getDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live]'))), body, ariaHidden, inert);\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, direction) {\n const allTabbable = tabbable(container, getTabbableOptions());\n if (direction === 'prev') {\n allTabbable.reverse();\n }\n const activeIndex = allTabbable.indexOf(activeElement(getDocument(container)));\n const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n return nextTabbableElements[0];\n}\nfunction getNextTabbable() {\n return getTabbableIn(document.body, 'next');\n}\nfunction getPreviousTabbable() {\n return getTabbableIn(document.body, 'prev');\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n // biome-ignore lint/performance/noDelete: purity\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\n// See Diego Haz's Sandbox for making this logic work well on Safari/iOS:\n// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/FocusTrap.tsx\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nlet timeoutId;\nfunction setActiveElementOnTab(event) {\n if (event.key === 'Tab') {\n event.target;\n clearTimeout(timeoutId);\n }\n}\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n const [role, setRole] = React.useState();\n index(() => {\n if (isSafari()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n document.addEventListener('keydown', setActiveElementOnTab);\n return () => {\n document.removeEventListener('keydown', setActiveElementOnTab);\n };\n }, []);\n const restProps = {\n ref,\n tabIndex: 0,\n // Role is only for VoiceOver\n role,\n 'aria-hidden': role ? undefined : true,\n [createAttribute('focus-guard')]: '',\n style: HIDDEN_STYLES\n };\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, props, restProps));\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(_temp) {\n let {\n id,\n root\n } = _temp === void 0 ? {} : _temp;\n const [portalNode, setPortalNode] = React.useState(null);\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const portalNodeRef = React.useRef(null);\n index(() => {\n return () => {\n portalNode == null || portalNode.remove();\n // Allow the subsequent layout effects to create a new node on updates.\n // The portal node will still be cleaned up on unmount.\n // https://github.com/floating-ui/floating-ui/issues/2454\n queueMicrotask(() => {\n portalNodeRef.current = null;\n });\n };\n }, [portalNode]);\n index(() => {\n if (portalNodeRef.current) return;\n const existingIdRoot = id ? document.getElementById(id) : null;\n if (!existingIdRoot) return;\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n existingIdRoot.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, uniqueId]);\n index(() => {\n if (portalNodeRef.current) return;\n let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n if (container && !isElement(container)) container = container.current;\n container = container || document.body;\n let idWrapper = null;\n if (id) {\n idWrapper = document.createElement('div');\n idWrapper.id = id;\n container.appendChild(idWrapper);\n }\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n container = idWrapper || container;\n container.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, root, uniqueId, portalContext]);\n return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(_ref) {\n let {\n children,\n id,\n root = null,\n preserveTabOrder = true\n } = _ref;\n const portalNode = useFloatingPortalNode({\n id,\n root\n });\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal &&\n // Don't render if unmount is transitioning.\n focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || !preserveTabOrder || focusManagerState != null && focusManagerState.modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, focusManagerState == null ? void 0 : focusManagerState.modal]);\n return /*#__PURE__*/React.createElement(PortalContext.Provider, {\n value: React.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode])\n }, shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n } else {\n const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n prevTabbable == null || prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), portalNode && /*#__PURE__*/createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n } else {\n const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n nextTabbable == null || nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent));\n }\n }\n }));\n}\nconst usePortalContext = () => React.useContext(PortalContext);\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n let tabbableEl = element;\n if (!tabbableEl || getNodeName(tabbableEl) === 'body') return;\n if (!isTabbable(tabbableEl, getTabbableOptions())) {\n const tabbableChild = tabbable(tabbableEl, getTabbableOptions())[0];\n if (!tabbableChild) return;\n tabbableEl = tabbableChild;\n }\n previouslyFocusedElements.push(tabbableEl);\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n}\nfunction getPreviouslyFocusedElement() {\n return previouslyFocusedElements.slice().reverse().find(el => el.isConnected);\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/React.createElement(\"button\", _extends({}, props, {\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n }));\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n order = ['content'],\n guards: _guards = true,\n initialFocus = 0,\n returnFocus = true,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true\n } = props;\n const {\n open,\n refs,\n nodeId,\n onOpenChange,\n events,\n dataRef,\n elements: {\n domReference,\n floating\n }\n } = context;\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\n // Force the guards to be rendered if the `inert` attribute is not supported.\n const guards = supportsInert() ? _guards : true;\n const orderRef = useLatestRef(order);\n const initialFocusRef = useLatestRef(initialFocus);\n const returnFocusRef = useLatestRef(returnFocus);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const startDismissButtonRef = React.useRef(null);\n const endDismissButtonRef = React.useRef(null);\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const isInsidePortal = portalContext != null;\n const getTabbableContent = React.useCallback(function (container) {\n if (container === void 0) {\n container = floating;\n }\n return container ? tabbable(container, getTabbableOptions()) : [];\n }, [floating]);\n const getTabbableElements = React.useCallback(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floating && type === 'floating') {\n return floating;\n }\n return content;\n }).filter(Boolean).flat();\n }, [domReference, floating, orderRef, getTabbableContent]);\n React.useEffect(() => {\n if (disabled || !modal) return;\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains(floating, activeElement(getDocument(floating))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n const els = getTabbableElements();\n const target = getTarget(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n stopEvent(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floating && event.shiftKey) {\n stopEvent(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = getDocument(floating);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floating, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n React.useEffect(() => {\n if (disabled || !closeOnFocusOut) return;\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n queueMicrotask(() => {\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getChildren(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return contains((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4;\n return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;\n })));\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if (relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== getPreviouslyFocusedElement()) {\n preventReturnFocusRef.current = true;\n onOpenChange(false, event);\n }\n });\n }\n if (floating && isHTMLElement(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n !modal && floating.addEventListener('focusout', handleFocusOutside);\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n !modal && floating.removeEventListener('focusout', handleFocusOutside);\n };\n }\n }, [disabled, domReference, floating, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut]);\n React.useEffect(() => {\n var _portalContext$portal;\n if (disabled) return;\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n if (floating) {\n const insideElements = [floating, ...portalNodes, startDismissButtonRef.current, endDismissButtonRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, guards, !guards) : markOthers(insideElements);\n return () => {\n cleanup();\n };\n }\n }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);\n index(() => {\n if (disabled || !floating) return;\n const doc = getDocument(floating);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floating);\n const initialFocusValue = initialFocusRef.current;\n const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floating;\n const focusAlreadyInsideFloatingEl = contains(floating, previouslyFocusedElement);\n if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floating\n });\n }\n });\n }, [disabled, open, floating, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n index(() => {\n if (disabled || !floating) return;\n let preventReturnFocusScroll = false;\n const doc = getDocument(floating);\n const previouslyFocusedElement = activeElement(doc);\n const contextData = dataRef.current;\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChange(_ref) {\n let {\n reason,\n event,\n nested\n } = _ref;\n if (reason === 'escape-key' && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n if (reason === 'hover' && event.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (reason !== 'outside-press') return;\n if (nested) {\n preventReturnFocusRef.current = false;\n preventReturnFocusScroll = true;\n } else {\n preventReturnFocusRef.current = !(isVirtualClick(event) || isVirtualPointerEvent(event));\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n const activeEl = activeElement(doc);\n const isFocusInsideFloatingTree = contains(floating, activeEl) || tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context5;\n return contains((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.floating, activeEl);\n });\n const shouldFocusReference = isFocusInsideFloatingTree || contextData.openEvent && ['click', 'mousedown'].includes(contextData.openEvent.type);\n if (shouldFocusReference && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n const returnElement = getPreviouslyFocusedElement();\n if (returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(returnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n returnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n enqueueFocus(returnElement, {\n // When dismissing nested floating elements, by the time the rAF has\n // executed, the menus will all have been unmounted. When they try\n // to get focused, the calls get ignored — leaving the root\n // reference focused as desired.\n cancelPrevious: false,\n preventScroll: preventReturnFocusScroll\n });\n }\n };\n }, [disabled, floating, returnFocusRef, dataRef, refs, events, tree, nodeId]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n index(() => {\n if (disabled || !portalContext) return;\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange,\n refs\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);\n index(() => {\n if (disabled || !floating || typeof MutationObserver !== 'function' || ignoreInitialFocus) {\n return;\n }\n const handleMutation = () => {\n const tabIndex = floating.getAttribute('tabindex');\n if (orderRef.current.includes('floating') || activeElement(getDocument(floating)) !== refs.domReference.current && getTabbableContent().length === 0) {\n if (tabIndex !== '0') {\n floating.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1') {\n floating.setAttribute('tabindex', '-1');\n }\n };\n handleMutation();\n const observer = new MutationObserver(handleMutation);\n observer.observe(floating, {\n childList: true,\n subtree: true,\n attributes: true\n });\n return () => {\n observer.disconnect();\n };\n }, [disabled, floating, refs, orderRef, getTabbableContent, ignoreInitialFocus]);\n function renderDismissButton(location) {\n if (disabled || !visuallyHiddenDismiss || !modal) {\n return null;\n }\n return /*#__PURE__*/React.createElement(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: event => onOpenChange(false, event.nativeEvent)\n }, typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss');\n }\n const shouldRenderGuards = !disabled && guards && (isInsidePortal || modal);\n return /*#__PURE__*/React.createElement(React.Fragment, null, shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable() || domReference;\n nextTabbable == null || nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n }\n }\n }\n }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.afterInsideRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable() || domReference;\n prevTabbable == null || prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n }\n }\n }\n }));\n}\n\nconst activeLocks = /*#__PURE__*/new Set();\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `
`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(_ref, ref) {\n let {\n lockScroll = false,\n ...rest\n } = _ref;\n const lockId = useId();\n index(() => {\n if (!lockScroll) return;\n activeLocks.add(lockId);\n const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());\n const bodyStyle = document.body.style;\n // RTL scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.pageXOffset;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.pageYOffset;\n bodyStyle.overflow = 'hidden';\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n activeLocks.delete(lockId);\n if (activeLocks.size === 0) {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n }\n };\n }, [lockId, lockScroll]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n return React.useMemo(() => {\n if (!enabled) return {};\n return {\n reference: {\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) {\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (eventOption === 'click') {\n return;\n }\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }\n };\n }, [enabled, dataRef, eventOption, ignoreMouse, keyboardHandlers, domReference, toggle, open, onOpenChange]);\n}\n\nfunction createVirtualElement(domRef, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domRef.current || undefined,\n getBoundingClientRect() {\n var _domRef$current, _data$dataRef$current;\n const domRect = ((_domRef$current = domRef.current) == null ? void 0 : _domRef$current.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n refs,\n dataRef,\n elements: {\n floating\n }\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(refs.domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(refs.floating.current);\n function handleMouseMove(event) {\n const target = getTarget(event);\n if (!contains(refs.floating.current, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(refs.domReference.current);\n }, [dataRef, enabled, openCheck, refs, setReference, x, y]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentionally specifying `reactive`\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n index(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n return React.useMemo(() => {\n if (!enabled) return {};\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n reference: {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n }\n };\n }, [enabled, handleReferenceEnterOrMove]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n nodeId,\n elements: {\n reference,\n domReference,\n floating\n },\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument(floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n // elements.\n const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = getComputedStyle(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, floating) || isEventTargetWithin(event, domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n const doc = getDocument(floating);\n escapeKey && doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(domReference)) {\n ancestors = getOverflowAncestors(domReference);\n }\n if (isElement(floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(floating));\n }\n if (!isElement(reference) && reference && reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n escapeKey && doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n };\n }, [dataRef, floating, domReference, reference, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onKeyDown: closeOnEscapeKeyDown,\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n if (referencePress) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n }\n },\n floating: {\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }\n };\n }, [enabled, referencePress, outsidePressEvent, referencePressEvent, onOpenChange, closeOnEscapeKeyDown]);\n}\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n devMessageSet = /*#__PURE__*/new Set();\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n var _options$elements2;\n if (options === void 0) {\n options = {};\n }\n const {\n open = false,\n onOpenChange: unstable_onOpenChange,\n nodeId\n } = options;\n if (process.env.NODE_ENV !== \"production\") {\n var _options$elements;\n const err = 'Floating UI: Cannot pass a virtual element to the ' + '`elements.reference` option, as it must be a real DOM element. ' + 'Use `refs.setPositionReference` instead.';\n if ((_options$elements = options.elements) != null && _options$elements.reference && !isElement(options.elements.reference)) {\n var _devMessageSet;\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(err))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(err);\n console.error(err);\n }\n }\n }\n const [_domReference, setDomReference] = React.useState(null);\n const domReference = ((_options$elements2 = options.elements) == null ? void 0 : _options$elements2.reference) || _domReference;\n const position = useFloating$1(options);\n const tree = useFloatingTree();\n const nested = useFloatingParentNodeId() != null;\n const onOpenChange = useEffectEvent((open, event, reason) => {\n if (open) {\n dataRef.current.openEvent = event;\n }\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n unstable_onOpenChange == null || unstable_onOpenChange(open, event, reason);\n });\n const domReferenceRef = React.useRef(null);\n const dataRef = React.useRef({});\n const events = React.useState(() => createPubSub())[0];\n const floatingId = useId();\n const setPositionReference = React.useCallback(node => {\n const positionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n position.refs.setReference(positionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n refs,\n elements,\n dataRef,\n nodeId,\n floatingId,\n events,\n open,\n onOpenChange\n }), [position, nodeId, floatingId, events, open, onOpenChange, refs, elements]);\n index(() => {\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n refs,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef();\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n const win = getWindow(domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(domReference) && domReference === activeElement(getDocument(domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n win.addEventListener('blur', onBlur);\n win.addEventListener('keydown', onKeyDown, true);\n return () => {\n win.removeEventListener('blur', onBlur);\n win.removeEventListener('keydown', onKeyDown, true);\n };\n }, [domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onPointerDown(event) {\n if (isVirtualPointerEvent(event.nativeEvent)) return;\n keyboardModalityRef.current = false;\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n try {\n // Mac Safari unreliably matches `:focus-visible` on the reference\n // if focus was outside the page initially - use the fallback\n // instead.\n if (isSafari() && isMac()) throw Error();\n if (!target.matches(':focus-visible')) return;\n } catch (e) {\n // Old browsers will throw an error when using `:focus-visible`.\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n const activeEl = activeElement(domReference ? domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains(refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, event.nativeEvent, 'focus');\n });\n }\n }\n };\n }, [enabled, visibleOnly, domReference, refs, onOpenChange]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n // The dependencies are a dynamic array, so we can't use the linter's\n // suggestion to add it to the deps array.\n const deps = propsList;\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'), deps);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'), deps);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // Granularly check for `item` changes, because the `getItemProps` getter\n // should be as referentially stable as possible since it may be passed as\n // a prop to many components. All `item` key values must therefore be\n // memoized.\n propsList.map(key => key == null ? void 0 : key.item));\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n refs,\n elements: {\n domReference,\n floating\n }\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n console.warn(['Floating UI: `useListNavigation` looping must be enabled to allow', 'escaping.'].join(' '));\n }\n if (!virtual) {\n console.warn(['Floating UI: `useListNavigation` must be virtual to allow', 'escaping.'].join(' '));\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n console.warn(['Floating UI: In grid list navigation mode (`cols` > 1), the', '`orientation` should be either \"horizontal\" or \"both\".'].join(' '));\n }\n }\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEffectEvent(unstable_onNavigate);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!floating);\n const forceSyncFocus = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n const item = listRef.current[indexRef.current];\n if (!item) return;\n if (virtual) {\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n requestAnimationFrame(() => {\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n item.scrollIntoView == null || item.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open && floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate(selectedIndex);\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open && floating) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndex != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if (!previousMountedRef.current && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate(indexRef.current);\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, floating, activeIndex, selectedIndex, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n var _nodes$find;\n if (!enabled || floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument(floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, floating, tree, parentId, virtual]);\n index(() => {\n if (!enabled || !tree || !virtual || parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n index(() => {\n previousOnNavigateRef.current = onNavigate;\n previousMountedRef.current = !!floating;\n });\n index(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n onNavigate(null);\n if (!virtual) {\n enqueueFocus(refs.floating.current, {\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, refs, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n const disabledIndices = disabledIndicesRef.current;\n function onKeyDown(event) {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === refs.floating.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n stopEvent(event);\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(domReference) && !virtual) {\n domReference.focus();\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !(disabledIndices != null && disabledIndices.includes(index)));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !(disabledIndices != null && disabledIndices.includes(index)) ? cellIndex : foundIndex, -1);\n indexRef.current = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || []), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl'),\n stopEvent: true\n })]; // navigated cell will never be nullish\n\n onNavigate(indexRef.current);\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n }\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n const ariaActiveDescendantProp = virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n const activeItem = listRef.current.find(item => (item == null ? void 0 : item.id) === activeId);\n return {\n reference: {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.indexOf('Arrow') === 0;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isArrowKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? activeItem : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if (isMainKey && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return onKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n keyRef.current = nested && isMainKey ? null : event.key;\n }\n if (nested) {\n if (isCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndices);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n onKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n },\n floating: {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!isTypeableCombobox(domReference) && ariaActiveDescendantProp),\n onKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n },\n item\n };\n }, [domReference, refs, activeId, virtualId, disabledIndicesRef, latestOpenRef, listRef, enabled, orientation, rtl, virtual, open, hasActiveIndex, nested, selectedIndex, openOnArrowKeyDown, allowEscape, cols, loop, focusItemOnOpen, onNavigate, onOpenChange, item, tree, virtualItemRef, itemSizes, dense]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n floatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const referenceId = useId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n return React.useMemo(() => {\n if (!enabled) return {};\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n reference: {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n },\n floating: floatingProps\n };\n }\n return {\n reference: {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n },\n floating: {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n },\n item(_ref) {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n ...(active && {\n 'aria-selected': true\n })\n };\n }\n }\n return {};\n }\n };\n }, [enabled, role, ariaRole, open, floatingId, referenceId, isNested]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [initiated, setInitiated] = React.useState(false);\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n\n // `initiated` check prevents this `setState` call from breaking\n // . This call is necessary to ensure subsequent opens\n // after the initial one allows the correct side animation to play when the\n // placement has changed.\n index(() => {\n if (initiated && !isMounted) {\n setStatus('unmounted');\n }\n }, [initiated, isMounted]);\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setInitiated(true);\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n index(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n function setTypingChange(value) {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n }\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n function onKeyDown(event) {\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n }\n return {\n reference: {\n onKeyDown\n },\n floating: {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n }\n };\n }, [enabled, open, dataRef, listRef, resetMs, ignoreKeysRef, findMatchRef, onMatch, onTypingChange]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside\n * of it is anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = props;\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n console.warn(['Floating UI: `placement` side must be \"bottom\" when using the', '`inner` middleware.'].join(' '));\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));\n el.style.maxHeight = maxHeight + \"px\";\n el.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {\n flushSync(() => onFallbackChange(true));\n } else {\n flushSync(() => onFallbackChange(false));\n }\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, el.offsetHeight), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n floating: {\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }\n };\n }, [enabled, overflowRef, elements.floating, scrollRef, onChange]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","'use client';\nfunction getFloatingPosition(dir, position) {\n if (dir === \"rtl\" && (position.includes(\"right\") || position.includes(\"left\"))) {\n const [side, placement] = position.split(\"-\");\n const flippedPosition = side === \"right\" ? \"left\" : \"right\";\n return placement === void 0 ? flippedPosition : `${flippedPosition}-${placement}`;\n }\n return position;\n}\n\nexport { getFloatingPosition };\n//# sourceMappingURL=get-floating-position.mjs.map\n","'use client';\nimport { rem } from '../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\n\nfunction horizontalSide(placement, arrowY, arrowOffset, arrowPosition) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { top: arrowY };\n }\n if (placement === \"end\") {\n return { bottom: arrowOffset };\n }\n if (placement === \"start\") {\n return { top: arrowOffset };\n }\n return {};\n}\nfunction verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { left: arrowX };\n }\n if (placement === \"end\") {\n return { [dir === \"ltr\" ? \"right\" : \"left\"]: arrowOffset };\n }\n if (placement === \"start\") {\n return { [dir === \"ltr\" ? \"left\" : \"right\"]: arrowOffset };\n }\n return {};\n}\nconst radiusByFloatingSide = {\n bottom: \"borderTopLeftRadius\",\n left: \"borderTopRightRadius\",\n right: \"borderBottomLeftRadius\",\n top: \"borderBottomRightRadius\"\n};\nfunction getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n arrowX,\n arrowY,\n dir\n}) {\n const [side, placement = \"center\"] = position.split(\"-\");\n const baseStyles = {\n width: rem(arrowSize),\n height: rem(arrowSize),\n transform: \"rotate(45deg)\",\n position: \"absolute\",\n [radiusByFloatingSide[side]]: rem(arrowRadius)\n };\n const arrowPlacement = rem(-arrowSize / 2);\n if (side === \"left\") {\n return {\n ...baseStyles,\n ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),\n right: arrowPlacement,\n borderLeftColor: \"transparent\",\n borderBottomColor: \"transparent\"\n };\n }\n if (side === \"right\") {\n return {\n ...baseStyles,\n ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),\n left: arrowPlacement,\n borderRightColor: \"transparent\",\n borderTopColor: \"transparent\"\n };\n }\n if (side === \"top\") {\n return {\n ...baseStyles,\n ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),\n bottom: arrowPlacement,\n borderTopColor: \"transparent\",\n borderLeftColor: \"transparent\"\n };\n }\n if (side === \"bottom\") {\n return {\n ...baseStyles,\n ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),\n top: arrowPlacement,\n borderBottomColor: \"transparent\",\n borderRightColor: \"transparent\"\n };\n }\n return {};\n}\n\nexport { getArrowPositionStyles };\n//# sourceMappingURL=get-arrow-position-styles.mjs.map\n","'use client';\nimport React, { forwardRef } from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { useDirection } from '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getArrowPositionStyles } from './get-arrow-position-styles.mjs';\n\nconst FloatingArrow = forwardRef(\n ({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n visible,\n arrowX,\n arrowY,\n style,\n ...others\n }, ref) => {\n const { dir } = useDirection();\n if (!visible) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ...others,\n ref,\n style: {\n ...style,\n ...getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n dir,\n arrowX,\n arrowY\n })\n }\n }\n );\n }\n);\nFloatingArrow.displayName = \"@mantine/core/FloatingArrow\";\n\nexport { FloatingArrow };\n//# sourceMappingURL=FloatingArrow.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [PopoverContextProvider, usePopoverContext] = createSafeContext(\n \"Popover component was not found in the tree\"\n);\n\nexport { PopoverContextProvider, usePopoverContext };\n//# sourceMappingURL=Popover.context.mjs.map\n","'use client';\nvar classes = {\"dropdown\":\"m_38a85659\",\"arrow\":\"m_a31dc6c1\"};\n\nexport { classes as default };\n//# sourceMappingURL=Popover.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { useFocusReturn, useMergedRef } from '@mantine/hooks';\nimport { rem } from '../../../core/utils/units-converters/rem.mjs';\nimport { closeOnEscape } from '../../../core/utils/close-on-escape/close-on-escape.mjs';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport '@floating-ui/react';\nimport { FloatingArrow } from '../../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { FocusTrap } from '../../FocusTrap/FocusTrap.mjs';\nimport '../../Portal/Portal.mjs';\nimport { OptionalPortal } from '../../Portal/OptionalPortal.mjs';\nimport '../../Transition/transitions.mjs';\nimport { Transition } from '../../Transition/Transition.mjs';\nimport { usePopoverContext } from '../Popover.context.mjs';\nimport classes from '../Popover.module.css.mjs';\n\nconst defaultProps = {};\nconst PopoverDropdown = factory((_props, ref) => {\n const props = useProps(\"PopoverDropdown\", defaultProps, _props);\n const {\n className,\n style,\n vars,\n children,\n onKeyDownCapture,\n variant,\n classNames,\n styles,\n ...others\n } = props;\n const ctx = usePopoverContext();\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus\n });\n const accessibleProps = ctx.withRoles ? {\n \"aria-labelledby\": ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: \"dialog\",\n tabIndex: -1\n } : {};\n const mergedRef = useMergedRef(ref, ctx.floating);\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(OptionalPortal, { ...ctx.portalProps, withinPortal: ctx.withinPortal }, /* @__PURE__ */ React.createElement(\n Transition,\n {\n mounted: ctx.opened,\n ...ctx.transitionProps,\n transition: ctx.transitionProps?.transition || \"fade\",\n duration: ctx.transitionProps?.duration ?? 150,\n keepMounted: ctx.keepMounted,\n exitDuration: typeof ctx.transitionProps?.exitDuration === \"number\" ? ctx.transitionProps.exitDuration : ctx.transitionProps?.duration\n },\n (transitionStyles) => /* @__PURE__ */ React.createElement(FocusTrap, { active: ctx.trapFocus }, /* @__PURE__ */ React.createElement(\n Box,\n {\n ...accessibleProps,\n ...others,\n variant,\n ref: mergedRef,\n onKeyDownCapture: closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture\n }),\n \"data-position\": ctx.placement,\n ...ctx.getStyles(\"dropdown\", {\n className,\n props,\n classNames,\n styles,\n style: [\n {\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ?? 0,\n left: ctx.x ?? 0,\n width: ctx.width === \"target\" ? void 0 : rem(ctx.width)\n },\n style\n ]\n })\n },\n children,\n /* @__PURE__ */ React.createElement(\n FloatingArrow,\n {\n ref: ctx.arrowRef,\n arrowX: ctx.arrowX,\n arrowY: ctx.arrowY,\n visible: ctx.withArrow,\n position: ctx.placement,\n arrowSize: ctx.arrowSize,\n arrowRadius: ctx.arrowRadius,\n arrowOffset: ctx.arrowOffset,\n arrowPosition: ctx.arrowPosition,\n ...ctx.getStyles(\"arrow\", {\n props,\n classNames,\n styles\n })\n }\n )\n ))\n ));\n});\nPopoverDropdown.classes = classes;\nPopoverDropdown.displayName = \"@mantine/core/PopoverDropdown\";\n\nexport { PopoverDropdown };\n//# sourceMappingURL=PopoverDropdown.mjs.map\n","'use client';\nimport { cloneElement } from 'react';\nimport cx from 'clsx';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement } from '../../../core/utils/is-element/is-element.mjs';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { usePopoverContext } from '../Popover.context.mjs';\n\nconst defaultProps = {\n refProp: \"ref\",\n popupType: \"dialog\"\n};\nconst PopoverTarget = factory((props, ref) => {\n const { children, refProp, popupType, ...others } = useProps(\n \"PopoverTarget\",\n defaultProps,\n props\n );\n if (!isElement(children)) {\n throw new Error(\n \"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n );\n }\n const forwardedProps = others;\n const ctx = usePopoverContext();\n const targetRef = useMergedRef(ctx.reference, children.ref, ref);\n const accessibleProps = ctx.withRoles ? {\n \"aria-haspopup\": popupType,\n \"aria-expanded\": ctx.opened,\n \"aria-controls\": ctx.getDropdownId(),\n id: ctx.getTargetId()\n } : {};\n return cloneElement(children, {\n ...forwardedProps,\n ...accessibleProps,\n ...ctx.targetProps,\n className: cx(ctx.targetProps.className, forwardedProps.className, children.props.className),\n [refProp]: targetRef,\n ...!ctx.controlled ? { onClick: ctx.onToggle } : null\n });\n});\nPopoverTarget.displayName = \"@mantine/core/PopoverTarget\";\n\nexport { PopoverTarget };\n//# sourceMappingURL=PopoverTarget.mjs.map\n","'use client';\nimport { useState, useEffect } from 'react';\nimport { autoUpdate } from '@floating-ui/react';\nimport { useDidUpdate } from '@mantine/hooks';\n\nfunction useFloatingAutoUpdate({\n opened,\n floating,\n position,\n positionDependencies\n}) {\n const [delayedUpdate, setDelayedUpdate] = useState(0);\n useEffect(() => {\n if (floating.refs.reference.current && floating.refs.floating.current) {\n return autoUpdate(\n floating.refs.reference.current,\n floating.refs.floating.current,\n floating.update\n );\n }\n return void 0;\n }, [\n floating.refs.reference.current,\n floating.refs.floating.current,\n opened,\n delayedUpdate,\n position\n ]);\n useDidUpdate(() => {\n floating.update();\n }, positionDependencies);\n useDidUpdate(() => {\n setDelayedUpdate((c) => c + 1);\n }, [opened]);\n}\n\nexport { useFloatingAutoUpdate };\n//# sourceMappingURL=use-floating-auto-update.mjs.map\n","'use client';\nimport { useFloating, offset, shift, limitShift, flip, inline, arrow, size } from '@floating-ui/react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport 'react';\nimport { useFloatingAutoUpdate } from '../Floating/use-floating-auto-update.mjs';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\n\nfunction getDefaultMiddlewares(middlewares) {\n if (middlewares === void 0) {\n return { shift: true, flip: true };\n }\n const result = { ...middlewares };\n if (middlewares.shift === void 0) {\n result.shift = true;\n }\n if (middlewares.flip === void 0) {\n result.flip = true;\n }\n return result;\n}\nfunction getPopoverMiddlewares(options, getFloating) {\n const middlewaresOptions = getDefaultMiddlewares(options.middlewares);\n const middlewares = [offset(options.offset)];\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === \"boolean\" ? { limiter: limitShift(), padding: 5 } : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }\n )\n );\n }\n if (middlewaresOptions.flip) {\n middlewares.push(\n typeof middlewaresOptions.flip === \"boolean\" ? flip() : flip(middlewaresOptions.flip)\n );\n }\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === \"boolean\" ? inline() : inline(middlewaresOptions.inline)\n );\n }\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n if (middlewaresOptions.size || options.width === \"target\") {\n middlewares.push(\n size({\n ...typeof middlewaresOptions.size === \"boolean\" ? {} : middlewaresOptions.size,\n apply({ rects, availableWidth, availableHeight }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n if (middlewaresOptions.size) {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`\n });\n }\n if (options.width === \"target\") {\n Object.assign(styles, {\n width: `${rects.reference.width}px`\n });\n }\n }\n })\n );\n }\n return middlewares;\n}\nfunction usePopover(options) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange\n });\n const onClose = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n }\n };\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n const floating = useFloating({\n strategy: options.strategy,\n placement: options.position,\n middleware: getPopoverMiddlewares(options, () => floating)\n });\n useFloatingAutoUpdate({\n opened: options.opened,\n position: options.position,\n positionDependencies: options.positionDependencies || [],\n floating\n });\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n useDidUpdate(() => {\n if (!options.opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }, [options.opened]);\n return {\n floating,\n controlled: typeof options.opened === \"boolean\",\n opened: _opened,\n onClose,\n onToggle\n };\n}\n\nexport { usePopover };\n//# sourceMappingURL=use-popover.mjs.map\n","'use client';\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.mjs';\nimport { getRadius, getShadow } from '../../core/utils/get-size/get-size.mjs';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport '../../core/Box/Box.mjs';\nimport { useDirection } from '../../core/DirectionProvider/DirectionProvider.mjs';\nimport '@floating-ui/react';\nimport { getFloatingPosition } from '../Floating/get-floating-position/get-floating-position.mjs';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { PopoverContextProvider } from './Popover.context.mjs';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown.mjs';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget.mjs';\nimport { usePopover } from './use-popover.mjs';\nimport classes from './Popover.module.css.mjs';\n\nconst defaultProps = {\n position: \"bottom\",\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: \"fade\", duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: \"side\",\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: [\"mousedown\", \"touchstart\"],\n zIndex: getDefaultZIndex(\"popover\"),\n __staticSelector: \"Popover\",\n width: \"max-content\"\n};\nconst varsResolver = createVarsResolver((_, { radius, shadow }) => ({\n dropdown: {\n \"--popover-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--popover-shadow\": getShadow(shadow)\n }\n}));\nfunction Popover(_props) {\n const props = useProps(\"Popover\", defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n floatingStrategy,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: \"dropdown\",\n vars,\n varsResolver\n });\n const arrowRef = useRef(null);\n const [targetNode, setTargetNode] = useState(null);\n const [dropdownNode, setDropdownNode] = useState(null);\n const { dir } = useDirection();\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position),\n offset: typeof offset === \"number\" ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n strategy: floatingStrategy\n });\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode\n ]);\n const reference = useCallback(\n (node) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n const floating = useCallback(\n (node) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n return /* @__PURE__ */ React.createElement(\n PopoverContextProvider,\n {\n value: {\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles\n }\n },\n children\n );\n}\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = \"@mantine/core/Popover\";\nPopover.extend = (input) => input;\n\nexport { Popover };\n//# sourceMappingURL=Popover.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [AppShellProvider, useAppShellContext] = createSafeContext(\n \"AppShell was not found in tree\"\n);\n\nexport { AppShellProvider, useAppShellContext };\n//# sourceMappingURL=AppShell.context.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_89ab340\",\"navbar\":\"m_45252eee\",\"aside\":\"m_9cdde9a\",\"header\":\"m_3b16f56b\",\"main\":\"m_8983817\",\"footer\":\"m_3840c879\",\"section\":\"m_6dcfc7c7\"};\n\nexport { classes as default };\n//# sourceMappingURL=AppShell.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellAside = factory((_props, ref) => {\n const props = useProps(\"AppShellAside\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"aside\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"aside\", { className, classNames, styles, style }),\n ...others,\n __vars: {\n \"--app-shell-aside-z-index\": `calc(${zIndex ?? ctx.zIndex} + 1)`\n }\n }\n );\n});\nAppShellAside.classes = classes;\nAppShellAside.displayName = \"@mantine/core/AppShellAside\";\n\nexport { AppShellAside };\n//# sourceMappingURL=AppShellAside.mjs.map\n","'use client';\nimport React from 'react';\nimport cx from 'clsx';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport '@mantine/hooks';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellFooter = factory((_props, ref) => {\n const props = useProps(\"AppShellFooter\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"footer\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"footer\", {\n className: cx({ [RemoveScroll.classNames.zeroRight]: ctx.offsetScrollbars }, className),\n classNames,\n styles,\n style\n }),\n ...others,\n __vars: { \"--app-shell-footer-z-index\": (zIndex ?? ctx.zIndex)?.toString() }\n }\n );\n});\nAppShellFooter.classes = classes;\nAppShellFooter.displayName = \"@mantine/core/AppShellFooter\";\n\nexport { AppShellFooter };\n//# sourceMappingURL=AppShellFooter.mjs.map\n","'use client';\nimport React from 'react';\nimport cx from 'clsx';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport '@mantine/hooks';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellHeader = factory((_props, ref) => {\n const props = useProps(\"AppShellHeader\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"header\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"header\", {\n className: cx({ [RemoveScroll.classNames.zeroRight]: ctx.offsetScrollbars }, className),\n classNames,\n styles,\n style\n }),\n ...others,\n __vars: { \"--app-shell-header-z-index\": (zIndex ?? ctx.zIndex)?.toString() }\n }\n );\n});\nAppShellHeader.classes = classes;\nAppShellHeader.displayName = \"@mantine/core/AppShellHeader\";\n\nexport { AppShellHeader };\n//# sourceMappingURL=AppShellHeader.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellMain = factory((_props, ref) => {\n const props = useProps(\"AppShellMain\", defaultProps, _props);\n const { classNames, className, style, styles, vars, ...others } = props;\n const ctx = useAppShellContext();\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"main\",\n ref,\n ...ctx.getStyles(\"main\", { className, style, classNames, styles }),\n ...others\n }\n );\n});\nAppShellMain.classes = classes;\nAppShellMain.displayName = \"@mantine/core/AppShellMain\";\n\nexport { AppShellMain };\n//# sourceMappingURL=AppShellMain.mjs.map\n","'use client';\nfunction getBaseSize(size) {\n if (typeof size === \"object\") {\n return size.base;\n }\n return size;\n}\n\nexport { getBaseSize };\n//# sourceMappingURL=get-base-size.mjs.map\n","'use client';\nfunction isPrimitiveSize(size) {\n const isBaseSize = typeof size === \"object\" && size !== null && typeof size.base !== \"undefined\" && Object.keys(size).length === 1;\n return typeof size === \"number\" || typeof size === \"string\" || isBaseSize;\n}\n\nexport { isPrimitiveSize };\n//# sourceMappingURL=is-primitive-size.mjs.map\n","'use client';\nfunction isResponsiveSize(size) {\n if (typeof size !== \"object\" || size === null) {\n return false;\n }\n if (Object.keys(size).length === 1 && \"base\" in size) {\n return false;\n }\n return true;\n}\n\nexport { isResponsiveSize };\n//# sourceMappingURL=is-responsive-size.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { getBreakpointValue } from '../../../../core/utils/get-breakpoint-value/get-breakpoint-value.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignAsideVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n aside,\n theme\n}) {\n const asideWidth = aside?.width;\n const collapsedAsideTransform = \"translateX(var(--app-shell-aside-width))\";\n const collapsedAsideTransformRtl = \"translateX(calc(var(--app-shell-aside-width) * -1))\";\n if (aside?.breakpoint && !aside?.collapsed?.mobile) {\n maxMediaStyles[aside?.breakpoint] = maxMediaStyles[aside?.breakpoint] || {};\n maxMediaStyles[aside?.breakpoint][\"--app-shell-aside-width\"] = \"100%\";\n maxMediaStyles[aside?.breakpoint][\"--app-shell-aside-offset\"] = \"0px\";\n }\n if (isPrimitiveSize(asideWidth)) {\n const baseSize = rem(getBaseSize(asideWidth));\n baseStyles[\"--app-shell-aside-width\"] = baseSize;\n baseStyles[\"--app-shell-aside-offset\"] = baseSize;\n }\n if (isResponsiveSize(asideWidth)) {\n if (typeof asideWidth.base !== \"undefined\") {\n baseStyles[\"--app-shell-aside-width\"] = rem(asideWidth.base);\n baseStyles[\"--app-shell-aside-offset\"] = rem(asideWidth.base);\n }\n keys(asideWidth).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-aside-width\"] = rem(asideWidth[key]);\n minMediaStyles[key][\"--app-shell-aside-offset\"] = rem(asideWidth[key]);\n }\n });\n }\n if (aside?.collapsed?.desktop) {\n const breakpointValue = aside.breakpoint;\n minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};\n minMediaStyles[breakpointValue][\"--app-shell-aside-transform\"] = collapsedAsideTransform;\n minMediaStyles[breakpointValue][\"--app-shell-aside-transform-rtl\"] = collapsedAsideTransformRtl;\n minMediaStyles[breakpointValue][\"--app-shell-aside-offset\"] = \"0px !important\";\n }\n if (aside?.collapsed?.mobile) {\n const breakpointValue = getBreakpointValue(aside.breakpoint, theme) - 0.1;\n maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};\n maxMediaStyles[breakpointValue][\"--app-shell-aside-width\"] = \"100%\";\n maxMediaStyles[breakpointValue][\"--app-shell-aside-offset\"] = \"0px\";\n maxMediaStyles[breakpointValue][\"--app-shell-aside-transform\"] = collapsedAsideTransform;\n maxMediaStyles[breakpointValue][\"--app-shell-aside-transform-rtl\"] = collapsedAsideTransformRtl;\n }\n}\n\nexport { assignAsideVariables };\n//# sourceMappingURL=assign-aside-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignFooterVariables({\n baseStyles,\n minMediaStyles,\n footer\n}) {\n const footerHeight = footer?.height;\n const collapsedFooterTransform = \"translateY(var(--app-shell-footer-height))\";\n const shouldOffset = footer?.offset ?? true;\n if (isPrimitiveSize(footerHeight)) {\n const baseSize = rem(getBaseSize(footerHeight));\n baseStyles[\"--app-shell-footer-height\"] = baseSize;\n if (shouldOffset) {\n baseStyles[\"--app-shell-footer-offset\"] = baseSize;\n }\n }\n if (isResponsiveSize(footerHeight)) {\n if (typeof footerHeight.base !== \"undefined\") {\n baseStyles[\"--app-shell-footer-height\"] = rem(footerHeight.base);\n if (shouldOffset) {\n baseStyles[\"--app-shell-footer-offset\"] = rem(footerHeight.base);\n }\n }\n keys(footerHeight).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-footer-height\"] = rem(footerHeight[key]);\n if (shouldOffset) {\n minMediaStyles[key][\"--app-shell-footer-offset\"] = rem(footerHeight[key]);\n }\n }\n });\n }\n if (footer?.collapsed) {\n baseStyles[\"--app-shell-footer-transform\"] = collapsedFooterTransform;\n baseStyles[\"--app-shell-footer-offset\"] = \"0px !important\";\n }\n}\n\nexport { assignFooterVariables };\n//# sourceMappingURL=assign-footer-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignHeaderVariables({\n baseStyles,\n minMediaStyles,\n header\n}) {\n const headerHeight = header?.height;\n const collapsedHeaderTransform = \"translateY(calc(var(--app-shell-header-height) * -1))\";\n const shouldOffset = header?.offset ?? true;\n if (isPrimitiveSize(headerHeight)) {\n const baseSize = rem(getBaseSize(headerHeight));\n baseStyles[\"--app-shell-header-height\"] = baseSize;\n if (shouldOffset) {\n baseStyles[\"--app-shell-header-offset\"] = baseSize;\n }\n }\n if (isResponsiveSize(headerHeight)) {\n if (typeof headerHeight.base !== \"undefined\") {\n baseStyles[\"--app-shell-header-height\"] = rem(headerHeight.base);\n if (shouldOffset) {\n baseStyles[\"--app-shell-header-offset\"] = rem(headerHeight.base);\n }\n }\n keys(headerHeight).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-header-height\"] = rem(headerHeight[key]);\n if (shouldOffset) {\n minMediaStyles[key][\"--app-shell-header-offset\"] = rem(headerHeight[key]);\n }\n }\n });\n }\n if (header?.collapsed) {\n baseStyles[\"--app-shell-header-transform\"] = collapsedHeaderTransform;\n baseStyles[\"--app-shell-header-offset\"] = \"0px !important\";\n }\n}\n\nexport { assignHeaderVariables };\n//# sourceMappingURL=assign-header-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { getBreakpointValue } from '../../../../core/utils/get-breakpoint-value/get-breakpoint-value.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignNavbarVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n navbar,\n theme\n}) {\n const navbarWidth = navbar?.width;\n const collapsedNavbarTransform = \"translateX(calc(var(--app-shell-navbar-width) * -1))\";\n const collapsedNavbarTransformRtl = \"translateX(var(--app-shell-navbar-width))\";\n if (navbar?.breakpoint && !navbar?.collapsed?.mobile) {\n maxMediaStyles[navbar?.breakpoint] = maxMediaStyles[navbar?.breakpoint] || {};\n maxMediaStyles[navbar?.breakpoint][\"--app-shell-navbar-width\"] = \"100%\";\n maxMediaStyles[navbar?.breakpoint][\"--app-shell-navbar-offset\"] = \"0px\";\n }\n if (isPrimitiveSize(navbarWidth)) {\n const baseSize = rem(getBaseSize(navbarWidth));\n baseStyles[\"--app-shell-navbar-width\"] = baseSize;\n baseStyles[\"--app-shell-navbar-offset\"] = baseSize;\n }\n if (isResponsiveSize(navbarWidth)) {\n if (typeof navbarWidth.base !== \"undefined\") {\n baseStyles[\"--app-shell-navbar-width\"] = rem(navbarWidth.base);\n baseStyles[\"--app-shell-navbar-offset\"] = rem(navbarWidth.base);\n }\n keys(navbarWidth).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-navbar-width\"] = rem(navbarWidth[key]);\n minMediaStyles[key][\"--app-shell-navbar-offset\"] = rem(navbarWidth[key]);\n }\n });\n }\n if (navbar?.collapsed?.desktop) {\n const breakpointValue = navbar.breakpoint;\n minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};\n minMediaStyles[breakpointValue][\"--app-shell-navbar-transform\"] = collapsedNavbarTransform;\n minMediaStyles[breakpointValue][\"--app-shell-navbar-transform-rtl\"] = collapsedNavbarTransformRtl;\n minMediaStyles[breakpointValue][\"--app-shell-navbar-offset\"] = \"0px !important\";\n }\n if (navbar?.collapsed?.mobile) {\n const breakpointValue = getBreakpointValue(navbar.breakpoint, theme) - 0.1;\n maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-width\"] = \"100%\";\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-offset\"] = \"0px\";\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-transform\"] = collapsedNavbarTransform;\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-transform-rtl\"] = collapsedNavbarTransformRtl;\n }\n}\n\nexport { assignNavbarVariables };\n//# sourceMappingURL=assign-navbar-variables.mjs.map\n","'use client';\nimport 'react';\nimport { getSpacing } from '../../../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\n\nfunction getPaddingValue(padding) {\n return Number(padding) === 0 ? \"0px\" : getSpacing(padding);\n}\n\nexport { getPaddingValue };\n//# sourceMappingURL=get-padding-value.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { getPaddingValue } from '../get-padding-value/get-padding-value.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignPaddingVariables({\n padding,\n baseStyles,\n minMediaStyles\n}) {\n if (isPrimitiveSize(padding)) {\n baseStyles[\"--app-shell-padding\"] = getPaddingValue(getBaseSize(padding));\n }\n if (isResponsiveSize(padding)) {\n if (padding.base) {\n baseStyles[\"--app-shell-padding\"] = getPaddingValue(padding.base);\n }\n keys(padding).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-padding\"] = getPaddingValue(padding[key]);\n }\n });\n }\n}\n\nexport { assignPaddingVariables };\n//# sourceMappingURL=assign-padding-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { em } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { getSortedBreakpoints } from '../../../../core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { assignAsideVariables } from '../assign-aside-variables/assign-aside-variables.mjs';\nimport { assignFooterVariables } from '../assign-footer-variables/assign-footer-variables.mjs';\nimport { assignHeaderVariables } from '../assign-header-variables/assign-header-variables.mjs';\nimport { assignNavbarVariables } from '../assign-navbar-variables/assign-navbar-variables.mjs';\nimport { assignPaddingVariables } from '../assign-padding-variables/assign-padding-variables.mjs';\n\nfunction getVariables({ navbar, header, footer, aside, padding, theme }) {\n const minMediaStyles = {};\n const maxMediaStyles = {};\n const baseStyles = {};\n assignNavbarVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n navbar,\n theme\n });\n assignAsideVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n aside,\n theme\n });\n assignHeaderVariables({ baseStyles, minMediaStyles, header });\n assignFooterVariables({ baseStyles, minMediaStyles, footer });\n assignPaddingVariables({ baseStyles, minMediaStyles, padding });\n const minMedia = getSortedBreakpoints(keys(minMediaStyles), theme).map((breakpoint) => ({\n query: `(min-width: ${em(breakpoint.px)})`,\n styles: minMediaStyles[breakpoint.value]\n }));\n const maxMedia = getSortedBreakpoints(keys(maxMediaStyles), theme).map((breakpoint) => ({\n query: `(max-width: ${em(breakpoint.px)})`,\n styles: maxMediaStyles[breakpoint.value]\n }));\n const media = [...minMedia, ...maxMedia];\n return { baseStyles, media };\n}\n\nexport { getVariables };\n//# sourceMappingURL=get-variables.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport { useMantineContext } from '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { InlineStyles } from '../../../core/InlineStyles/InlineStyles.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getVariables } from './get-variables/get-variables.mjs';\n\nfunction AppShellMediaStyles({\n navbar,\n header,\n aside,\n footer,\n padding\n}) {\n const theme = useMantineTheme();\n const ctx = useMantineContext();\n const { media, baseStyles } = getVariables({ navbar, header, footer, aside, padding, theme });\n return /* @__PURE__ */ React.createElement(InlineStyles, { media, styles: baseStyles, selector: ctx.cssVariablesSelector });\n}\n\nexport { AppShellMediaStyles };\n//# sourceMappingURL=AppShellMediaStyles.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellNavbar = factory((_props, ref) => {\n const props = useProps(\"AppShellNavbar\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"nav\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"navbar\", { className, classNames, styles, style }),\n ...others,\n __vars: {\n \"--app-shell-navbar-z-index\": `calc(${zIndex ?? ctx.zIndex} + 1)`\n }\n }\n );\n});\nAppShellNavbar.classes = classes;\nAppShellNavbar.displayName = \"@mantine/core/AppShellNavbar\";\n\nexport { AppShellNavbar };\n//# sourceMappingURL=AppShellNavbar.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../../core/factory/polymorphic-factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellSection = polymorphicFactory((_props, ref) => {\n const props = useProps(\"AppShellSection\", defaultProps, _props);\n const { classNames, className, style, styles, vars, grow, mod, ...others } = props;\n const ctx = useAppShellContext();\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n ref,\n mod: [{ grow }, mod],\n ...ctx.getStyles(\"section\", { className, style, classNames, styles }),\n ...others\n }\n );\n});\nAppShellSection.classes = classes;\nAppShellSection.displayName = \"@mantine/core/AppShellSection\";\n\nexport { AppShellSection };\n//# sourceMappingURL=AppShellSection.mjs.map\n","'use client';\nimport { useState, useRef, startTransition } from 'react';\nimport { useWindowEvent, useIsomorphicEffect } from '@mantine/hooks';\n\nfunction useResizing({ transitionDuration, disabled }) {\n const [resizing, setResizing] = useState(true);\n const resizingTimeout = useRef();\n const disabledTimeout = useRef();\n useWindowEvent(\"resize\", () => {\n setResizing(true);\n clearTimeout(resizingTimeout.current);\n resizingTimeout.current = window.setTimeout(() => setResizing(false), 200);\n });\n useIsomorphicEffect(() => {\n startTransition(() => {\n setResizing(true);\n clearTimeout(disabledTimeout.current);\n disabledTimeout.current = window.setTimeout(\n () => setResizing(false),\n transitionDuration || 0\n );\n });\n }, [disabled, transitionDuration]);\n return resizing;\n}\n\nexport { useResizing };\n//# sourceMappingURL=use-resizing.mjs.map\n","'use client';\nimport React from 'react';\nimport { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { AppShellProvider } from './AppShell.context.mjs';\nimport { AppShellAside } from './AppShellAside/AppShellAside.mjs';\nimport { AppShellFooter } from './AppShellFooter/AppShellFooter.mjs';\nimport { AppShellHeader } from './AppShellHeader/AppShellHeader.mjs';\nimport { AppShellMain } from './AppShellMain/AppShellMain.mjs';\nimport { AppShellMediaStyles } from './AppShellMediaStyles/AppShellMediaStyles.mjs';\nimport { AppShellNavbar } from './AppShellNavbar/AppShellNavbar.mjs';\nimport { AppShellSection } from './AppShellSection/AppShellSection.mjs';\nimport { useResizing } from './use-resizing/use-resizing.mjs';\nimport classes from './AppShell.module.css.mjs';\n\nconst defaultProps = {\n withBorder: true,\n offsetScrollbars: true,\n padding: 0,\n transitionDuration: 200,\n transitionTimingFunction: \"ease\",\n zIndex: getDefaultZIndex(\"app\")\n};\nconst varsResolver = createVarsResolver(\n (_, { transitionDuration, transitionTimingFunction }) => ({\n root: {\n \"--app-shell-transition-duration\": `${transitionDuration}ms`,\n \"--app-shell-transition-timing-function\": transitionTimingFunction\n }\n })\n);\nconst AppShell = factory((_props, ref) => {\n const props = useProps(\"AppShell\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n navbar,\n withBorder,\n padding,\n transitionDuration,\n transitionTimingFunction,\n header,\n zIndex,\n layout,\n disabled,\n aside,\n footer,\n offsetScrollbars,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"AppShell\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n const resizing = useResizing({ disabled, transitionDuration });\n return /* @__PURE__ */ React.createElement(AppShellProvider, { value: { getStyles, withBorder, zIndex, disabled, offsetScrollbars } }, /* @__PURE__ */ React.createElement(\n AppShellMediaStyles,\n {\n navbar,\n header,\n aside,\n footer,\n padding\n }\n ), /* @__PURE__ */ React.createElement(\n Box,\n {\n ref,\n ...getStyles(\"root\"),\n mod: [{ resizing, layout, disabled }, mod],\n ...others\n }\n ));\n});\nAppShell.classes = classes;\nAppShell.displayName = \"@mantine/core/AppShell\";\nAppShell.Navbar = AppShellNavbar;\nAppShell.Header = AppShellHeader;\nAppShell.Main = AppShellMain;\nAppShell.Aside = AppShellAside;\nAppShell.Footer = AppShellFooter;\nAppShell.Section = AppShellSection;\n\nexport { AppShell };\n//# sourceMappingURL=AppShell.mjs.map\n","'use client';\nimport { createContext, useContext } from 'react';\n\nconst AvatarGroupContext = createContext(null);\nconst AvatarGroupProvider = AvatarGroupContext.Provider;\nfunction useAvatarGroupContext() {\n const ctx = useContext(AvatarGroupContext);\n return { withinGroup: !!ctx };\n}\n\nexport { AvatarGroupProvider, useAvatarGroupContext };\n//# sourceMappingURL=AvatarGroup.context.mjs.map\n","'use client';\nvar classes = {\"group\":\"m_11def92b\",\"root\":\"m_f85678b6\",\"image\":\"m_11f8ac07\",\"placeholder\":\"m_104cd71f\"};\n\nexport { classes as default };\n//# sourceMappingURL=Avatar.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { getSpacing } from '../../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { AvatarGroupProvider } from './AvatarGroup.context.mjs';\nimport classes from '../Avatar.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { spacing }) => ({\n group: {\n \"--ag-spacing\": getSpacing(spacing)\n }\n}));\nconst AvatarGroup = factory((_props, ref) => {\n const props = useProps(\"AvatarGroup\", defaultProps, _props);\n const { classNames, className, style, styles, unstyled, vars, spacing, ...others } = props;\n const getStyles = useStyles({\n name: \"AvatarGroup\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n rootSelector: \"group\"\n });\n return /* @__PURE__ */ React.createElement(AvatarGroupProvider, { value: true }, /* @__PURE__ */ React.createElement(Box, { ref, ...getStyles(\"group\"), ...others }));\n});\nAvatarGroup.classes = classes;\nAvatarGroup.displayName = \"@mantine/core/AvatarGroup\";\n\nexport { AvatarGroup };\n//# sourceMappingURL=AvatarGroup.mjs.map\n","'use client';\nimport React from 'react';\n\nfunction AvatarPlaceholderIcon(props) {\n return /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n ...props,\n \"data-avatar-placeholder-icon\": true,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M0.877014 7.49988C0.877014 3.84219 3.84216 0.877045 7.49985 0.877045C11.1575 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1575 14.1227 7.49985 14.1227C3.84216 14.1227 0.877014 11.1575 0.877014 7.49988ZM7.49985 1.82704C4.36683 1.82704 1.82701 4.36686 1.82701 7.49988C1.82701 8.97196 2.38774 10.3131 3.30727 11.3213C4.19074 9.94119 5.73818 9.02499 7.50023 9.02499C9.26206 9.02499 10.8093 9.94097 11.6929 11.3208C12.6121 10.3127 13.1727 8.97172 13.1727 7.49988C13.1727 4.36686 10.6328 1.82704 7.49985 1.82704ZM10.9818 11.9787C10.2839 10.7795 8.9857 9.97499 7.50023 9.97499C6.01458 9.97499 4.71624 10.7797 4.01845 11.9791C4.97952 12.7272 6.18765 13.1727 7.49985 13.1727C8.81227 13.1727 10.0206 12.727 10.9818 11.9787ZM5.14999 6.50487C5.14999 5.207 6.20212 4.15487 7.49999 4.15487C8.79786 4.15487 9.84999 5.207 9.84999 6.50487C9.84999 7.80274 8.79786 8.85487 7.49999 8.85487C6.20212 8.85487 5.14999 7.80274 5.14999 6.50487ZM7.49999 5.10487C6.72679 5.10487 6.09999 5.73167 6.09999 6.50487C6.09999 7.27807 6.72679 7.90487 7.49999 7.90487C8.27319 7.90487 8.89999 7.27807 8.89999 6.50487C8.89999 5.73167 8.27319 5.10487 7.49999 5.10487Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n )\n );\n}\n\nexport { AvatarPlaceholderIcon };\n//# sourceMappingURL=AvatarPlaceholderIcon.mjs.map\n","'use client';\nimport React, { useState, useEffect } from 'react';\nimport { getSize, getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { AvatarGroup } from './AvatarGroup/AvatarGroup.mjs';\nimport { useAvatarGroupContext } from './AvatarGroup/AvatarGroup.context.mjs';\nimport { AvatarPlaceholderIcon } from './AvatarPlaceholderIcon.mjs';\nimport classes from './Avatar.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver(\n (theme, { size, radius, variant, gradient, color, autoContrast }) => {\n const colors = theme.variantColorResolver({\n color: color || \"gray\",\n theme,\n gradient,\n variant: variant || \"light\",\n autoContrast\n });\n return {\n root: {\n \"--avatar-size\": getSize(size, \"avatar-size\"),\n \"--avatar-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--avatar-bg\": color || variant ? colors.background : void 0,\n \"--avatar-color\": color || variant ? colors.color : void 0,\n \"--avatar-bd\": color || variant ? colors.border : void 0\n }\n };\n }\n);\nconst Avatar = polymorphicFactory((_props, ref) => {\n const props = useProps(\"Avatar\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n src,\n alt,\n radius,\n color,\n gradient,\n imageProps,\n children,\n autoContrast,\n mod,\n ...others\n } = props;\n const ctx = useAvatarGroupContext();\n const [error, setError] = useState(!src);\n const getStyles = useStyles({\n name: \"Avatar\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n useEffect(() => setError(!src), [src]);\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n ...getStyles(\"root\"),\n mod: [{ \"within-group\": ctx.withinGroup }, mod],\n ref,\n ...others\n },\n error ? /* @__PURE__ */ React.createElement(\"span\", { ...getStyles(\"placeholder\"), title: alt }, children || /* @__PURE__ */ React.createElement(AvatarPlaceholderIcon, null)) : /* @__PURE__ */ React.createElement(\n \"img\",\n {\n ...imageProps,\n ...getStyles(\"image\"),\n src,\n alt,\n onError: (event) => {\n setError(true);\n imageProps?.onError?.(event);\n }\n }\n )\n );\n});\nAvatar.classes = classes;\nAvatar.displayName = \"@mantine/core/Avatar\";\nAvatar.Group = AvatarGroup;\n\nexport { Avatar };\n//# sourceMappingURL=Avatar.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_347db0ec\",\"root--dot\":\"m_fbd81e3d\",\"label\":\"m_5add502a\",\"section\":\"m_91fdda9b\"};\n\nexport { classes as default };\n//# sourceMappingURL=Badge.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { getSize, getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport { getThemeColor } from '../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Badge.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver(\n (theme, { radius, color, gradient, variant, size, autoContrast }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n gradient,\n variant: variant || \"filled\",\n autoContrast\n });\n return {\n root: {\n \"--badge-height\": getSize(size, \"badge-height\"),\n \"--badge-padding-x\": getSize(size, \"badge-padding-x\"),\n \"--badge-fz\": getSize(size, \"badge-fz\"),\n \"--badge-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--badge-bg\": color || variant ? colors.background : void 0,\n \"--badge-color\": color || variant ? colors.color : void 0,\n \"--badge-bd\": color || variant ? colors.border : void 0,\n \"--badge-dot-color\": variant === \"dot\" ? getThemeColor(color, theme) : void 0\n }\n };\n }\n);\nconst Badge = polymorphicFactory((_props, ref) => {\n const props = useProps(\"Badge\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n radius,\n color,\n gradient,\n leftSection,\n rightSection,\n children,\n variant,\n fullWidth,\n autoContrast,\n circle,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Badge\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n variant,\n mod: [{ block: fullWidth, circle }, mod],\n ...getStyles(\"root\", { variant }),\n ref,\n ...others\n },\n leftSection && /* @__PURE__ */ React.createElement(\"span\", { ...getStyles(\"section\"), \"data-position\": \"left\" }, leftSection),\n /* @__PURE__ */ React.createElement(\"span\", { ...getStyles(\"label\") }, children),\n rightSection && /* @__PURE__ */ React.createElement(\"span\", { ...getStyles(\"section\"), \"data-position\": \"right\" }, rightSection)\n );\n});\nBadge.classes = classes;\nBadge.displayName = \"@mantine/core/Badge\";\n\nexport { Badge };\n//# sourceMappingURL=Badge.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_8b3717df\",\"breadcrumb\":\"m_f678d540\",\"separator\":\"m_3b8f2208\"};\n\nexport { classes as default };\n//# sourceMappingURL=Breadcrumbs.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { isElement } from '../../core/utils/is-element/is-element.mjs';\nimport { getSpacing } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Breadcrumbs.module.css.mjs';\n\nconst defaultProps = {\n separator: \"/\"\n};\nconst varsResolver = createVarsResolver((_, { separatorMargin }) => ({\n root: {\n \"--bc-separator-margin\": getSpacing(separatorMargin)\n }\n}));\nconst Breadcrumbs = factory((_props, ref) => {\n const props = useProps(\"Breadcrumbs\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n separator,\n separatorMargin,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Breadcrumbs\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n const items = React.Children.toArray(children).reduce(\n (acc, child, index, array) => {\n const item = isElement(child) ? React.cloneElement(child, {\n ...getStyles(\"breadcrumb\", { className: child.props?.className }),\n key: index\n }) : /* @__PURE__ */ React.createElement(\"div\", { ...getStyles(\"breadcrumb\"), key: index }, child);\n acc.push(item);\n if (index !== array.length - 1) {\n acc.push(\n /* @__PURE__ */ React.createElement(Box, { ...getStyles(\"separator\"), key: `separator-${index}` }, separator)\n );\n }\n return acc;\n },\n []\n );\n return /* @__PURE__ */ React.createElement(Box, { ref, ...getStyles(\"root\"), ...others }, items);\n});\nBreadcrumbs.classes = classes;\nBreadcrumbs.displayName = \"@mantine/core/Breadcrumbs\";\n\nexport { Breadcrumbs };\n//# sourceMappingURL=Breadcrumbs.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_fea6bf1a\",\"burger\":\"m_d4fb9cad\"};\n\nexport { classes as default };\n//# sourceMappingURL=Burger.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { getSize } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport { getThemeColor } from '../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { UnstyledButton } from '../UnstyledButton/UnstyledButton.mjs';\nimport classes from './Burger.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver(\n (theme, { color, size, transitionDuration, transitionTimingFunction }) => ({\n root: {\n \"--burger-color\": color ? getThemeColor(color, theme) : void 0,\n \"--burger-size\": getSize(size, \"burger-size\"),\n \"--burger-transition-duration\": transitionDuration === void 0 ? void 0 : `${transitionDuration}ms`,\n \"--burger-transition-timing-function\": transitionTimingFunction\n }\n })\n);\nconst Burger = factory((_props, ref) => {\n const props = useProps(\"Burger\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n opened,\n children,\n transitionDuration,\n transitionTimingFunction,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Burger\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ React.createElement(UnstyledButton, { ...getStyles(\"root\"), ref, ...others }, /* @__PURE__ */ React.createElement(Box, { mod: [\"reduce-motion\", { opened }], ...getStyles(\"burger\") }), children);\n});\nBurger.classes = classes;\nBurger.displayName = \"@mantine/core/Burger\";\n\nexport { Burger };\n//# sourceMappingURL=Burger.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_7485cace\"};\n\nexport { classes as default };\n//# sourceMappingURL=Container.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { getSize } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Container.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { size, fluid }) => ({\n root: {\n \"--container-size\": fluid ? void 0 : getSize(size, \"container-size\")\n }\n}));\nconst Container = factory((_props, ref) => {\n const props = useProps(\"Container\", defaultProps, _props);\n const { classNames, className, style, styles, unstyled, vars, fluid, mod, ...others } = props;\n const getStyles = useStyles({\n name: \"Container\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ React.createElement(Box, { ref, mod: [{ fluid }, mod], ...getStyles(\"root\"), ...others });\n});\nContainer.classes = classes;\nContainer.displayName = \"@mantine/core/Container\";\n\nexport { Container };\n//# sourceMappingURL=Container.mjs.map\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nfunction useDelayedHover({ open, close, openDelay, closeDelay }) {\n const openTimeout = useRef(-1);\n const closeTimeout = useRef(-1);\n const clearTimeouts = () => {\n window.clearTimeout(openTimeout.current);\n window.clearTimeout(closeTimeout.current);\n };\n const openDropdown = () => {\n clearTimeouts();\n if (openDelay === 0 || openDelay === void 0) {\n open();\n } else {\n openTimeout.current = window.setTimeout(open, openDelay);\n }\n };\n const closeDropdown = () => {\n clearTimeouts();\n if (closeDelay === 0 || closeDelay === void 0) {\n close();\n } else {\n closeTimeout.current = window.setTimeout(close, closeDelay);\n }\n };\n useEffect(() => clearTimeouts, []);\n return { openDropdown, closeDropdown };\n}\n\nexport { useDelayedHover };\n//# sourceMappingURL=use-delayed-hover.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_9e117634\"};\n\nexport { classes as default };\n//# sourceMappingURL=Image.module.css.mjs.map\n","'use client';\nimport React, { useState, useEffect } from 'react';\nimport { getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Image.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { radius, fit }) => ({\n root: {\n \"--image-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--image-object-fit\": fit\n }\n}));\nconst Image = polymorphicFactory((_props, ref) => {\n const props = useProps(\"Image\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n onError,\n src,\n radius,\n fit,\n fallbackSrc,\n mod,\n ...others\n } = props;\n const [error, setError] = useState(!src);\n useEffect(() => setError(!src), [src]);\n const getStyles = useStyles({\n name: \"Image\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n if (error && fallbackSrc) {\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"img\",\n ref,\n src: fallbackSrc,\n ...getStyles(\"root\"),\n onError,\n mod: [\"fallback\", mod],\n ...others\n }\n );\n }\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n component: \"img\",\n ref,\n ...getStyles(\"root\"),\n src,\n onError: (event) => {\n onError?.(event);\n setError(true);\n },\n mod,\n ...others\n }\n );\n});\nImage.classes = classes;\nImage.displayName = \"@mantine/core/Image\";\n\nexport { Image };\n//# sourceMappingURL=Image.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [MenuContextProvider, useMenuContext] = createSafeContext(\n \"Menu component was not found in the tree\"\n);\n\nexport { MenuContextProvider, useMenuContext };\n//# sourceMappingURL=Menu.context.mjs.map\n","'use client';\nvar classes = {\"dropdown\":\"m_dc9b7c9f\",\"label\":\"m_9bfac126\",\"divider\":\"m_efdf90cb\",\"item\":\"m_99ac2aa1\",\"itemLabel\":\"m_5476e0d3\",\"itemSection\":\"m_8b75e504\"};\n\nexport { classes as default };\n//# sourceMappingURL=Menu.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuDivider = factory((props, ref) => {\n const { classNames, className, style, styles, vars, ...others } = useProps(\n \"MenuDivider\",\n defaultProps,\n props\n );\n const ctx = useMenuContext();\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n ref,\n ...ctx.getStyles(\"divider\", { className, style, styles, classNames }),\n ...others\n }\n );\n});\nMenuDivider.classes = classes;\nMenuDivider.displayName = \"@mantine/core/MenuDivider\";\n\nexport { MenuDivider };\n//# sourceMappingURL=MenuDivider.mjs.map\n","'use client';\nimport React, { useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { Popover } from '../../Popover/Popover.mjs';\nimport '../../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuDropdown = factory((props, ref) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n onMouseEnter,\n onMouseLeave,\n children,\n ...others\n } = useProps(\"MenuDropdown\", defaultProps, props);\n const wrapperRef = useRef(null);\n const ctx = useMenuContext();\n const handleKeyDown = (event) => {\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n wrapperRef.current?.querySelectorAll(\"[data-menu-item]:not(:disabled)\")[0]?.focus();\n }\n };\n const handleMouseEnter = createEventHandler(\n onMouseEnter,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.openDropdown()\n );\n const handleMouseLeave = createEventHandler(\n onMouseLeave,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.closeDropdown()\n );\n return /* @__PURE__ */ React.createElement(\n Popover.Dropdown,\n {\n ...others,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n ref: useMergedRef(ref, wrapperRef),\n ...ctx.getStyles(\"dropdown\", {\n className,\n style,\n styles,\n classNames,\n withStaticClass: false\n }),\n tabIndex: -1,\n \"data-menu-dropdown\": true,\n onKeyDown: handleKeyDown\n },\n /* @__PURE__ */ React.createElement(\"div\", { tabIndex: -1, \"data-autofocus\": true, \"aria-hidden\": true, style: { outline: 0 } }),\n children\n );\n});\nMenuDropdown.classes = classes;\nMenuDropdown.displayName = \"@mantine/core/MenuDropdown\";\n\nexport { MenuDropdown };\n//# sourceMappingURL=MenuDropdown.mjs.map\n","'use client';\nimport React, { useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createScopedKeydownHandler } from '../../../core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport 'clsx';\nimport { parseThemeColor } from '../../../core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../../core/factory/polymorphic-factory.mjs';\nimport { useDirection } from '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { UnstyledButton } from '../../UnstyledButton/UnstyledButton.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuItem = polymorphicFactory((props, ref) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n color,\n closeMenuOnClick,\n leftSection,\n rightSection,\n children,\n disabled,\n ...others\n } = useProps(\"MenuItem\", defaultProps, props);\n const ctx = useMenuContext();\n const theme = useMantineTheme();\n const { dir } = useDirection();\n const itemRef = useRef();\n const itemIndex = ctx.getItemIndex(itemRef.current);\n const _others = others;\n const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));\n const handleMouseEnter = createEventHandler(\n _others.onMouseEnter,\n () => ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n const handleClick = createEventHandler(_others.onClick, () => {\n if (typeof closeMenuOnClick === \"boolean\") {\n closeMenuOnClick && ctx.closeDropdownImmediately();\n } else {\n ctx.closeOnItemClick && ctx.closeDropdownImmediately();\n }\n });\n const handleFocus = createEventHandler(\n _others.onFocus,\n () => ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n const colors = color ? theme.variantColorResolver({ color, theme, variant: \"light\" }) : void 0;\n const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;\n return /* @__PURE__ */ React.createElement(\n UnstyledButton,\n {\n ...others,\n unstyled: ctx.unstyled,\n tabIndex: ctx.menuItemTabIndex,\n onFocus: handleFocus,\n ...ctx.getStyles(\"item\", { className, style, styles, classNames }),\n ref: useMergedRef(itemRef, ref),\n role: \"menuitem\",\n disabled,\n \"data-menu-item\": true,\n \"data-disabled\": disabled || void 0,\n \"data-hovered\": ctx.hovered === itemIndex ? true : void 0,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onKeyDown: createScopedKeydownHandler({\n siblingSelector: \"[data-menu-item]\",\n parentSelector: \"[data-menu-dropdown]\",\n activateOnFocus: false,\n loop: ctx.loop,\n dir,\n orientation: \"vertical\",\n onKeyDown: _others.onKeydown\n }),\n __vars: {\n \"--menu-item-color\": parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === void 0 ? `var(--mantine-color-${parsedThemeColor.color}-6)` : colors?.color,\n \"--menu-item-hover\": colors?.hover\n }\n },\n leftSection && /* @__PURE__ */ React.createElement(\"div\", { ...ctx.getStyles(\"itemSection\", { styles, classNames }), \"data-position\": \"left\" }, leftSection),\n children && /* @__PURE__ */ React.createElement(\"div\", { ...ctx.getStyles(\"itemLabel\", { styles, classNames }) }, children),\n rightSection && /* @__PURE__ */ React.createElement(\"div\", { ...ctx.getStyles(\"itemSection\", { styles, classNames }), \"data-position\": \"right\" }, rightSection)\n );\n});\nMenuItem.classes = classes;\nMenuItem.displayName = \"@mantine/core/MenuItem\";\n\nexport { MenuItem };\n//# sourceMappingURL=MenuItem.mjs.map\n","'use client';\nimport React from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuLabel = factory((props, ref) => {\n const { classNames, className, style, styles, vars, ...others } = useProps(\n \"MenuLabel\",\n defaultProps,\n props\n );\n const ctx = useMenuContext();\n return /* @__PURE__ */ React.createElement(\n Box,\n {\n ref,\n ...ctx.getStyles(\"label\", { className, style, styles, classNames }),\n ...others\n }\n );\n});\nMenuLabel.classes = classes;\nMenuLabel.displayName = \"@mantine/core/MenuLabel\";\n\nexport { MenuLabel };\n//# sourceMappingURL=MenuLabel.mjs.map\n","'use client';\nimport React, { forwardRef, cloneElement } from 'react';\nimport { isElement } from '../../../core/utils/is-element/is-element.mjs';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { Popover } from '../../Popover/Popover.mjs';\nimport '../../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\n\nconst defaultProps = {\n refProp: \"ref\"\n};\nconst MenuTarget = forwardRef((props, ref) => {\n const { children, refProp, ...others } = useProps(\"MenuTarget\", defaultProps, props);\n if (!isElement(children)) {\n throw new Error(\n \"Menu.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n );\n }\n const ctx = useMenuContext();\n const onClick = createEventHandler(children.props.onClick, () => {\n if (ctx.trigger === \"click\") {\n ctx.toggleDropdown();\n } else if (ctx.trigger === \"click-hover\") {\n ctx.setOpenedViaClick(true);\n if (!ctx.opened) {\n ctx.openDropdown();\n }\n }\n });\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.openDropdown()\n );\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, () => {\n if (ctx.trigger === \"hover\") {\n ctx.closeDropdown();\n } else if (ctx.trigger === \"click-hover\" && !ctx.openedViaClick) {\n ctx.closeDropdown();\n }\n });\n return /* @__PURE__ */ React.createElement(Popover.Target, { refProp, popupType: \"menu\", ref, ...others }, cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n \"data-expanded\": ctx.opened ? true : void 0\n }));\n});\nMenuTarget.displayName = \"@mantine/core/MenuTarget\";\n\nexport { MenuTarget };\n//# sourceMappingURL=MenuTarget.mjs.map\n","'use client';\nimport React, { useState } from 'react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { getContextItemIndex } from '../../core/utils/get-context-item-index/get-context-item-index.mjs';\nimport { useHovered } from '../../core/utils/use-hovered/use-hovered.mjs';\nimport 'clsx';\nimport { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useDelayedHover } from '../Floating/use-delayed-hover.mjs';\nimport '@floating-ui/react';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { Popover } from '../Popover/Popover.mjs';\nimport '../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { MenuContextProvider } from './Menu.context.mjs';\nimport { MenuDivider } from './MenuDivider/MenuDivider.mjs';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown.mjs';\nimport { MenuItem } from './MenuItem/MenuItem.mjs';\nimport { MenuLabel } from './MenuLabel/MenuLabel.mjs';\nimport { MenuTarget } from './MenuTarget/MenuTarget.mjs';\nimport classes from './Menu.module.css.mjs';\n\nconst defaultProps = {\n trapFocus: true,\n closeOnItemClick: true,\n clickOutsideEvents: [\"mousedown\", \"touchstart\", \"keydown\"],\n loop: true,\n trigger: \"click\",\n openDelay: 0,\n closeDelay: 100,\n menuItemTabIndex: -1\n};\nfunction Menu(_props) {\n const props = useProps(\"Menu\", defaultProps, _props);\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n trapFocus,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n variant,\n vars,\n menuItemTabIndex,\n keepMounted,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Menu\",\n classes,\n props,\n classNames,\n styles,\n unstyled\n });\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange\n });\n const [openedViaClick, setOpenedViaClick] = useState(false);\n const close = () => {\n setOpened(false);\n setOpenedViaClick(false);\n _opened && onClose?.();\n };\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n const toggleDropdown = () => {\n _opened ? close() : open();\n };\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n const getItemIndex = (node) => getContextItemIndex(\"[data-menu-item]\", \"[data-menu-dropdown]\", node);\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n return /* @__PURE__ */ React.createElement(\n MenuContextProvider,\n {\n value: {\n getStyles,\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n openedViaClick,\n setOpenedViaClick,\n closeOnItemClick,\n closeDropdown: trigger === \"click\" ? close : closeDropdown,\n openDropdown: trigger === \"click\" ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n unstyled,\n menuItemTabIndex\n }\n },\n /* @__PURE__ */ React.createElement(\n Popover,\n {\n ...others,\n opened: _opened,\n onChange: toggleDropdown,\n defaultOpened,\n trapFocus: keepMounted ? false : trapFocus,\n closeOnEscape,\n __staticSelector: \"Menu\",\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n variant,\n keepMounted\n },\n children\n )\n );\n}\nMenu.extend = (input) => input;\nMenu.classes = classes;\nMenu.displayName = \"@mantine/core/Menu\";\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n\nexport { Menu };\n//# sourceMappingURL=Menu.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_18320242\",\"skeleton-fade\":\"m_299c329c\"};\n\nexport { classes as default };\n//# sourceMappingURL=Skeleton.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { rem } from '../../core/utils/units-converters/rem.mjs';\nimport { getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Skeleton.module.css.mjs';\n\nconst defaultProps = {\n visible: true,\n animate: true\n};\nconst varsResolver = createVarsResolver(\n (_, { width, height, radius, circle }) => ({\n root: {\n \"--skeleton-height\": rem(height),\n \"--skeleton-width\": circle ? rem(height) : rem(width),\n \"--skeleton-radius\": circle ? \"1000px\" : radius === void 0 ? void 0 : getRadius(radius)\n }\n })\n);\nconst Skeleton = factory((_props, ref) => {\n const props = useProps(\"Skeleton\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n width,\n height,\n circle,\n visible,\n radius,\n animate,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Skeleton\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ React.createElement(Box, { ref, ...getStyles(\"root\"), mod: [{ visible, animate }, mod], ...others });\n});\nSkeleton.classes = classes;\nSkeleton.displayName = \"@mantine/core/Skeleton\";\n\nexport { Skeleton };\n//# sourceMappingURL=Skeleton.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_6d731127\"};\n\nexport { classes as default };\n//# sourceMappingURL=Stack.module.css.mjs.map\n","'use client';\nimport React from 'react';\nimport { getSpacing } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Stack.module.css.mjs';\n\nconst defaultProps = {\n gap: \"md\",\n align: \"stretch\",\n justify: \"flex-start\"\n};\nconst varsResolver = createVarsResolver((_, { gap, align, justify }) => ({\n root: {\n \"--stack-gap\": getSpacing(gap),\n \"--stack-align\": align,\n \"--stack-justify\": justify\n }\n}));\nconst Stack = factory((_props, ref) => {\n const props = useProps(\"Stack\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Stack\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ React.createElement(Box, { ref, ...getStyles(\"root\"), variant, ...others });\n});\nStack.classes = classes;\nStack.displayName = \"@mantine/core/Stack\";\n\nexport { Stack };\n//# sourceMappingURL=Stack.mjs.map\n","import { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"rehackt\";\nimport { canUseLayoutEffect } from \"../../utilities/index.js\";\nvar didWarnUncachedGetSnapshot = false;\n// Prevent webpack from complaining about our feature detection of the\n// useSyncExternalStore property of the React namespace, which is expected not\n// to exist when using React 17 and earlier, and that's fine.\nvar uSESKey = \"useSyncExternalStore\";\nvar realHook = React[uSESKey];\n// Adapted from https://www.npmjs.com/package/use-sync-external-store, with\n// Apollo Client deviations called out by \"// DEVIATION ...\" comments.\n// When/if React.useSyncExternalStore is defined, delegate fully to it.\nexport var useSyncExternalStore = realHook ||\n (function (subscribe, getSnapshot, getServerSnapshot) {\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n var value = getSnapshot();\n if (\n // DEVIATION: Using __DEV__\n globalThis.__DEV__ !== false &&\n !didWarnUncachedGetSnapshot &&\n // DEVIATION: Not using Object.is because we know our snapshots will never\n // be exotic primitive values like NaN, which is !== itself.\n value !== getSnapshot()) {\n didWarnUncachedGetSnapshot = true;\n // DEVIATION: Using invariant.error instead of console.error directly.\n globalThis.__DEV__ !== false && invariant.error(58);\n }\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n var _a = React.useState({\n inst: { value: value, getSnapshot: getSnapshot },\n }), inst = _a[0].inst, forceUpdate = _a[1];\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n if (canUseLayoutEffect) {\n // DEVIATION: We avoid calling useLayoutEffect when !canUseLayoutEffect,\n // which may seem like a conditional hook, but this code ends up behaving\n // unconditionally (one way or the other) because canUseLayoutEffect is\n // constant.\n React.useLayoutEffect(function () {\n Object.assign(inst, { value: value, getSnapshot: getSnapshot });\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n }, [subscribe, value, getSnapshot]);\n }\n else {\n Object.assign(inst, { value: value, getSnapshot: getSnapshot });\n }\n React.useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n // Subscribe to the store and return a clean-up function.\n return subscribe(function handleStoreChange() {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n });\n }, [subscribe]);\n return value;\n });\nfunction checkIfSnapshotChanged(_a) {\n var value = _a.value, getSnapshot = _a.getSnapshot;\n try {\n return value !== getSnapshot();\n }\n catch (_b) {\n return true;\n }\n}\n//# sourceMappingURL=useSyncExternalStore.js.map","import { invariant } from \"../../utilities/globals/index.js\";\nimport { AutoCleanedWeakCache, cacheSizes, } from \"../../utilities/index.js\";\nimport { registerGlobalCache } from \"../../utilities/caching/getMemoryInternals.js\";\nexport var DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nvar cache;\nexport function operationName(type) {\n var name;\n switch (type) {\n case DocumentType.Query:\n name = \"Query\";\n break;\n case DocumentType.Mutation:\n name = \"Mutation\";\n break;\n case DocumentType.Subscription:\n name = \"Subscription\";\n break;\n }\n return name;\n}\n// This parser is mostly used to safety check incoming documents.\nexport function parser(document) {\n if (!cache) {\n cache = new AutoCleanedWeakCache(cacheSizes.parser || 1000 /* defaultCacheSizes.parser */);\n }\n var cached = cache.get(document);\n if (cached)\n return cached;\n var variables, type, name;\n invariant(!!document && !!document.kind, 59, document);\n var fragments = [];\n var queries = [];\n var mutations = [];\n var subscriptions = [];\n for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {\n var x = _a[_i];\n if (x.kind === \"FragmentDefinition\") {\n fragments.push(x);\n continue;\n }\n if (x.kind === \"OperationDefinition\") {\n switch (x.operation) {\n case \"query\":\n queries.push(x);\n break;\n case \"mutation\":\n mutations.push(x);\n break;\n case \"subscription\":\n subscriptions.push(x);\n break;\n }\n }\n }\n invariant(!fragments.length ||\n queries.length ||\n mutations.length ||\n subscriptions.length, 60);\n invariant(\n queries.length + mutations.length + subscriptions.length <= 1,\n 61,\n document,\n queries.length,\n subscriptions.length,\n mutations.length\n );\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length ? queries\n : mutations.length ? mutations\n : subscriptions;\n invariant(definitions.length === 1, 62, document, definitions.length);\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n if (definition.name && definition.name.kind === \"Name\") {\n name = definition.name.value;\n }\n else {\n name = \"data\"; // fallback to using data if no name\n }\n var payload = { name: name, type: type, variables: variables };\n cache.set(document, payload);\n return payload;\n}\nparser.resetCache = function () {\n cache = undefined;\n};\nif (globalThis.__DEV__ !== false) {\n registerGlobalCache(\"parser\", function () { return (cache ? cache.size : 0); });\n}\nexport function verifyDocumentType(document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n invariant(\n operation.type === type,\n 63,\n requiredOperationName,\n requiredOperationName,\n usedOperationName\n );\n}\n//# sourceMappingURL=index.js.map","var wrapperSymbol = Symbol.for(\"apollo.hook.wrappers\");\n/**\n * @internal\n *\n * Makes an Apollo Client hook \"wrappable\".\n * That means that the Apollo Client instance can expose a \"wrapper\" that will be\n * used to wrap the original hook implementation with additional logic.\n * @example\n * ```tsx\n * // this is already done in `@apollo/client` for all wrappable hooks (see `WrappableHooks`)\n * // following this pattern\n * function useQuery() {\n * return wrapHook('useQuery', _useQuery, options.client)(query, options);\n * }\n * function _useQuery(query, options) {\n * // original implementation\n * }\n *\n * // this is what a library like `@apollo/client-react-streaming` would do\n * class ApolloClientWithStreaming extends ApolloClient {\n * constructor(options) {\n * super(options);\n * this.queryManager[Symbol.for(\"apollo.hook.wrappers\")] = {\n * useQuery: (original) => (query, options) => {\n * console.log(\"useQuery was called with options\", options);\n * return original(query, options);\n * }\n * }\n * }\n * }\n *\n * // this will now log the options and then call the original `useQuery`\n * const client = new ApolloClientWithStreaming({ ... });\n * useQuery(query, { client });\n * ```\n */\nexport function wrapHook(hookName, useHook, clientOrObsQuery) {\n var queryManager = clientOrObsQuery[\"queryManager\"];\n var wrappers = queryManager && queryManager[wrapperSymbol];\n var wrapper = wrappers && wrappers[hookName];\n return wrapper ? wrapper(useHook) : useHook;\n}\n//# sourceMappingURL=wrapHook.js.map","import { __assign, __rest } from \"tslib\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"rehackt\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\nimport { equal } from \"@wry/equality\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { canUseWeakMap, compact, isNonEmptyArray, maybeDeepFreeze, } from \"../../utilities/index.js\";\nimport { wrapHook } from \"./internal/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * A hook for executing queries in an Apollo application.\n *\n * To run a query within a React component, call `useQuery` and pass it a GraphQL query document.\n *\n * When your component renders, `useQuery` returns an object from Apollo Client that contains `loading`, `error`, and `data` properties you can use to render your UI.\n *\n * > Refer to the [Queries](https://www.apollographql.com/docs/react/data/queries) section for a more in-depth overview of `useQuery`.\n *\n * @example\n * ```jsx\n * import { gql, useQuery } from '@apollo/client';\n *\n * const GET_GREETING = gql`\n * query GetGreeting($language: String!) {\n * greeting(language: $language) {\n * message\n * }\n * }\n * `;\n *\n * function Hello() {\n * const { loading, error, data } = useQuery(GET_GREETING, {\n * variables: { language: 'english' },\n * });\n * if (loading) return

Loading ...

;\n * return

Hello {data.greeting.message}!

;\n * }\n * ```\n * @since 3.0.0\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - Options to control how the query is executed.\n * @returns Query result object\n */\nexport function useQuery(query, options) {\n if (options === void 0) { options = Object.create(null); }\n return wrapHook(\"useQuery\", _useQuery, useApolloClient(options && options.client))(query, options);\n}\nfunction _useQuery(query, options) {\n return useInternalState(useApolloClient(options.client), query).useQuery(options);\n}\nexport function useInternalState(client, query) {\n var stateRef = React.useRef();\n if (!stateRef.current ||\n client !== stateRef.current.client ||\n query !== stateRef.current.query) {\n stateRef.current = new InternalState(client, query, stateRef.current);\n }\n var state = stateRef.current;\n // By default, InternalState.prototype.forceUpdate is an empty function, but\n // we replace it here (before anyone has had a chance to see this state yet)\n // with a function that unconditionally forces an update, using the latest\n // setTick function. Updating this state by calling state.forceUpdate is the\n // only way we trigger React component updates (no other useState calls within\n // the InternalState class).\n state.forceUpdateState = React.useReducer(function (tick) { return tick + 1; }, 0)[1];\n return state;\n}\nvar InternalState = /** @class */ (function () {\n function InternalState(client, query, previous) {\n var _this = this;\n this.client = client;\n this.query = query;\n /**\n * Will be overwritten by the `useSyncExternalStore` \"force update\" method\n * whenever it is available and reset to `forceUpdateState` when it isn't.\n */\n this.forceUpdate = function () { return _this.forceUpdateState(); };\n this.ssrDisabledResult = maybeDeepFreeze({\n loading: true,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.loading,\n });\n this.skipStandbyResult = maybeDeepFreeze({\n loading: false,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.ready,\n });\n // This cache allows the referential stability of this.result (as returned by\n // getCurrentResult) to translate into referential stability of the resulting\n // QueryResult object returned by toQueryResult.\n this.toQueryResultCache = new (canUseWeakMap ? WeakMap : Map)();\n verifyDocumentType(query, DocumentType.Query);\n // Reuse previousData from previous InternalState (if any) to provide\n // continuity of previousData even if/when the query or client changes.\n var previousResult = previous && previous.result;\n var previousData = previousResult && previousResult.data;\n if (previousData) {\n this.previousData = previousData;\n }\n }\n /**\n * Forces an update using local component state.\n * As this is not batched with `useSyncExternalStore` updates,\n * this is only used as a fallback if the `useSyncExternalStore` \"force update\"\n * method is not registered at the moment.\n * See https://github.com/facebook/react/issues/25191\n * */\n InternalState.prototype.forceUpdateState = function () {\n // Replaced (in useInternalState) with a method that triggers an update.\n globalThis.__DEV__ !== false && invariant.warn(51);\n };\n InternalState.prototype.executeQuery = function (options) {\n var _this = this;\n var _a;\n if (options.query) {\n Object.assign(this, { query: options.query });\n }\n this.watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));\n var concast = this.observable.reobserveAsConcast(this.getObsQueryOptions());\n // Make sure getCurrentResult returns a fresh ApolloQueryResult,\n // but save the current data as this.previousData, just like setResult\n // usually does.\n this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;\n this.result = void 0;\n this.forceUpdate();\n return new Promise(function (resolve) {\n var result;\n // Subscribe to the concast independently of the ObservableQuery in case\n // the component gets unmounted before the promise resolves. This prevents\n // the concast from terminating early and resolving with `undefined` when\n // there are no more subscribers for the concast.\n concast.subscribe({\n next: function (value) {\n result = value;\n },\n error: function () {\n resolve(_this.toQueryResult(_this.observable.getCurrentResult()));\n },\n complete: function () {\n resolve(_this.toQueryResult(result));\n },\n });\n });\n };\n // Methods beginning with use- should be called according to the standard\n // rules of React hooks: only at the top level of the calling function, and\n // without any dynamic conditional logic.\n InternalState.prototype.useQuery = function (options) {\n var _this = this;\n // The renderPromises field gets initialized here in the useQuery method, at\n // the beginning of everything (for a given component rendering, at least),\n // so we can safely use this.renderPromises in other/later InternalState\n // methods without worrying it might be uninitialized. Even after\n // initialization, this.renderPromises is usually undefined (unless SSR is\n // happening), but that's fine as long as it has been initialized that way,\n // rather than left uninitialized.\n this.renderPromises = React.useContext(getApolloContext()).renderPromises;\n this.useOptions(options);\n var obsQuery = this.useObservableQuery();\n var result = useSyncExternalStore(React.useCallback(function (handleStoreChange) {\n if (_this.renderPromises) {\n return function () { };\n }\n _this.forceUpdate = handleStoreChange;\n var onNext = function () {\n var previousResult = _this.result;\n // We use `getCurrentResult()` instead of the onNext argument because\n // the values differ slightly. Specifically, loading results will have\n // an empty object for data instead of `undefined` for some reason.\n var result = obsQuery.getCurrentResult();\n // Make sure we're not attempting to re-render similar results\n if (previousResult &&\n previousResult.loading === result.loading &&\n previousResult.networkStatus === result.networkStatus &&\n equal(previousResult.data, result.data)) {\n return;\n }\n _this.setResult(result);\n };\n var onError = function (error) {\n subscription.unsubscribe();\n subscription = obsQuery.resubscribeAfterError(onNext, onError);\n if (!hasOwnProperty.call(error, \"graphQLErrors\")) {\n // The error is not a GraphQL error\n throw error;\n }\n var previousResult = _this.result;\n if (!previousResult ||\n (previousResult && previousResult.loading) ||\n !equal(error, previousResult.error)) {\n _this.setResult({\n data: (previousResult && previousResult.data),\n error: error,\n loading: false,\n networkStatus: NetworkStatus.error,\n });\n }\n };\n var subscription = obsQuery.subscribe(onNext, onError);\n // Do the \"unsubscribe\" with a short delay.\n // This way, an existing subscription can be reused without an additional\n // request if \"unsubscribe\" and \"resubscribe\" to the same ObservableQuery\n // happen in very fast succession.\n return function () {\n setTimeout(function () { return subscription.unsubscribe(); });\n _this.forceUpdate = function () { return _this.forceUpdateState(); };\n };\n }, [\n // We memoize the subscribe function using useCallback and the following\n // dependency keys, because the subscribe function reference is all that\n // useSyncExternalStore uses internally as a dependency key for the\n // useEffect ultimately responsible for the subscription, so we are\n // effectively passing this dependency array to that useEffect buried\n // inside useSyncExternalStore, as desired.\n obsQuery,\n this.renderPromises,\n this.client.disableNetworkFetches,\n ]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });\n // TODO Remove this method when we remove support for options.partialRefetch.\n this.unsafeHandlePartialRefetch(result);\n return this.toQueryResult(result);\n };\n InternalState.prototype.useOptions = function (options) {\n var _a;\n var watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));\n // Update this.watchQueryOptions, but only when they have changed, which\n // allows us to depend on the referential stability of\n // this.watchQueryOptions elsewhere.\n var currentWatchQueryOptions = this.watchQueryOptions;\n if (!equal(watchQueryOptions, currentWatchQueryOptions)) {\n this.watchQueryOptions = watchQueryOptions;\n if (currentWatchQueryOptions && this.observable) {\n // Though it might be tempting to postpone this reobserve call to the\n // useEffect block, we need getCurrentResult to return an appropriate\n // loading:true result synchronously (later within the same call to\n // useQuery). Since we already have this.observable here (not true for\n // the very first call to useQuery), we are not initiating any new\n // subscriptions, though it does feel less than ideal that reobserve\n // (potentially) kicks off a network request (for example, when the\n // variables have changed), which is technically a side-effect.\n this.observable.reobserve(this.getObsQueryOptions());\n // Make sure getCurrentResult returns a fresh ApolloQueryResult,\n // but save the current data as this.previousData, just like setResult\n // usually does.\n this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;\n this.result = void 0;\n }\n }\n // Make sure state.onCompleted and state.onError always reflect the latest\n // options.onCompleted and options.onError callbacks provided to useQuery,\n // since those functions are often recreated every time useQuery is called.\n // Like the forceUpdate method, the versions of these methods inherited from\n // InternalState.prototype are empty no-ops, but we can override them on the\n // base state object (without modifying the prototype).\n this.onCompleted =\n options.onCompleted || InternalState.prototype.onCompleted;\n this.onError = options.onError || InternalState.prototype.onError;\n if ((this.renderPromises || this.client.disableNetworkFetches) &&\n this.queryHookOptions.ssr === false &&\n !this.queryHookOptions.skip) {\n // If SSR has been explicitly disabled, and this function has been called\n // on the server side, return the default loading state.\n this.result = this.ssrDisabledResult;\n }\n else if (this.queryHookOptions.skip ||\n this.watchQueryOptions.fetchPolicy === \"standby\") {\n // When skipping a query (ie. we're not querying for data but still want to\n // render children), make sure the `data` is cleared out and `loading` is\n // set to `false` (since we aren't loading anything).\n //\n // NOTE: We no longer think this is the correct behavior. Skipping should\n // not automatically set `data` to `undefined`, but instead leave the\n // previous data in place. In other words, skipping should not mandate that\n // previously received data is all of a sudden removed. Unfortunately,\n // changing this is breaking, so we'll have to wait until Apollo Client 4.0\n // to address this.\n this.result = this.skipStandbyResult;\n }\n else if (this.result === this.ssrDisabledResult ||\n this.result === this.skipStandbyResult) {\n this.result = void 0;\n }\n };\n InternalState.prototype.getObsQueryOptions = function () {\n var toMerge = [];\n var globalDefaults = this.client.defaultOptions.watchQuery;\n if (globalDefaults)\n toMerge.push(globalDefaults);\n if (this.queryHookOptions.defaultOptions) {\n toMerge.push(this.queryHookOptions.defaultOptions);\n }\n // We use compact rather than mergeOptions for this part of the merge,\n // because we want watchQueryOptions.variables (if defined) to replace\n // this.observable.options.variables whole. This replacement allows\n // removing variables by removing them from the variables input to\n // useQuery. If the variables were always merged together (rather than\n // replaced), there would be no way to remove existing variables.\n // However, the variables from options.defaultOptions and globalDefaults\n // (if provided) should be merged, to ensure individual defaulted\n // variables always have values, if not otherwise defined in\n // observable.options or watchQueryOptions.\n toMerge.push(compact(this.observable && this.observable.options, this.watchQueryOptions));\n return toMerge.reduce(mergeOptions);\n };\n // A function to massage options before passing them to ObservableQuery.\n InternalState.prototype.createWatchQueryOptions = function (_a) {\n var _b;\n if (_a === void 0) { _a = {}; }\n var skip = _a.skip, ssr = _a.ssr, onCompleted = _a.onCompleted, onError = _a.onError, defaultOptions = _a.defaultOptions, \n // The above options are useQuery-specific, so this ...otherOptions spread\n // makes otherOptions almost a WatchQueryOptions object, except for the\n // query property that we add below.\n otherOptions = __rest(_a, [\"skip\", \"ssr\", \"onCompleted\", \"onError\", \"defaultOptions\"]);\n // This Object.assign is safe because otherOptions is a fresh ...rest object\n // that did not exist until just now, so modifications are still allowed.\n var watchQueryOptions = Object.assign(otherOptions, { query: this.query });\n if (this.renderPromises &&\n (watchQueryOptions.fetchPolicy === \"network-only\" ||\n watchQueryOptions.fetchPolicy === \"cache-and-network\")) {\n // this behavior was added to react-apollo without explanation in this PR\n // https://github.com/apollographql/react-apollo/pull/1579\n watchQueryOptions.fetchPolicy = \"cache-first\";\n }\n if (!watchQueryOptions.variables) {\n watchQueryOptions.variables = {};\n }\n if (skip) {\n var _c = watchQueryOptions.fetchPolicy, fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c, _d = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;\n // When skipping, we set watchQueryOptions.fetchPolicy initially to\n // \"standby\", but we also need/want to preserve the initial non-standby\n // fetchPolicy that would have been used if not skipping.\n Object.assign(watchQueryOptions, {\n initialFetchPolicy: initialFetchPolicy,\n fetchPolicy: \"standby\",\n });\n }\n else if (!watchQueryOptions.fetchPolicy) {\n watchQueryOptions.fetchPolicy =\n ((_b = this.observable) === null || _b === void 0 ? void 0 : _b.options.initialFetchPolicy) ||\n this.getDefaultFetchPolicy();\n }\n return watchQueryOptions;\n };\n InternalState.prototype.getDefaultFetchPolicy = function () {\n var _a, _b;\n return (((_a = this.queryHookOptions.defaultOptions) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||\n ((_b = this.client.defaultOptions.watchQuery) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||\n \"cache-first\");\n };\n // Defining these methods as no-ops on the prototype allows us to call\n // state.onCompleted and/or state.onError without worrying about whether a\n // callback was provided.\n InternalState.prototype.onCompleted = function (data) { };\n InternalState.prototype.onError = function (error) { };\n InternalState.prototype.useObservableQuery = function () {\n // See if there is an existing observable that was used to fetch the same\n // data and if so, use it instead since it will contain the proper queryId\n // to fetch the result set. This is used during SSR.\n var obsQuery = (this.observable =\n (this.renderPromises &&\n this.renderPromises.getSSRObservable(this.watchQueryOptions)) ||\n this.observable || // Reuse this.observable if possible (and not SSR)\n this.client.watchQuery(this.getObsQueryOptions()));\n this.obsQueryFields = React.useMemo(function () { return ({\n refetch: obsQuery.refetch.bind(obsQuery),\n reobserve: obsQuery.reobserve.bind(obsQuery),\n fetchMore: obsQuery.fetchMore.bind(obsQuery),\n updateQuery: obsQuery.updateQuery.bind(obsQuery),\n startPolling: obsQuery.startPolling.bind(obsQuery),\n stopPolling: obsQuery.stopPolling.bind(obsQuery),\n subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery),\n }); }, [obsQuery]);\n var ssrAllowed = !(this.queryHookOptions.ssr === false || this.queryHookOptions.skip);\n if (this.renderPromises && ssrAllowed) {\n this.renderPromises.registerSSRObservable(obsQuery);\n if (obsQuery.getCurrentResult().loading) {\n // TODO: This is a legacy API which could probably be cleaned up\n this.renderPromises.addObservableQueryPromise(obsQuery);\n }\n }\n return obsQuery;\n };\n InternalState.prototype.setResult = function (nextResult) {\n var previousResult = this.result;\n if (previousResult && previousResult.data) {\n this.previousData = previousResult.data;\n }\n this.result = nextResult;\n // Calling state.setResult always triggers an update, though some call sites\n // perform additional equality checks before committing to an update.\n this.forceUpdate();\n this.handleErrorOrCompleted(nextResult, previousResult);\n };\n InternalState.prototype.handleErrorOrCompleted = function (result, previousResult) {\n var _this = this;\n if (!result.loading) {\n var error_1 = this.toApolloError(result);\n // wait a tick in case we are in the middle of rendering a component\n Promise.resolve()\n .then(function () {\n if (error_1) {\n _this.onError(error_1);\n }\n else if (result.data &&\n (previousResult === null || previousResult === void 0 ? void 0 : previousResult.networkStatus) !== result.networkStatus &&\n result.networkStatus === NetworkStatus.ready) {\n _this.onCompleted(result.data);\n }\n })\n .catch(function (error) {\n globalThis.__DEV__ !== false && invariant.warn(error);\n });\n }\n };\n InternalState.prototype.toApolloError = function (result) {\n return isNonEmptyArray(result.errors) ?\n new ApolloError({ graphQLErrors: result.errors })\n : result.error;\n };\n InternalState.prototype.getCurrentResult = function () {\n // Using this.result as a cache ensures getCurrentResult continues returning\n // the same (===) result object, unless state.setResult has been called, or\n // we're doing server rendering and therefore override the result below.\n if (!this.result) {\n this.handleErrorOrCompleted((this.result = this.observable.getCurrentResult()));\n }\n return this.result;\n };\n InternalState.prototype.toQueryResult = function (result) {\n var queryResult = this.toQueryResultCache.get(result);\n if (queryResult)\n return queryResult;\n var data = result.data, partial = result.partial, resultWithoutPartial = __rest(result, [\"data\", \"partial\"]);\n this.toQueryResultCache.set(result, (queryResult = __assign(__assign(__assign({ data: data }, resultWithoutPartial), this.obsQueryFields), { client: this.client, observable: this.observable, variables: this.observable.variables, called: !this.queryHookOptions.skip, previousData: this.previousData })));\n if (!queryResult.error && isNonEmptyArray(result.errors)) {\n // Until a set naming convention for networkError and graphQLErrors is\n // decided upon, we map errors (graphQLErrors) to the error options.\n // TODO: Is it possible for both result.error and result.errors to be\n // defined here?\n queryResult.error = new ApolloError({ graphQLErrors: result.errors });\n }\n return queryResult;\n };\n InternalState.prototype.unsafeHandlePartialRefetch = function (result) {\n // WARNING: SIDE-EFFECTS IN THE RENDER FUNCTION\n //\n // TODO: This code should be removed when the partialRefetch option is\n // removed. I was unable to get this hook to behave reasonably in certain\n // edge cases when this block was put in an effect.\n if (result.partial &&\n this.queryHookOptions.partialRefetch &&\n !result.loading &&\n (!result.data || Object.keys(result.data).length === 0) &&\n this.observable.options.fetchPolicy !== \"cache-only\") {\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.refetch,\n });\n this.observable.refetch();\n }\n };\n return InternalState;\n}());\n//# sourceMappingURL=useQuery.js.map","import { __assign } from \"tslib\";\nimport * as React from \"rehackt\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { useInternalState } from \"./useQuery.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n// The following methods, when called will execute the query, regardless of\n// whether the useLazyQuery execute function was called before.\nvar EAGER_METHODS = [\n \"refetch\",\n \"reobserve\",\n \"fetchMore\",\n \"updateQuery\",\n \"startPolling\",\n \"subscribeToMore\",\n];\n/**\n * A hook for imperatively executing queries in an Apollo application, e.g. in response to user interaction.\n *\n * > Refer to the [Queries - Manual execution with useLazyQuery](https://www.apollographql.com/docs/react/data/queries#manual-execution-with-uselazyquery) section for a more in-depth overview of `useLazyQuery`.\n *\n * @example\n * ```jsx\n * import { gql, useLazyQuery } from \"@apollo/client\";\n *\n * const GET_GREETING = gql`\n * query GetGreeting($language: String!) {\n * greeting(language: $language) {\n * message\n * }\n * }\n * `;\n *\n * function Hello() {\n * const [loadGreeting, { called, loading, data }] = useLazyQuery(\n * GET_GREETING,\n * { variables: { language: \"english\" } }\n * );\n * if (called && loading) return

Loading ...

\n * if (!called) {\n * return \n * }\n * return

Hello {data.greeting.message}!

;\n * }\n * ```\n * @since 3.0.0\n *\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - Default options to control how the query is executed.\n * @returns A tuple in the form of `[execute, result]`\n */\nexport function useLazyQuery(query, options) {\n var _a;\n var execOptionsRef = React.useRef();\n var optionsRef = React.useRef();\n var queryRef = React.useRef();\n var merged = mergeOptions(options, execOptionsRef.current || {});\n var document = (_a = merged === null || merged === void 0 ? void 0 : merged.query) !== null && _a !== void 0 ? _a : query;\n // Use refs to track options and the used query to ensure the `execute`\n // function remains referentially stable between renders.\n optionsRef.current = options;\n queryRef.current = document;\n var internalState = useInternalState(useApolloClient(options && options.client), document);\n var useQueryResult = internalState.useQuery(__assign(__assign({}, merged), { skip: !execOptionsRef.current }));\n var initialFetchPolicy = useQueryResult.observable.options.initialFetchPolicy ||\n internalState.getDefaultFetchPolicy();\n var result = Object.assign(useQueryResult, {\n called: !!execOptionsRef.current,\n });\n // We use useMemo here to make sure the eager methods have a stable identity.\n var eagerMethods = React.useMemo(function () {\n var eagerMethods = {};\n var _loop_1 = function (key) {\n var method = result[key];\n eagerMethods[key] = function () {\n if (!execOptionsRef.current) {\n execOptionsRef.current = Object.create(null);\n // Only the first time populating execOptionsRef.current matters here.\n internalState.forceUpdateState();\n }\n // @ts-expect-error this is just too generic to type\n return method.apply(this, arguments);\n };\n };\n for (var _i = 0, EAGER_METHODS_1 = EAGER_METHODS; _i < EAGER_METHODS_1.length; _i++) {\n var key = EAGER_METHODS_1[_i];\n _loop_1(key);\n }\n return eagerMethods;\n }, []);\n Object.assign(result, eagerMethods);\n var execute = React.useCallback(function (executeOptions) {\n execOptionsRef.current =\n executeOptions ? __assign(__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {\n fetchPolicy: initialFetchPolicy,\n };\n var options = mergeOptions(optionsRef.current, __assign({ query: queryRef.current }, execOptionsRef.current));\n var promise = internalState\n .executeQuery(__assign(__assign({}, options), { skip: false }))\n .then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });\n // Because the return value of `useLazyQuery` is usually floated, we need\n // to catch the promise to prevent unhandled rejections.\n promise.catch(function () { });\n return promise;\n }, []);\n return [execute, result];\n}\n//# sourceMappingURL=useLazyQuery.js.map","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nexport default head;\n","import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","import type { FC } from \"react\";\nimport { DateTime } from \"luxon\";\nimport { format as formatTimeAgo } from \"timeago.js\";\n\nimport type { TextProps } from \"@mantine/core\";\nimport { Text } from \"@mantine/core\";\n\nexport type TimeAgoProps = TextProps & {\n readonly children: string | DateTime;\n};\n\nconst TimeAgo: FC = ({ children, ...otherProps }) => {\n const date = useMemo(() => {\n const time =\n typeof children === \"string\" ? DateTime.fromISO(children) : children;\n return time.toJSDate();\n }, [children]);\n const [text, setText] = useState(() => formatTimeAgo(date));\n useEffect(() => {\n const interval = setInterval(() => {\n setText(formatTimeAgo(date));\n }, 1000);\n return () => {\n clearInterval(interval);\n };\n }, [date]);\n return (\n \n {text}\n \n );\n};\n\nexport default TimeAgo;\n","import * as Types from './types.generated';\n\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type AdminPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type AdminPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type AppMenuQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type AppMenuQuery = (\n { __typename?: 'Query' }\n & Pick\n);\n\nexport type AppViewerFragment = (\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n);\n\nexport type AvatarFieldQueryVariables = Types.Exact<{\n signedId: Types.Scalars['String']['input'];\n}>;\n\n\nexport type AvatarFieldQuery = (\n { __typename?: 'Query' }\n & { image: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n);\n\nexport type ContactEmailQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type ContactEmailQuery = (\n { __typename?: 'Query' }\n & { email: Types.Query['contactEmail'] }\n);\n\nexport type CreateChunkMutationVariables = Types.Exact<{\n input: Types.CreateChunkInput;\n}>;\n\n\nexport type CreateChunkMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'CreateChunkPayload' }\n & { chunk: (\n { __typename?: 'Chunk' }\n & Pick\n ) }\n ) }\n);\n\nexport type CreateSegmentMutationVariables = Types.Exact<{\n input: Types.CreateSegmentInput;\n isAdmin?: Types.InputMaybe;\n}>;\n\n\nexport type CreateSegmentMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'CreateSegmentPayload' }\n & { segment: (\n { __typename?: 'Segment' }\n & Types.MakeMaybe, 'context' | 'requiresRefinishing'>\n ) }\n ) }\n);\n\nexport type CreateThreadMutationVariables = Types.Exact<{\n input: Types.CreateThreadInput;\n}>;\n\n\nexport type CreateThreadMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'CreateThreadPayload' }\n & { thread: (\n { __typename?: 'Thread' }\n & Pick\n ) }\n ) }\n);\n\nexport type ErrorPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type ErrorPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type FileFieldFileCardQueryVariables = Types.Exact<{\n signedId: Types.Scalars['String']['input'];\n}>;\n\n\nexport type FileFieldFileCardQuery = (\n { __typename?: 'Query' }\n & { file: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n);\n\nexport type GraphPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type GraphPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type GraphPageQuoteFragment = (\n { __typename?: 'Quote' }\n & Pick\n & { neighbors: Array<(\n { __typename?: 'Quote' }\n & Pick\n )> }\n);\n\nexport type GraphPageRecentQuotesQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type GraphPageRecentQuotesQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { recentQuotes: Array<(\n { __typename?: 'Quote' }\n & Pick\n & { neighbors: Array<(\n { __typename?: 'Quote' }\n & Pick\n )> }\n )> }\n )> }\n);\n\nexport type HomePageDeepgramApiKeyQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type HomePageDeepgramApiKeyQuery = (\n { __typename?: 'Query' }\n & Pick\n);\n\nexport type HomePageQueryVariables = Types.Exact<{\n threadId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type HomePageQuery = (\n { __typename?: 'Query' }\n & Pick\n & { thread: Types.Maybe<(\n { __typename?: 'Thread' }\n & Pick\n )>, viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type HomePageSegmentFragment = (\n { __typename?: 'Segment' }\n & Types.MakeMaybe, 'context' | 'requiresRefinishing'>\n);\n\nexport type HomePageThreadSegmentsSubscriptionVariables = Types.Exact<{\n threadId: Types.Scalars['ID']['input'];\n isAdmin?: Types.InputMaybe;\n}>;\n\n\nexport type HomePageThreadSegmentsSubscription = (\n { __typename?: 'Subscription' }\n & { payload: (\n { __typename?: 'ThreadSegmentsUpdatedPayload' }\n & { thread: (\n { __typename?: 'Thread' }\n & Pick\n & { segments: Array<(\n { __typename?: 'Segment' }\n & Types.MakeMaybe, 'context' | 'requiresRefinishing'>\n )> }\n ) }\n ) }\n);\n\nexport type LoadingPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type LoadingPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type PasswordWithStrengthCheckInputQueryVariables = Types.Exact<{\n password: Types.Scalars['String']['input'];\n}>;\n\n\nexport type PasswordWithStrengthCheckInputQuery = (\n { __typename?: 'Query' }\n & Pick\n);\n\nexport type RefinishSegmentMutationVariables = Types.Exact<{\n input: Types.RefinishSegmentInput;\n}>;\n\n\nexport type RefinishSegmentMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'RefinishSegmentPayload' }\n & { segment: (\n { __typename?: 'Segment' }\n & Pick\n ) }\n ) }\n);\n\nexport type RegenerateSegmentResponseMutationVariables = Types.Exact<{\n input: Types.RegenerateSegmentResponseInput;\n}>;\n\n\nexport type RegenerateSegmentResponseMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'RegenerateSegmentResponsePayload' }\n & Pick\n ) }\n);\n\nexport type RequestUserEmailVerificationMutationVariables = Types.Exact<{\n input: Types.RequestUserEmailVerificationInput;\n}>;\n\n\nexport type RequestUserEmailVerificationMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'RequestUserEmailVerificationPayload' }\n & Pick\n ) }\n);\n\nexport type RequestUserPasswordResetMutationVariables = Types.Exact<{\n input: Types.RequestUserPasswordResetInput;\n}>;\n\n\nexport type RequestUserPasswordResetMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'RequestUserPasswordResetPayload' }\n & Pick\n ) }\n);\n\nexport type SegmentResponsePopoverQueryVariables = Types.Exact<{\n segmentId: Types.Scalars['ID']['input'];\n first?: Types.InputMaybe;\n last?: Types.InputMaybe;\n before?: Types.InputMaybe;\n after?: Types.InputMaybe;\n}>;\n\n\nexport type SegmentResponsePopoverQuery = (\n { __typename?: 'Query' }\n & { segment: Types.Maybe<(\n { __typename?: 'Segment' }\n & Pick\n & { responseCompletions: (\n { __typename?: 'GptChatCompletionConnection' }\n & Pick\n & { edges: Array<(\n { __typename?: 'GptChatCompletionEdge' }\n & Pick\n & { node: (\n { __typename?: 'GptChatCompletion' }\n & Pick\n & { messages: Array<(\n { __typename?: 'GptChatMessage' }\n & Pick\n )> }\n ) }\n )>, pageInfo: (\n { __typename?: 'PageInfo' }\n & Pick\n ) }\n ) }\n )> }\n);\n\nexport type TestEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n hasUser: Types.Scalars['Boolean']['input'];\n}>;\n\n\nexport type TestEmailQuery = (\n { __typename?: 'Query' }\n & { user?: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type TestFeedSubscriptionVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type TestFeedSubscription = (\n { __typename?: 'Subscription' }\n & Pick\n);\n\nexport type TestMutationMutationVariables = Types.Exact<{\n input: Types.TestMutationInput;\n}>;\n\n\nexport type TestMutationMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'TestMutationPayload' }\n & { errors: Types.Maybe\n )>>, model: Types.Maybe<(\n { __typename?: 'TestModel' }\n & Pick\n )> }\n ) }\n);\n\nexport type TestPageQueryVariables = Types.Exact<{\n name: Types.Scalars['String']['input'];\n}>;\n\n\nexport type TestPageQuery = (\n { __typename?: 'Query' }\n & Pick\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type ThreadsNavbarCurrentThreadUpdatedSubscriptionVariables = Types.Exact<{\n currentThreadId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type ThreadsNavbarCurrentThreadUpdatedSubscription = (\n { __typename?: 'Subscription' }\n & { payload: (\n { __typename?: 'ThreadUpdatedPayload' }\n & { thread: (\n { __typename?: 'Thread' }\n & Pick\n ) }\n ) }\n);\n\nexport type ThreadsNavbarQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n after?: Types.InputMaybe;\n}>;\n\n\nexport type ThreadsNavbarQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { threads: (\n { __typename?: 'ThreadConnection' }\n & { edges: Array<(\n { __typename?: 'ThreadEdge' }\n & { node: (\n { __typename?: 'Thread' }\n & Pick\n ) }\n )>, pageInfo: (\n { __typename?: 'PageInfo' }\n & Pick\n ) }\n ) }\n )> }\n);\n\nexport type ThreadsNavbarThreadCreatedSubscriptionVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type ThreadsNavbarThreadCreatedSubscription = (\n { __typename?: 'Subscription' }\n & { payload: (\n { __typename?: 'UserThreadCreatedPayload' }\n & { thread: Types.Maybe<(\n { __typename?: 'Thread' }\n & Pick\n )> }\n ) }\n);\n\nexport type UpdateUserEmailMutationVariables = Types.Exact<{\n input: Types.UpdateUserEmailInput;\n}>;\n\n\nexport type UpdateUserEmailMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'UpdateUserEmailPayload' }\n & { errors: Types.Maybe\n )>>, user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n ) }\n);\n\nexport type UpdateUserProfileMutationVariables = Types.Exact<{\n input: Types.UpdateUserProfileInput;\n}>;\n\n\nexport type UpdateUserProfileMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'UpdateUserProfilePayload' }\n & { errors: Types.Maybe\n )>>, user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n ) }\n);\n\nexport type UserChangePasswordPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserChangePasswordPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserEmailChangedEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type UserEmailChangedEmailQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type UserEmailVerificationEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type UserEmailVerificationEmailQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type UserLoginPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserLoginPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserPasswordChangedEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type UserPasswordChangedEmailQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type UserPasswordResetEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type UserPasswordResetEmailQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type UserRegisterPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserRegisterPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserRequestEmailVerificationPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserRequestEmailVerificationPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserRequestPasswordResetPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserRequestPasswordResetPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserSettingsPageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type UserSettingsPageQuery = (\n { __typename?: 'Query' }\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type UserSettingsPageViewerFragment = (\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n);\n\nexport type UserWelcomeEmailQueryVariables = Types.Exact<{\n userId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type UserWelcomeEmailQuery = (\n { __typename?: 'Query' }\n & { user: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n )> }\n);\n\nexport type V0CreateChunkMutationVariables = Types.Exact<{\n input: Types.V0CreateChunkInput;\n}>;\n\n\nexport type V0CreateChunkMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'V0CreateChunkPayload' }\n & { chunk: (\n { __typename?: 'V0Chunk' }\n & Pick\n ) }\n ) }\n);\n\nexport type V0CreateSessionMutationVariables = Types.Exact<{\n input: Types.V0CreateSessionInput;\n}>;\n\n\nexport type V0CreateSessionMutation = (\n { __typename?: 'Mutation' }\n & { payload: (\n { __typename?: 'V0CreateSessionPayload' }\n & { session: (\n { __typename?: 'V0Session' }\n & Pick\n ) }\n ) }\n);\n\nexport type V0HomePageActiveSessionSubscriptionVariables = Types.Exact<{\n sessionId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type V0HomePageActiveSessionSubscription = (\n { __typename?: 'Subscription' }\n & { session: (\n { __typename?: 'V0Session' }\n & Pick\n ) }\n);\n\nexport type V0HomePageLatestSessionSubscriptionVariables = Types.Exact<{\n sessionId: Types.Scalars['ID']['input'];\n}>;\n\n\nexport type V0HomePageLatestSessionSubscription = (\n { __typename?: 'Subscription' }\n & { session: (\n { __typename?: 'V0Session' }\n & Pick\n ) }\n);\n\nexport type V0HomePageQueryVariables = Types.Exact<{ [key: string]: never; }>;\n\n\nexport type V0HomePageQuery = (\n { __typename?: 'Query' }\n & Pick\n & { viewer: Types.Maybe<(\n { __typename?: 'User' }\n & Pick\n & { avatar: Types.Maybe<(\n { __typename?: 'Image' }\n & Pick\n )> }\n )> }\n);\n\nexport type V0HomePageRecentSessionsQueryVariables = Types.Exact<{\n after?: Types.InputMaybe;\n}>;\n\n\nexport type V0HomePageRecentSessionsQuery = (\n { __typename?: 'Query' }\n & { sessions: (\n { __typename?: 'V0SessionConnection' }\n & { edges: Array<(\n { __typename?: 'V0SessionEdge' }\n & { node: (\n { __typename?: 'V0Session' }\n & Pick\n ) }\n )>, pageInfo: (\n { __typename?: 'PageInfo' }\n & Pick\n ) }\n ) }\n);\n\nexport const AppViewerFragment = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const GraphPageQuoteFragment = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"GraphPageQuoteFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Quote\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"neighbors\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"text\"}}]}}]} as unknown as DocumentNode;\nexport const HomePageSegmentFragment = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageSegmentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Segment\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFinished\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiresRefinishing\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"response\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"snippets\"}}]}}]} as unknown as DocumentNode;\nexport const UserSettingsPageViewerFragment = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"UserSettingsPageViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unverifiedEmail\"}}]}}]} as unknown as DocumentNode;\nexport const AdminPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const AppMenuQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AppMenuQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bootedAt\"}}]}}]} as unknown as DocumentNode;\nexport const AvatarFieldQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AvatarFieldQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"image\"},\"name\":{\"kind\":\"Name\",\"value\":\"imageBySignedId\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"}}]}}]}}]} as unknown as DocumentNode;\nexport const ContactEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ContactEmailQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"email\"},\"name\":{\"kind\":\"Name\",\"value\":\"contactEmail\"}}]}}]} as unknown as DocumentNode;\nexport const CreateChunkMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateChunkMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateChunkInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"createChunk\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chunk\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const CreateSegmentMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateSegmentMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateSegmentInput\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"createSegment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"segment\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageSegmentFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageSegmentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Segment\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFinished\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiresRefinishing\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"response\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"snippets\"}}]}}]} as unknown as DocumentNode;\nexport const CreateThreadMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateThreadMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateThreadInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"createThread\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"thread\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const ErrorPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ErrorPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const FileFieldFileCardQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FileFieldFileCardQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"file\"},\"name\":{\"kind\":\"Name\",\"value\":\"uploadBySignedId\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"byteSize\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"filename\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GraphPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GraphPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const GraphPageRecentQuotesQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GraphPageRecentQuotesQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentQuotes\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"GraphPageQuoteFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"GraphPageQuoteFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Quote\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"neighbors\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"text\"}}]}}]} as unknown as DocumentNode;\nexport const HomePageDeepgramApiKeyQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageDeepgramApiKeyQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deepgramApiKey\"}}]}}]} as unknown as DocumentNode;\nexport const HomePageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"announcement\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"thread\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const HomePageThreadSegmentsSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageThreadSegmentsSubscription\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"threadSegmentsUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"thread\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"segments\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageSegmentFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePageSegmentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Segment\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFinished\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiresRefinishing\"},\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"response\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"snippets\"}}]}}]} as unknown as DocumentNode;\nexport const LoadingPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"LoadingPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const PasswordWithStrengthCheckInputQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PasswordWithStrengthCheckInputQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"passwordStrength\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}}}]}]}}]} as unknown as DocumentNode;\nexport const RefinishSegmentMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"RefinishSegmentMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"RefinishSegmentInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"refinishSegment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"segment\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const RegenerateSegmentResponseMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"RegenerateSegmentResponseMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"RegenerateSegmentResponseInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"regenerateSegmentResponse\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"success\"}}]}}]}}]} as unknown as DocumentNode;\nexport const RequestUserEmailVerificationMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"RequestUserEmailVerificationMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"RequestUserEmailVerificationInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"requestUserEmailVerification\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"success\"}}]}}]}}]} as unknown as DocumentNode;\nexport const RequestUserPasswordResetMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"RequestUserPasswordResetMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"RequestUserPasswordResetInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"requestUserPasswordReset\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"success\"}}]}}]}}]} as unknown as DocumentNode;\nexport const SegmentResponsePopoverQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SegmentResponsePopoverQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"segmentId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"first\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"last\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"before\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"segment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"segmentId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"responseCompletions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"first\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"first\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"last\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"last\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"before\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"before\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cursor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completion\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"messages\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"role\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"temperature\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endCursor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasNextPage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasPreviousPage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"startCursor\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCount\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const TestEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TestEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"hasUser\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"hasUser\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const TestFeedSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"TestFeedSubscription\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"testSubscription\"}}]}}]} as unknown as DocumentNode;\nexport const TestMutationMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"TestMutationMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TestMutationInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"testMutation\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"model\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"birthday\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const TestPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TestPageQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"testEcho\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"text\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const ThreadsNavbarCurrentThreadUpdatedSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"ThreadsNavbarCurrentThreadUpdatedSubscription\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"currentThreadId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"threadUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"threadId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"currentThreadId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"thread\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const ThreadsNavbarQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ThreadsNavbarQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"threads\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"first\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"10\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"segmentsCount\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endCursor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasNextPage\"}}]}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const ThreadsNavbarThreadCreatedSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"ThreadsNavbarThreadCreatedSubscription\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"userThreadCreated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"thread\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const UpdateUserEmailMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserEmailMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserEmailInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateUserEmail\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unverifiedEmail\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const UpdateUserProfileMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfileMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserProfileInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateUserProfile\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const UserChangePasswordPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserChangePasswordPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const UserEmailChangedEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserEmailChangedEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UserEmailVerificationEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserEmailVerificationEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UserLoginPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserLoginPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const UserPasswordChangedEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserPasswordChangedEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UserPasswordResetEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserPasswordResetEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UserRegisterPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserRegisterPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const UserRequestEmailVerificationPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserRequestEmailVerificationPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const UserRequestPasswordResetPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserRequestPasswordResetPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const UserSettingsPageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserSettingsPageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"UserSettingsPageViewerFragment\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"UserSettingsPageViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"signedId\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unverifiedEmail\"}}]}}]} as unknown as DocumentNode;\nexport const UserWelcomeEmailQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UserWelcomeEmailQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const V0CreateChunkMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"V0CreateChunkMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"V0CreateChunkInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"v0_createChunk\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chunk\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"transcript\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const V0CreateSessionMutationDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"V0CreateSessionMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"V0CreateSessionInput\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"payload\"},\"name\":{\"kind\":\"Name\",\"value\":\"v0_createSession\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"session\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const V0HomePageActiveSessionSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"V0HomePageActiveSessionSubscription\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sessionId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"session\"},\"name\":{\"kind\":\"Name\",\"value\":\"v0_session\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sessionId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"latestPrompts\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"snippets\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"transcript\"}}]}}]}}]} as unknown as DocumentNode;\nexport const V0HomePageLatestSessionSubscriptionDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"V0HomePageLatestSessionSubscription\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sessionId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"session\"},\"name\":{\"kind\":\"Name\",\"value\":\"v0_session\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sessionId\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode;\nexport const V0HomePageQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"V0HomePageQuery\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"announcement\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}},{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AppViewerFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"src\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"SM\"}}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdmin\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]} as unknown as DocumentNode;\nexport const V0HomePageRecentSessionsQueryDocument = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"V0HomePageRecentSessionsQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"sessions\"},\"name\":{\"kind\":\"Name\",\"value\":\"v0_sessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"first\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"5\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"after\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"snippets\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"startedAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"transcript\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endCursor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasNextPage\"}}]}}]}}]}}]} as unknown as DocumentNode;","export const formatError = ({ message }: Error): string => {\n message = message.charAt(0).toUpperCase() + message.slice(1);\n if (!message.endsWith(\".\")) {\n message += \".\";\n }\n return message;\n};\n","import type { FC } from \"react\";\nimport type { ApolloError, ServerError } from \"@apollo/client\";\nimport { formatError } from \"~/helpers/errors\";\n\nexport type ApolloErrorMessageProps = {\n readonly children: ApolloError;\n};\n\nconst ApolloErrorMessage: FC = ({ children }) => {\n const message = useMemo(() => {\n const { graphQLErrors, networkError, message } = children;\n const graphQLError = first(graphQLErrors);\n if (graphQLError) {\n return formatError(graphQLError);\n }\n if (networkError) {\n if (networkError.name === \"ServerError\") {\n const { statusCode } = networkError as ServerError;\n if (statusCode === 500) {\n const message = \"An internal server error occurred.\";\n if (requireMeta(\"env\") === \"development\") {\n return (\n <>\n {message}{\" \"}\n \n (view details)\n \n \n );\n }\n return message;\n }\n }\n }\n return message;\n }, [children]);\n return <>{message};\n};\n\nexport default ApolloErrorMessage;\n","import { showNotification } from \"@mantine/notifications\";\nimport type { NotificationData } from \"@mantine/notifications\";\n\nimport InformationCircleIcon from \"~icons/heroicons/information-circle-20-solid\";\nimport ExclamationTriangleIcon from \"~icons/heroicons/exclamation-triangle-20-solid\";\n\nexport const showAlert = (props: NotificationData) => {\n showNotification({\n color: \"red\",\n icon: ,\n ...props,\n });\n};\n\nexport const showNotice = (props: NotificationData) => {\n showNotification({\n color: \"primary\",\n icon: ,\n ...props,\n });\n};\n","import { useCallback } from \"react\";\nimport { isUndefined, omitBy } from \"lodash-es\";\nimport type { ApolloError } from \"@apollo/client\";\n\nimport ApolloErrorMessage from \"~/components/ApolloErrorMessage\";\n\nimport { formatJSON } from \"~/helpers/json\";\nimport { showAlert } from \"~/helpers/notifications\";\n\nexport const useApolloAlertCallback = (\n title: string,\n context: Record = {},\n): ((error: ApolloError) => void) => {\n return useCallback(\n error => {\n console.error(\n title,\n formatJSON(omitBy({ ...context, error }, isUndefined)),\n );\n showAlert({\n title,\n message: {error},\n });\n },\n [title, context],\n );\n};\n","import type { QueryResult } from \"@apollo/client\";\n\nimport { ContactEmailQueryDocument } from \"~/helpers/graphql\";\n\nexport type ContactMeOptions = {\n readonly subject?: string;\n readonly body?: string;\n};\n\nexport const useContactMe = (\n options?: ContactMeOptions,\n): [\n (options?: ContactMeOptions) => void,\n Pick,\n] => {\n const onError = useApolloAlertCallback(\"Failed to load contact email\");\n const [runQuery, { loading, error, called }] = useLazyQuery(\n ContactEmailQueryDocument,\n { onError },\n );\n const contact = (optionsOverride?: ContactMeOptions) => {\n runQuery({\n variables: {},\n }).then(({ data }) => {\n if (data) {\n const combinedOptions = Object.assign({}, options, optionsOverride);\n location.href = contactUrl(data.email, combinedOptions);\n }\n });\n };\n return [contact, { loading, error, called }];\n};\n\nconst contactUrl = (email: string, options?: ContactMeOptions): string => {\n let url = `mailto:${email}`;\n const params: string[] = [];\n if (options?.subject) {\n params.push(`subject=${encodeURIComponent(options.subject)}`);\n }\n if (options?.body) {\n params.push(`body=${encodeURIComponent(options.body)}`);\n }\n if (!isEmpty(params)) {\n url += `?${params.join(\"&\")}`;\n }\n return url;\n};\n","import type { FC } from \"react\";\n\n// import AdminIcon from \"~icons/heroicons/key-20-solid\";\nimport SignInIcon from \"~icons/heroicons/arrow-right-on-rectangle-20-solid\";\nimport SignOutIcon from \"~icons/heroicons/arrow-left-on-rectangle-20-solid\";\nimport SendIcon from \"~icons/heroicons/paper-airplane-20-solid\";\nimport HomeIcon from \"~icons/heroicons/home-20-solid\";\nimport UserIcon from \"~icons/heroicons/user-20-solid\";\n\nimport { Avatar, Loader, Text } from \"@mantine/core\";\nimport type { BoxProps } from \"@mantine/core\";\n\nimport { createApolloLink } from \"~/helpers/apollo\";\nimport type { SharedPageProps } from \"~/helpers/inertia\";\n\nimport { AppMenuQueryDocument } from \"~/helpers/graphql\";\nimport type { Maybe } from \"~/helpers/graphql\";\nimport type { AppViewerFragment } from \"~/helpers/graphql\";\n\nimport { useContactMe } from \"~/helpers/contactMe\";\n\nimport classes from \"./AppMenu.module.css\";\n\nexport type AppMenuProps = BoxProps & {\n readonly viewer: Maybe;\n};\n\nconst AppMenu: FC = ({ viewer, ...otherProps }) => {\n const router = useRouter();\n const client = useApolloClient();\n const [contactMe, { loading: loadingContactMe }] = useContactMe();\n\n // == State\n const [opened, setOpened] = useState(false);\n\n // == Server Info Loading\n const onLoadServerInfoError = useApolloAlertCallback(\n \"Failed to load server info\",\n );\n const { data: serverInfoData } = useQuery(AppMenuQueryDocument, {\n skip: !opened,\n onError: onLoadServerInfoError,\n });\n const { bootedAt } = serverInfoData ?? {};\n\n return (\n \n \n \n ) : (\n \n )\n }\n color={viewer ? \"primary.5\" : \"white\"}\n styles={{\n label: { textTransform: \"none\", fontWeight: 500 },\n root: {\n ...(!!viewer && {\n paddingLeft: 2,\n }),\n },\n }}\n >\n {viewer?.name ?? \"Sign in & more\"}\n \n \n \n {viewer ? (\n <>\n }\n >\n My account\n \n {/* {viewer.isAdmin && (\n <>\n }\n >\n Admin\n \n \n )} */}\n }\n onClick={() => {\n router.post(\"/logout\", undefined, {\n onSuccess: ({ props }) => {\n const { csrf } = props as unknown as SharedPageProps;\n const link = createApolloLink({\n initialCSRFToken: csrf.token,\n });\n client.setLink(link);\n client.resetStore();\n },\n });\n }}\n >\n Sign out\n \n \n ) : (\n }\n >\n Sign in\n \n )}\n \n }>\n Home\n \n : }\n onClick={() => {\n contactMe();\n }}\n >\n Contact us\n \n \n \n \n Server booted{\" \"}\n {bootedAt ? (\n {bootedAt}\n ) : (\n \n \n 2 minutes ago\n \n \n )}\n \n \n \n \n );\n};\n\nexport default AppMenu;\n","import type { FC } from \"react\";\nimport type { NotificationProps } from \"@mantine/core\";\n\nimport InformationCircleIcon from \"~icons/heroicons/information-circle-20-solid\";\nimport ExclamationTriangleIcon from \"~icons/heroicons/exclamation-triangle-20-solid\";\n\nconst AppFlashNotificationProps: Record> = {\n notice: {\n color: \"var(--mantine-color-primary-filled)\",\n icon: ,\n },\n alert: {\n color: \"var(--mantine-color-red-filled)\",\n icon: ,\n },\n};\n\nconst AppFlash: FC = () => {\n const { flash } = usePageProps();\n useEffect(() => {\n if (flash) {\n Object.entries(flash).forEach(([type, message]) => {\n const props = AppFlashNotificationProps[type];\n showNotification({ message, ...props });\n });\n }\n }, [flash]);\n useWindowEvent(\"popstate\", ({ state }) => {\n if (state instanceof Object && \"props\" in state) {\n const { props } = state;\n invariant(\n props instanceof Object,\n \"Expected `state.props` to be an Object\",\n );\n if (props && \"flash\" in props) {\n delete props.flash;\n }\n }\n });\n return null;\n};\n\nexport default AppFlash;\n","import type { ComponentPropsWithoutRef, FC } from \"react\";\n\nimport { getSize, getSpacing } from \"@mantine/core\";\nimport type { ContainerProps, MantineSize } from \"@mantine/core\";\n\nexport type PageContainerProps = ContainerProps &\n Omit, \"style\"> & {\n readonly withGutter?: boolean;\n readonly gutterSize?: MantineSize | (string & {}) | number;\n };\n\nconst PageContainer: FC = ({\n withGutter,\n gutterSize = \"md\",\n size = \"md\",\n style,\n children,\n ...otherProps\n}) => {\n return (\n {\n const sizeValue = getSize(size, \"container-size\");\n const gutterSizeValue = getSpacing(gutterSize);\n const margin = `clamp(0px, calc((100vw - ${sizeValue}) / 2), ${gutterSizeValue})`;\n return {\n marginTop: margin,\n marginBottom: margin,\n };\n }\n : undefined,\n ]}\n {...{ size }}\n {...otherProps}\n >\n {children}\n \n );\n};\n\nexport default PageContainer;\n","export default \"__VITE_ASSET__DacSPZ0B__\"","import type { FC, ReactNode } from \"react\";\n\nimport { AppShell, Breadcrumbs, Burger, Image } from \"@mantine/core\";\nimport { NAVBAR_VISIBILITY_BREAKPOINT, useNavbar } from \"~/helpers/navbar\";\nimport type { AppShellProps, ContainerProps, MantineSize } from \"@mantine/core\";\n\nimport type { Maybe } from \"~/helpers/graphql\";\nimport type { AppViewerFragment } from \"~/helpers/graphql\";\n\nimport AppMeta from \"./AppMeta\";\nimport type { AppMetaProps } from \"./AppMeta\";\n\nimport AppMenu from \"./AppMenu\";\nimport AppFlash from \"./AppFlash\";\nimport PageContainer from \"./PageContainer\";\nimport PageLayout from \"./PageLayout\";\n\nimport logoSrc from \"~/assets/images/logo.png\";\n\nimport classes from \"./AppLayout.module.css\";\n\nexport type AppLayoutProps = AppMetaProps &\n Omit & {\n readonly viewer: Maybe;\n readonly breadcrumbs?: ReadonlyArray;\n readonly withContainer?: boolean;\n readonly containerSize?: MantineSize | (string & {}) | number;\n readonly containerProps?: ContainerProps;\n readonly withGutter?: boolean;\n readonly gutterSize?: MantineSize | (string & {}) | number;\n readonly navbar?: ReactNode;\n };\n\nexport type AppBreadcrumb = {\n readonly title: string;\n readonly href: string;\n};\n\nconst AppLayout: FC = ({\n viewer,\n title,\n description,\n imageUrl,\n noIndex,\n breadcrumbs,\n withContainer,\n containerSize,\n containerProps,\n withGutter,\n gutterSize,\n navbar,\n padding,\n children,\n ...otherProps\n}) => {\n // == Navbar\n const { opened: navbarOpened, toggle: toggleNavbar } = useNavbar();\n\n // == Breadcrumbs\n const filteredBreadcrumbs = useMemo(\n () => (breadcrumbs?.filter(x => !!x) || []) as AppBreadcrumb[],\n [breadcrumbs],\n );\n\n // == Content\n const content = useMemo(\n () =>\n withContainer ? (\n \n {children}\n \n ) : (\n children\n ),\n [\n withContainer,\n containerSize,\n withGutter,\n gutterSize,\n containerProps,\n children,\n ],\n );\n\n return (\n \n \n \n \n \n \n \n {navbar}\n \n {!isEmpty(filteredBreadcrumbs) && (\n \n {filteredBreadcrumbs.map(({ title, href }, index) => (\n \n {title}\n \n ))}\n \n )}\n {content}\n \n \n \n \n );\n};\n\nexport default AppLayout;\n","import type { ReactElement, ReactNode } from \"react\";\nimport type { Page } from \"@inertiajs/core\";\n\nexport type PageConsumerProps> = {\n children: (page: Page) => ReactNode;\n};\n\nconst PageConsumer = >({\n children,\n}: PageConsumerProps): ReactElement => {\n const data = usePage() as Page;\n const content = useMemo(() => children(data), [children, data]);\n return <>{content};\n};\n\nexport default PageConsumer;\n","import type { ReactNode } from \"react\";\n\nimport PageConsumer from \"~/components/PageConsumer\";\n\nexport type LayoutBuilder = (\n page: ReactNode,\n props: PageProps,\n) => ReactNode;\n\nexport const buildLayout = >(\n fn: LayoutBuilder,\n): ((page: ReactNode) => ReactNode) => {\n const Layout = (page: ReactNode) => (\n >{({ props }) => fn(page, props)}\n );\n return Layout;\n};\n"],"names":["findElementAncestor","element","selector","_element","getPreviousIndex","current","elements","loop","i","getNextIndex","onSameLevel","target","sibling","parentSelector","createScopedKeydownHandler","siblingSelector","onKeyDown","activateOnFocus","dir","orientation","event","_a","node","el","_nextIndex","_previousIndex","nextIndex","previousIndex","last","noop","closeOnEscape","callback","options","createEventHandler","parentEventHandler","eventHandler","getBreakpointValue","breakpoint","theme","px","getSortedBreakpoints","breakpoints","convertedBreakpoints","b","getContextItemIndex","elementSelector","useHovered","hovered","setHovered","useState","DEFAULT_EVENTS","useClickOutside","handler","events","nodes","ref","useRef","useEffect","listener","shouldIgnore","fn","useUncontrolled","value","defaultValue","finalValue","onChange","uncontrolledValue","setUncontrolledValue","handleUncontrolledChange","val","payload","DirectionContext","createContext","useDirection","useContext","activeElement","doc","_activeElement","contains","parent","child","rootNode","isShadowRoot","next","getPlatform","uaData","getUserAgent","_ref","brand","version","isVirtualPointerEvent","isJSDOM","isAndroid","isSafari","re","isMac","isMouseLikePointerType","pointerType","strict","values","isReactEvent","isRootElement","getDocument","isEventTargetWithin","e","getTarget","TYPEABLE_SELECTOR","isTypeableElement","isHTMLElement","useInsertionEffect","React","useSafeInsertionEffect","useEffectEvent","React.useRef","React.useCallback","_len","args","_key","index","useLayoutEffect","serverHandoffComplete","count","genId","useFloatingId","id","setId","React.useState","React.useEffect","useReactId","useId","createPubSub","map","data","_map$get","_map$get2","l","FloatingNodeContext","React.createContext","FloatingTreeContext","useFloatingParentNodeId","_React$useContext","React.useContext","useFloatingTree","createAttribute","name","useLatestRef","safePolygonIdentifier","getDelay","prop","useHover","context","props","open","onOpenChange","dataRef","domReference","floating","refs","enabled","delay","handleClose","mouseOnly","restMs","move","tree","parentId","handleCloseRef","delayRef","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","isHoverOpen","_dataRef$current$open","type","onLeave","html","closeWithDelay","runElseBranch","reason","closeDelay","cleanupMouseMoveHandler","clearPointerEvents","body","isClickLikeOpenEvent","onMouseEnter","openDelay","onMouseLeave","onScrollMouseLeave","isElement","_handleCloseRef$curre","_tree$nodesRef$curren","parentFloating","React.useMemo","setPointerRef","FloatingDelayGroupContext","useDelayGroupContext","FloatingDelayGroup","children","timeoutMs","state","setState","React.useReducer","prev","initialCurrentIdRef","setCurrentId","currentId","React.createElement","useDelayGroup","_ref2","_ref3","initialDelay","unset","timeout","getChildren","allChildren","_node$context","currentChildren","_currentChildren","n","_node$context2","bubbleHandlerKeys","captureHandlerKeys","normalizeProp","normalizable","_normalizable$escapeK","_normalizable$outside","useDismiss","nodeId","reference","escapeKey","unstable_outsidePress","outsidePressEvent","referencePress","referencePressEvent","ancestorScroll","bubbles","capture","outsidePressFn","outsidePress","insideReactTreeRef","endedOrStartedInsideRef","escapeKeyBubbles","outsidePressBubbles","escapeKeyCapture","outsidePressCapture","closeOnEscapeKeyDown","shouldDismiss","_child$context","closeOnEscapeKeyDownCapture","_getTarget2","_getTarget","closeOnPressOutside","insideReactTree","endedOrStartedInside","inertSelector","markers","targetRootAncestor","isLastTraversableNode","nextParent","getParentNode","marker","canScrollX","canScrollY","xCond","getComputedStyle","targetIsInsideChildren","_child$context2","closeOnPressOutsideCapture","_getTarget4","_getTarget3","onScroll","ancestors","getOverflowAncestors","ancestor","_doc$defaultView","useFloating","_options$elements2","unstable_onOpenChange","_domReference","setDomReference","position","useFloating$1","nested","domReferenceRef","floatingId","setPositionReference","positionReference","setReference","useFocus","visibleOnly","blockFocusRef","keyboardModalityRef","win","getWindow","onBlur","relatedTarget","movedToFocusGuard","activeEl","ACTIVE_KEY","SELECTED_KEY","mergeProps","userProps","propsList","elementKey","isItem","domUserProps","_","__","validProps","propsOrGetProps","acc","key","useInteractions","deps","getReferenceProps","getFloatingProps","getItemProps","componentRoleToAriaRoleMap","useRole","_componentRoleToAriaR","role","ariaRole","referenceId","isNested","floatingProps","active","selected","commonProps","getFloatingPosition","side","placement","flippedPosition","horizontalSide","arrowY","arrowOffset","arrowPosition","verticalSide","arrowX","radiusByFloatingSide","getArrowPositionStyles","arrowSize","arrowRadius","baseStyles","rem","arrowPlacement","FloatingArrow","forwardRef","visible","style","others","PopoverContextProvider","usePopoverContext","createSafeContext","classes","defaultProps","PopoverDropdown","factory","_props","useProps","className","vars","onKeyDownCapture","variant","classNames","styles","ctx","returnFocus","useFocusReturn","accessibleProps","mergedRef","useMergedRef","OptionalPortal","Transition","_b","_c","_d","transitionStyles","FocusTrap","Box","PopoverTarget","refProp","popupType","forwardedProps","targetRef","cloneElement","cx","useFloatingAutoUpdate","opened","positionDependencies","delayedUpdate","setDelayedUpdate","autoUpdate","useDidUpdate","c","getDefaultMiddlewares","middlewares","result","getPopoverMiddlewares","getFloating","middlewaresOptions","offset","shift","limitShift","flip","inline","arrow","size","rects","availableWidth","availableHeight","usePopover","_opened","setOpened","onClose","onToggle","getDefaultZIndex","varsResolver","createVarsResolver","radius","shadow","getRadius","getShadow","Popover","onPositionChange","transitionProps","width","withArrow","unstyled","closeOnClickOutside","withinPortal","portalProps","clickOutsideEvents","trapFocus","onOpen","zIndex","defaultOpened","__staticSelector","withRoles","disabled","keepMounted","floatingStrategy","getStyles","useStyles","arrowRef","targetNode","setTargetNode","dropdownNode","setDropdownNode","uid","popover","useCallback","_f","_e","input","AppShellProvider","useAppShellContext","AppShellAside","withBorder","mod","AppShellFooter","RemoveScroll","AppShellHeader","AppShellMain","getBaseSize","isPrimitiveSize","isBaseSize","isResponsiveSize","assignAsideVariables","minMediaStyles","maxMediaStyles","aside","asideWidth","collapsedAsideTransform","collapsedAsideTransformRtl","baseSize","keys","breakpointValue","assignFooterVariables","footer","footerHeight","collapsedFooterTransform","shouldOffset","assignHeaderVariables","header","headerHeight","collapsedHeaderTransform","assignNavbarVariables","navbar","navbarWidth","collapsedNavbarTransform","collapsedNavbarTransformRtl","getPaddingValue","padding","getSpacing","assignPaddingVariables","getVariables","minMedia","em","maxMedia","media","AppShellMediaStyles","useMantineTheme","useMantineContext","InlineStyles","AppShellNavbar","AppShellSection","polymorphicFactory","grow","useResizing","transitionDuration","resizing","setResizing","resizingTimeout","disabledTimeout","useWindowEvent","useIsomorphicEffect","startTransition","transitionTimingFunction","AppShell","layout","offsetScrollbars","AvatarGroupContext","AvatarGroupProvider","useAvatarGroupContext","spacing","AvatarGroup","AvatarPlaceholderIcon","gradient","color","autoContrast","colors","getSize","Avatar","src","alt","imageProps","error","setError","getThemeColor","Badge","leftSection","rightSection","fullWidth","circle","separatorMargin","Breadcrumbs","separator","items","array","item","Burger","UnstyledButton","fluid","Container","useDelayedHover","close","openTimeout","closeTimeout","clearTimeouts","openDropdown","closeDropdown","fit","Image","onError","fallbackSrc","MenuContextProvider","useMenuContext","MenuDivider","MenuDropdown","wrapperRef","handleKeyDown","handleMouseEnter","handleMouseLeave","MenuItem","closeMenuOnClick","itemRef","itemIndex","_others","handleClick","handleFocus","parsedThemeColor","parseThemeColor","MenuLabel","MenuTarget","onClick","Menu","closeOnItemClick","trigger","menuItemTabIndex","resetHovered","openedViaClick","setOpenedViaClick","toggleDropdown","getItemIndex","resolvedClassNames","resolvedStyles","useResolvedStylesApi","height","Skeleton","animate","gap","align","justify","Stack","didWarnUncachedGetSnapshot","uSESKey","realHook","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","invariant","inst","forceUpdate","canUseLayoutEffect","React.useLayoutEffect","checkIfSnapshotChanged","DocumentType","cache","operationName","parser","document","AutoCleanedWeakCache","cacheSizes","cached","variables","fragments","queries","mutations","subscriptions","_i","x","definitions","definition","registerGlobalCache","verifyDocumentType","operation","requiredOperationName","usedOperationName","wrapperSymbol","wrapHook","hookName","useHook","clientOrObsQuery","queryManager","wrappers","wrapper","hasOwnProperty","useQuery","query","_useQuery","useApolloClient","useInternalState","client","stateRef","InternalState","tick","previous","_this","maybeDeepFreeze","NetworkStatus","canUseWeakMap","previousResult","previousData","concast","resolve","getApolloContext","obsQuery","handleStoreChange","onNext","equal","subscription","watchQueryOptions","currentWatchQueryOptions","toMerge","globalDefaults","compact","mergeOptions","skip","otherOptions","__rest","fetchPolicy","initialFetchPolicy","ssrAllowed","nextResult","error_1","isNonEmptyArray","ApolloError","queryResult","resultWithoutPartial","__assign","EAGER_METHODS","useLazyQuery","execOptionsRef","optionsRef","queryRef","merged","internalState","useQueryResult","eagerMethods","_loop_1","method","EAGER_METHODS_1","execute","executeOptions","promise","head","mapTag","setTag","objectProto","isEmpty","isArrayLike","isArray","isBuffer","isTypedArray","isArguments","tag","getTag","isPrototype","baseKeys","isUndefined","SEC_ARRAY","toDate","formatDiff","diff","localeFunc","agoIn","totalSec","idx","diffSec","date","relativeDate","relDate","format","locale","opts","sec","getLocale","TimeAgo","otherProps","useMemo","DateTime","text","setText","formatTimeAgo","interval","Text","AppMenuQueryDocument","AvatarFieldQueryDocument","ContactEmailQueryDocument","CreateChunkMutationDocument","CreateSegmentMutationDocument","CreateThreadMutationDocument","GraphPageRecentQuotesQueryDocument","HomePageDeepgramApiKeyQueryDocument","HomePageThreadSegmentsSubscriptionDocument","PasswordWithStrengthCheckInputQueryDocument","RefinishSegmentMutationDocument","RegenerateSegmentResponseMutationDocument","RequestUserEmailVerificationMutationDocument","RequestUserPasswordResetMutationDocument","SegmentResponsePopoverQueryDocument","TestFeedSubscriptionDocument","TestMutationMutationDocument","ThreadsNavbarCurrentThreadUpdatedSubscriptionDocument","ThreadsNavbarQueryDocument","ThreadsNavbarThreadCreatedSubscriptionDocument","UpdateUserEmailMutationDocument","UpdateUserProfileMutationDocument","V0CreateChunkMutationDocument","V0CreateSessionMutationDocument","V0HomePageActiveSessionSubscriptionDocument","V0HomePageLatestSessionSubscriptionDocument","V0HomePageRecentSessionsQueryDocument","formatError","message","ApolloErrorMessage","graphQLErrors","networkError","graphQLError","first","statusCode","requireMeta","jsxs","Fragment","jsx","Anchor","showAlert","showNotification","ExclamationTriangleIcon","showNotice","InformationCircleIcon","useApolloAlertCallback","title","formatJSON","omitBy","useContactMe","runQuery","loading","called","optionsOverride","combinedOptions","contactUrl","email","url","params","AppMenu","viewer","router","useRouter","contactMe","loadingContactMe","onLoadServerInfoError","serverInfoData","bootedAt","UserIcon","Link","SettingsIcon","SignOutIcon","csrf","link","createApolloLink","SignInIcon","HomeIcon","Loader","SendIcon","AppFlashNotificationProps","AppFlash","flash","usePageProps","PageContainer","withGutter","gutterSize","sizeValue","gutterSizeValue","margin","logoSrc","AppLayout","description","imageUrl","noIndex","breadcrumbs","withContainer","containerSize","containerProps","navbarOpened","toggleNavbar","useNavbar","filteredBreadcrumbs","content","PageLayout","AppMeta","NAVBAR_VISIBILITY_BREAKPOINT","Group","Button","href","PageConsumer","usePage","buildLayout","page"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]}