{"version":3,"file":"static/chunks/1262.3fa1620c54e79e10.js","mappings":"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","sources":["webpack://_N_E/./node_modules/ariakit-react-utils/esm/hooks.js","webpack://_N_E/./node_modules/ariakit-react-utils/esm/misc.js","webpack://_N_E/./node_modules/ariakit-react-utils/esm/system.js","webpack://_N_E/./node_modules/ariakit-utils/esm/dom.js","webpack://_N_E/./node_modules/ariakit-utils/esm/events.js","webpack://_N_E/./node_modules/ariakit-utils/esm/focus.js","webpack://_N_E/./node_modules/ariakit-utils/esm/misc.js","webpack://_N_E/./node_modules/ariakit-utils/esm/platform.js","webpack://_N_E/./node_modules/ariakit/esm/__utils-fc7746f4.js","webpack://_N_E/./node_modules/ariakit/esm/command/command.js","webpack://_N_E/./node_modules/ariakit/esm/button/button.js","webpack://_N_E/./node_modules/ariakit/esm/dialog-context-a736b58f.js","webpack://_N_E/./node_modules/ariakit/esm/disclosure/disclosure-state.js","webpack://_N_E/./node_modules/ariakit/esm/dialog/dialog-state.js","webpack://_N_E/./node_modules/ariakit/esm/disclosure/disclosure-content.js","webpack://_N_E/./node_modules/ariakit/esm/visually-hidden/visually-hidden.js","webpack://_N_E/./node_modules/ariakit/esm/focus-trap/focus-trap.js","webpack://_N_E/./node_modules/ariakit/esm/focus-trap/focus-trap-region.js","webpack://_N_E/./node_modules/ariakit/esm/heading/heading-level.js","webpack://_N_E/./node_modules/ariakit/esm/portal/portal-context.js","webpack://_N_E/./node_modules/ariakit/esm/portal/portal.js","webpack://_N_E/./node_modules/ariakit/esm/dialog/dialog.js","webpack://_N_E/./node_modules/ariakit/esm/focusable/focusable.js","webpack://_N_E/./node_modules/classnames/index.js","webpack://_N_E/./node_modules/lodash/_Symbol.js","webpack://_N_E/./node_modules/lodash/_baseGetTag.js","webpack://_N_E/./node_modules/lodash/_baseTrim.js","webpack://_N_E/./node_modules/lodash/_freeGlobal.js","webpack://_N_E/./node_modules/lodash/_getRawTag.js","webpack://_N_E/./node_modules/lodash/_objectToString.js","webpack://_N_E/./node_modules/lodash/_root.js","webpack://_N_E/./node_modules/lodash/_trimmedEndIndex.js","webpack://_N_E/./node_modules/lodash/debounce.js","webpack://_N_E/./node_modules/lodash/isObject.js","webpack://_N_E/./node_modules/lodash/isObjectLike.js","webpack://_N_E/./node_modules/lodash/isSymbol.js","webpack://_N_E/./node_modules/lodash/now.js","webpack://_N_E/./node_modules/lodash/toNumber.js","webpack://_N_E/./node_modules/next/dist/client/get-domain-locale.js","webpack://_N_E/./node_modules/next/dist/client/image.js","webpack://_N_E/./node_modules/next/dist/client/link.js","webpack://_N_E/./node_modules/next/dist/client/normalize-locale-path.js","webpack://_N_E/./node_modules/next/dist/client/use-intersection.js","webpack://_N_E/./node_modules/next/dist/shared/lib/image-blur-svg.js","webpack://_N_E/./node_modules/next/dist/shared/lib/image-loader.js","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/image.js","webpack://_N_E/./node_modules/next/link.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/./node_modules/uuid/dist/esm-browser/native.js","webpack://_N_E/./node_modules/uuid/dist/esm-browser/rng.js","webpack://_N_E/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://_N_E/./node_modules/uuid/dist/esm-browser/v4.js","webpack://_N_E/./node_modules/@swc/helpers/src/_array_like_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_iterable_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_spread_props.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_without_properties_loose.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_without_properties.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_array_with_holes.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_non_iterable_rest.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_sliced_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_array_without_holes.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_non_iterable_spread.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_to_consumable_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs","webpack://_N_E/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://_N_E/"],"sourcesContent":["import * as React from 'react';\nimport { useLayoutEffect, useEffect, useState, useRef, useCallback, useMemo, useReducer } from 'react';\nimport { canUseDOM } from 'ariakit-utils/dom';\nimport { addGlobalEventListener } from 'ariakit-utils/events';\nimport { applyState } from 'ariakit-utils/misc';\nimport { setRef } from './misc.js';\n\n// @ts-ignore Access React v18 hooks using string concatenation in order to\n// prevent Webpack from inferring that they are not present in React v17. For\n// example, React.useId will raise a compile time error when using React v17,\n// but React['use' + 'Id'] will not.\nconst useReactId = React[\"use\" + \"Id\"];\n// @ts-ignore\nconst useReactDeferredValue = React[\"use\" + \"DeferredValue\"];\n// @ts-ignore\nconst useInsertionEffect = React[\"use\" + \"InsertionEffect\"];\n\n/**\n * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side.\n */\nconst useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\n/**\n * Returns a value that never changes even if the argument is updated.\n * @example\n * function Component({ prop }) {\n * const initialProp = useInitialValue(prop);\n * }\n */\nfunction useInitialValue(value) {\n const [initialValue] = useState(value);\n return initialValue;\n}\n\n/**\n * Returns a value that is lazily initiated and never changes.\n * @example\n * function Component() {\n * const set = useLazyValue(() => new Set());\n * }\n */\nfunction useLazyValue(init) {\n const ref = useRef();\n if (ref.current === undefined) {\n ref.current = init();\n }\n return ref.current;\n}\n\n/**\n * Creates a `React.RefObject` that is constantly updated with the incoming\n * value.\n * @example\n * function Component({ prop }) {\n * const propRef = useLiveRef(prop);\n * }\n */\nfunction useLiveRef(value) {\n const ref = useRef(value);\n useSafeLayoutEffect(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Keeps the reference of the previous value to be used in the render phase.\n */\nfunction usePreviousValue(value) {\n const [previousValue, setPreviousValue] = useState(value);\n if (value !== previousValue) {\n setPreviousValue(value);\n }\n return previousValue;\n}\n\n/**\n * Creates a stable callback function that has access to the latest state and\n * can be used within event handlers and effect callbacks. Throws when used in\n * the render phase.\n * @example\n * function Component(props) {\n * const onClick = useEvent(props.onClick);\n * React.useEffect(() => {}, [onClick]);\n * }\n */\nfunction useEvent(callback) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n if (useInsertionEffect) {\n useInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n ref.current = callback;\n }\n return 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?.(...args);\n }, []);\n}\n\n/**\n * Merges React Refs into a single memoized function ref so you can pass it to\n * an element.\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const internalRef = React.useRef();\n * return
;\n * });\n */\nfunction useForkRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(() => {\n if (!refs.some(Boolean)) return;\n return value => {\n refs.forEach(ref => {\n setRef(ref, value);\n });\n };\n }, refs);\n}\n\n/**\n * Returns the ref element's ID.\n */\nfunction useRefId(ref, deps) {\n const [id, setId] = useState(undefined);\n useSafeLayoutEffect(() => {\n setId(ref?.current?.id);\n }, deps);\n return id;\n}\n\n/**\n * Generates a unique ID. Uses React's useId if available.\n */\nfunction useId(defaultId) {\n if (useReactId) {\n const reactId = useReactId();\n if (defaultId) return defaultId;\n return reactId;\n }\n const [id, setId] = useState(defaultId);\n useSafeLayoutEffect(() => {\n if (defaultId || id) return;\n const random = Math.random().toString(36).substr(2, 6);\n setId(`id-${random}`);\n }, [defaultId, id]);\n return defaultId || id;\n}\n\n/**\n * Uses React's useDeferredValue if available.\n */\nfunction useDeferredValue(value) {\n if (useReactDeferredValue) {\n return useReactDeferredValue(value);\n }\n const [deferredValue, setDeferredValue] = useState(value);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setDeferredValue(value));\n return () => cancelAnimationFrame(raf);\n }, [value]);\n return deferredValue;\n}\n\n/**\n * Returns the tag name by parsing an element ref and the `as` prop.\n * @example\n * function Component(props) {\n * const ref = React.useRef();\n * const tagName = useTagName(ref, \"button\"); // div\n * return
;\n * }\n */\nfunction useTagName(ref, type) {\n const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n useSafeLayoutEffect(() => {\n setTagName(ref?.current?.tagName.toLowerCase() || stringOrUndefined(type));\n }, [ref, type]);\n return tagName;\n}\nfunction stringOrUndefined(type) {\n if (typeof type === \"string\") {\n return type;\n }\n return;\n}\n\n/**\n * A `React.useEffect` that will not run on the first render.\n */\nfunction useUpdateEffect(effect, deps) {\n const mounted = useRef(false);\n useEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n\n/**\n * A `React.useLayoutEffect` that will not run on the first render.\n */\nfunction useUpdateLayoutEffect(effect, deps) {\n const mounted = useRef(false);\n useSafeLayoutEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useSafeLayoutEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n\n/**\n * A custom version of `React.useState` that uses the `state` and `setState`\n * arguments. If they're not provided, it will use the internal state.\n */\nfunction useControlledState(defaultState, state, setState) {\n const [localState, setLocalState] = useState(defaultState);\n const nextState = state !== undefined ? state : localState;\n const stateRef = useLiveRef(state);\n const setStateRef = useLiveRef(setState);\n const nextStateRef = useLiveRef(nextState);\n const setNextState = useCallback(prevValue => {\n const setStateProp = setStateRef.current;\n if (setStateProp) {\n if (isSetNextState(setStateProp)) {\n setStateProp(prevValue);\n } else {\n const nextValue = applyState(prevValue, nextStateRef.current);\n nextStateRef.current = nextValue;\n setStateProp(nextValue);\n }\n }\n if (stateRef.current === undefined) {\n setLocalState(prevValue);\n }\n }, []);\n defineSetNextState(setNextState);\n return [nextState, setNextState];\n}\nconst SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n if (!isSetNextState(arg)) {\n Object.defineProperty(arg, SET_NEXT_STATE, {\n value: true\n });\n }\n}\n\n/**\n * A React hook similar to `useState` and `useReducer`, but with the only\n * purpose of re-rendering the component.\n */\nfunction useForceUpdate() {\n return useReducer(() => [], []);\n}\n\n/**\n * Returns an event callback similar to `useEvent`, but this also accepts a\n * boolean value, which will be turned into a function.\n */\nfunction useBooleanEvent(booleanOrCallback) {\n return useEvent(typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback);\n}\n\n/**\n * Returns props with an additional `wrapElement` prop.\n */\nfunction useWrapElement(props, callback, deps) {\n if (deps === void 0) {\n deps = [];\n }\n const wrapElement = useCallback(element => {\n if (props.wrapElement) {\n element = props.wrapElement(element);\n }\n return callback(element);\n }, [...deps, props.wrapElement]);\n return {\n ...props,\n wrapElement\n };\n}\n\n/**\n * Merges the portalRef prop and returns a `domReady` to be used in the\n * components that use Portal underneath.\n */\nfunction usePortalRef(portalProp, portalRefProp) {\n if (portalProp === void 0) {\n portalProp = false;\n }\n const [portalNode, setPortalNode] = useState(null);\n const portalRef = useForkRef(setPortalNode, portalRefProp);\n const domReady = !portalProp || portalNode;\n return {\n portalRef,\n portalNode,\n domReady\n };\n}\n\n/**\n * Returns a function that checks whether the mouse is moving.\n */\nfunction useIsMouseMoving() {\n useEffect(() => {\n // We're not returning the event listener cleanup function here because we\n // may lose some events if this component is unmounted, but others are\n // still mounted.\n addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n // See https://github.com/ariakit/ariakit/issues/1137\n addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n }, []);\n const isMouseMoving = useEvent(() => mouseMoving);\n return isMouseMoving;\n}\nlet mouseMoving = false;\nlet previousScreenX = 0;\nlet previousScreenY = 0;\nfunction hasMouseMovement(event) {\n const movementX = event.movementX || event.screenX - previousScreenX;\n const movementY = event.movementY || event.screenY - previousScreenY;\n previousScreenX = event.screenX;\n previousScreenY = event.screenY;\n return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n if (!hasMouseMovement(event)) return;\n mouseMoving = true;\n}\nfunction resetMouseMoving() {\n mouseMoving = false;\n}\n\nexport { useBooleanEvent, useControlledState, useDeferredValue, useEvent, useForceUpdate, useForkRef, useId, useInitialValue, useIsMouseMoving, useLazyValue, useLiveRef, usePortalRef, usePreviousValue, useRefId, useSafeLayoutEffect, useTagName, useUpdateEffect, useUpdateLayoutEffect, useWrapElement };\n","/**\n * Sets both a function and object React ref.\n */\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport { setRef };\n","import { forwardRef } from 'react';\nimport { hasOwnProperty } from 'ariakit-utils/misc';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction isRenderProp(children) {\n return typeof children === \"function\";\n}\n\n/**\n * Creates a type-safe component with the `as` prop and `React.forwardRef`.\n *\n * @example\n * import { createComponent } from \"ariakit-react-utils/system\";\n *\n * type Props = {\n * as?: \"div\";\n * customProp?: boolean;\n * };\n *\n * const Component = createComponent(({ customProp, ...props }) => {\n * return
;\n * });\n *\n * \n */\nfunction createComponent(render) {\n const Role = (props, ref) => render({\n ref,\n ...props\n });\n return /*#__PURE__*/forwardRef(Role);\n}\n\n/**\n * Creates a React element that supports the `as` prop, children as a\n * function (render props) and a `wrapElement` function.\n *\n * @example\n * import { createElement } from \"ariakit-react-utils/system\";\n *\n * function Component() {\n * const props = {\n * as: \"button\" as const,\n * children: (htmlProps) => \n * ```\n */\nconst Button = createComponent(props => {\n const htmlProps = useButton(props);\n return createElement(\"button\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Button.displayName = \"Button\";\n}\n\nexport { Button, useButton };\n","import { createContext } from 'react';\n\nconst DialogContext = /*#__PURE__*/createContext(undefined);\nconst DialogHeadingContext = /*#__PURE__*/createContext(undefined);\nconst DialogDescriptionContext = /*#__PURE__*/createContext(undefined);\n\nexport { DialogContext as D, DialogHeadingContext as a, DialogDescriptionContext as b };\n","import { useRef, useState, useCallback, useMemo } from 'react';\nimport { useControlledState, usePreviousValue } from 'ariakit-react-utils/hooks';\n\n/**\n * Provides state for the `Disclosure` components.\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\nfunction useDisclosureState(_temp) {\n let {\n animated = false,\n ...props\n } = _temp === void 0 ? {} : _temp;\n const disclosureRef = useRef(null);\n const [open, setOpen] = useControlledState(props.defaultOpen ?? false, props.open, props.setOpen);\n const [contentElement, setContentElement] = useState(null);\n const [animating, setAnimating] = useState(!!animated && open);\n const prevOpen = usePreviousValue(open);\n const mounted = open || animating;\n if (animated && !animating && prevOpen !== open) {\n setAnimating(true);\n }\n const show = useCallback(() => setOpen(true), [setOpen]);\n const hide = useCallback(() => setOpen(false), [setOpen]);\n const toggle = useCallback(() => setOpen(v => !v), [setOpen]);\n const stopAnimation = useCallback(() => setAnimating(false), []);\n const state = useMemo(() => ({\n disclosureRef,\n open,\n mounted,\n animated,\n animating,\n contentElement,\n setContentElement,\n setOpen,\n show,\n hide,\n toggle,\n stopAnimation\n }), [open, mounted, animated, animating, contentElement, setContentElement, setOpen, show, hide, toggle, stopAnimation]);\n return state;\n}\n\nexport { useDisclosureState };\n","import { useDisclosureState } from '../disclosure/disclosure-state.js';\n\n/**\n * Provides state for the `Dialog` components.\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Content\n * ```\n */\nfunction useDialogState(props) {\n if (props === void 0) {\n props = {};\n }\n const disclosure = useDisclosureState(props);\n return disclosure;\n}\n\nexport { useDialogState };\n","import { useState } from 'react';\nimport { useId, useSafeLayoutEffect, useForkRef } from 'ariakit-react-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { flushSync } from 'react-dom';\n\nfunction afterTimeout(timeoutMs, cb) {\n const timeoutId = setTimeout(cb, timeoutMs);\n return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime() {\n for (var _len = arguments.length, times = new Array(_len), _key = 0; _key < _len; _key++) {\n times[_key] = arguments[_key];\n }\n return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n const currentTime = parseFloat(currentTimeString || \"0s\") * 1000;\n // When multiple times are specified, we want to use the longest one so we\n // wait until the longest transition has finished.\n if (currentTime > longestTime) return currentTime;\n return longestTime;\n }, 0);\n}\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const state = useDisclosureState();\n * const props = useDisclosureContent({ state });\n * Disclosure\n * Content\n * ```\n */\nconst useDisclosureContent = createHook(_ref => {\n let {\n state,\n ...props\n } = _ref;\n const id = useId(props.id);\n const [transition, setTransition] = useState(null);\n useSafeLayoutEffect(() => {\n if (!state.animated) return;\n // When the disclosure content element is rendered in a portal, we need to\n // wait for the portal to be mounted and connected to the DOM before we\n // can start the animation.\n if (!state.contentElement?.isConnected) {\n setTransition(null);\n return;\n }\n // Double requestAnimationFrame is necessary here to avoid potential bugs\n // when the data attribute is added before the element is fully rendered\n // in the DOM, which wouldn't trigger the animation.\n return afterPaint(() => {\n setTransition(state.open ? \"enter\" : \"leave\");\n });\n }, [state.animated, state.contentElement, state.open]);\n useSafeLayoutEffect(() => {\n if (!state.animated) return;\n if (!state.contentElement) return;\n if (!transition) return;\n if (transition === \"enter\" && !state.open) return;\n if (transition === \"leave\" && state.open) return;\n // When the animated state is a number, the user has manually set the\n // animation timeout, so we just respect it.\n if (typeof state.animated === \"number\") {\n const timeoutMs = state.animated;\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n }\n // Otherwise, we need to parse the CSS transition/animation duration and\n // delay to know when the animation ends. This is safer than relying on\n // the transitionend/animationend events because it's not guaranteed that\n // these events will fire. For example, if the element is removed from the\n // DOM before the animation ends or if the animation wasn't triggered in\n // the first place, the events won't fire.\n const {\n transitionDuration,\n animationDuration,\n transitionDelay,\n animationDelay\n } = getComputedStyle(state.contentElement);\n const delay = parseCSSTime(transitionDelay, animationDelay);\n const duration = parseCSSTime(transitionDuration, animationDuration);\n const timeoutMs = delay + duration;\n // If the animation/transition delay and duration are 0, this means the\n // element is not animated with CSS (they may be using framer-motion,\n // react-spring, or something else). In this case, the user is responsible\n // for calling `stopAnimation` when the animation ends.\n if (!timeoutMs) return;\n // TODO: We should probably warn if `stopAnimation` hasn't been called\n // after X seconds.\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n }, [state.animated, state.contentElement, transition, state.open, state.stopAnimation]);\n const style = state.mounted || props.hidden === false ? props.style : {\n ...props.style,\n display: \"none\"\n };\n props = {\n id,\n \"data-enter\": transition === \"enter\" ? \"\" : undefined,\n \"data-leave\": transition === \"leave\" ? \"\" : undefined,\n hidden: !state.mounted,\n ...props,\n ref: useForkRef(id ? state.setContentElement : null, props.ref),\n style\n };\n return props;\n});\n\n/**\n * A component that renders an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\nconst DisclosureContent = createComponent(props => {\n const htmlProps = useDisclosureContent(props);\n return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport { DisclosureContent, useDisclosureContent };\n","import { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component. When applying the props returned by this hook to a\n * component, the component will be visually hidden, but still accessible to\n * screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * const props = useVisuallyHidden();\n * \n * Learn more about the Solar System.\n * \n * ```\n */\nconst useVisuallyHidden = createHook(props => {\n props = {\n ...props,\n style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n ...props.style\n }\n };\n return props;\n});\n\n/**\n * A component that renders an element that's visually hidden, but still\n * accessible to screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * \n * Learn more about the Solar System.\n * \n * ```\n */\nconst VisuallyHidden = createComponent(props => {\n const htmlProps = useVisuallyHidden(props);\n return createElement(\"span\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n}\n\nexport { VisuallyHidden, useVisuallyHidden };\n","import { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { useVisuallyHidden } from '../visually-hidden/visually-hidden.js';\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * const props = useFocusTrap();\n * \n * ```\n */\nconst useFocusTrap = createHook(props => {\n props = {\n \"data-focus-trap\": \"\",\n tabIndex: 0,\n \"aria-hidden\": true,\n ...props,\n style: {\n // Prevents unintended scroll jumps.\n position: \"fixed\",\n top: 0,\n left: 0,\n ...props.style\n }\n };\n props = useVisuallyHidden(props);\n return props;\n});\n\n/**\n * A component that renders a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * \n * ```\n */\nconst FocusTrap = createComponent(props => {\n const htmlProps = useFocusTrap(props);\n return createElement(\"span\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrap.displayName = \"FocusTrap\";\n}\n\nexport { FocusTrap, useFocusTrap };\n","import { useRef } from 'react';\nimport { useWrapElement, useForkRef } from 'ariakit-react-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { getAllTabbableIn } from 'ariakit-utils/focus';\nimport { FocusTrap } from './focus-trap.js';\nimport { jsxs, Fragment, jsx } from 'react/jsx-runtime';\n\nconst useFocusTrapRegion = createHook(_ref => {\n let {\n enabled = false,\n ...props\n } = _ref;\n const ref = useRef(null);\n props = useWrapElement(props, element => {\n const renderFocusTrap = () => {\n if (!enabled) return null;\n return /*#__PURE__*/jsx(FocusTrap, {\n onFocus: event => {\n const container = ref.current;\n if (!container) return;\n const tabbables = getAllTabbableIn(container, true);\n const first = tabbables[0];\n const last = tabbables[tabbables.length - 1];\n // Fallbacks to the container element\n if (!tabbables.length) {\n container.focus();\n return;\n }\n if (event.relatedTarget === first) {\n last?.focus();\n } else {\n first?.focus();\n }\n }\n });\n };\n return /*#__PURE__*/jsxs(Fragment, {\n children: [renderFocusTrap(), element, renderFocusTrap()]\n });\n }, [enabled]);\n props = {\n ...props,\n ref: useForkRef(ref, props.ref)\n };\n return props;\n});\n\n/**\n * A component that renders a focus trap region element.\n * @see https://ariakit.org/components/focus-trap-region\n * @example\n * ```jsx\n * \n * \n * \n * \n * \n * ```\n */\nconst FocusTrapRegion = createComponent(props => {\n const htmlProps = useFocusTrapRegion(props);\n return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrapRegion.displayName = \"FocusTrapRegion\";\n}\n\nexport { FocusTrapRegion, useFocusTrapRegion };\n","import { useContext } from 'react';\nimport { H as HeadingContext } from '../__utils-fc7746f4.js';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction HeadingLevel(_ref) {\n let {\n level,\n children\n } = _ref;\n const contextLevel = useContext(HeadingContext);\n const nextLevel = Math.max(Math.min(level || contextLevel + 1, 6), 1);\n return /*#__PURE__*/jsx(HeadingContext.Provider, {\n value: nextLevel,\n children: children\n });\n}\n\nexport { HeadingLevel };\n","import { createContext } from 'react';\n\n/**\n * Stores the element that will contain the portal. By default, it will be the\n * body of the document.\n * @example\n * ```jsx\n * const container = document.getElementById(\"container\");\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n * ```\n */\nconst PortalContext = /*#__PURE__*/createContext(null);\n\nexport { PortalContext };\n","import { useRef, useContext, useState, useEffect } from 'react';\nimport { useForkRef, useSafeLayoutEffect, useWrapElement } from 'ariakit-react-utils/hooks';\nimport { setRef } from 'ariakit-react-utils/misc';\nimport { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { getDocument } from 'ariakit-utils/dom';\nimport { isFocusEventOutside } from 'ariakit-utils/events';\nimport { getNextTabbable, getPreviousTabbable, restoreFocusIn, disableFocusIn } from 'ariakit-utils/focus';\nimport { queueMicrotask } from 'ariakit-utils/misc';\nimport { createPortal } from 'react-dom';\nimport { PortalContext } from './portal-context.js';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { FocusTrap } from '../focus-trap/focus-trap.js';\n\nfunction getRootElement(element) {\n return getDocument(element).body;\n}\nfunction getPortalElement(element, portalElement) {\n if (!portalElement) {\n return getDocument(element).createElement(\"div\");\n }\n if (typeof portalElement === \"function\") {\n return portalElement(element);\n }\n return portalElement;\n}\nfunction getRandomId(prefix) {\n if (prefix === void 0) {\n prefix = \"id\";\n }\n return `${prefix ? `${prefix}-` : \"\"}${Math.random().toString(36).substr(2, 6)}`;\n}\nfunction queueFocus(element) {\n queueMicrotask(() => {\n element?.focus();\n });\n}\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * const props = usePortal();\n * Content\n * ```\n */\nconst usePortal = createHook(_ref => {\n let {\n preserveTabOrder,\n portalElement,\n portalRef,\n portal = true,\n ...props\n } = _ref;\n const ref = useRef(null);\n const refProp = useForkRef(ref, props.ref);\n const context = useContext(PortalContext);\n const [portalNode, setPortalNode] = useState(null);\n const beforeOutsideRef = useRef(null);\n const beforeInsideRef = useRef(null);\n const afterInsideRef = useRef(null);\n const afterOutsideRef = useRef(null);\n\n // Create the portal node and attach it to the DOM.\n useSafeLayoutEffect(() => {\n const element = ref.current;\n if (!element || !portal) {\n setPortalNode(null);\n return;\n }\n const portalEl = getPortalElement(element, portalElement);\n // TODO: Warn about portals as the document.body element.\n if (!portalEl) {\n setPortalNode(null);\n return;\n }\n const isPortalInDocument = portalEl.isConnected;\n if (!isPortalInDocument) {\n const rootElement = context || getRootElement(element);\n rootElement.appendChild(portalEl);\n }\n // If the portal element doesn't have an id already, set one.\n if (!portalEl.id) {\n // Use the element's id so rendering will\n // produce predictable results.\n portalEl.id = element.id ? `${element.id}-portal` : getRandomId();\n }\n // Set the internal portal node state and the portalRef prop.\n setPortalNode(portalEl);\n setRef(portalRef, portalEl);\n // If the portal element was already in the document, we don't need to\n // remove it when the element is unmounted, so we just return.\n if (isPortalInDocument) return;\n // Otherwise, we need to remove the portal from the DOM.\n return () => {\n portalEl.remove();\n setRef(portalRef, null);\n };\n }, [portal, portalElement, context, portalRef]);\n\n // When preserveTabOrder is true, make sure elements inside the portal\n // element are tabbable only when the portal has already been focused,\n // either by tabbing into a focus trap element outside or using the mouse.\n useEffect(() => {\n if (!portalNode) return;\n if (!preserveTabOrder) return;\n let raf = 0;\n const onFocus = event => {\n if (isFocusEventOutside(event)) {\n const focusing = event.type === \"focusin\";\n if (focusing) return restoreFocusIn(portalNode);\n // Wait for the next frame to allow tabindex changes after the focus\n // event.\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n disableFocusIn(portalNode, true);\n });\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]);\n props = useWrapElement(props, element => {\n element =\n /*#__PURE__*/\n // While the portal node is not in the DOM, we need to pass the\n // current context to the portal context, otherwise it's going to\n // reset to the body element on nested portals.\n jsx(PortalContext.Provider, {\n value: portalNode || context,\n children: element\n });\n if (!portal) return element;\n if (!portalNode) {\n // If the element should be rendered within a portal, but the portal\n // node is not yet in the DOM, we'll return an empty div element. We\n // assign the id to the element so we can use it to set the portal id\n // later on. We're using position: fixed here so that the browser\n // doesn't add margin to the element when setting gap on a parent\n // element.\n return /*#__PURE__*/jsx(\"span\", {\n ref: refProp,\n id: props.id,\n style: {\n position: \"fixed\"\n }\n });\n }\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n const nextFocusableElement = getNextTabbable();\n\n // When no other focusable element is found, prevent the focus trap\n // to focus on each other which leads to an infinite loop.\n // See https://github.com/ariakit/ariakit/issues/2168\n if (nextFocusableElement !== afterInsideRef.current) {\n queueFocus(nextFocusableElement);\n }\n } else {\n queueFocus(beforeOutsideRef.current);\n }\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n const previousFocusableElement = getPreviousTabbable();\n\n // When no other focusable element is found, prevent the focus trap\n // to focus on each other which leads to an infinite loop.\n // See https://github.com/ariakit/ariakit/issues/2168\n if (previousFocusableElement !== beforeInsideRef.current) {\n queueFocus(previousFocusableElement);\n }\n } else {\n queueFocus(afterOutsideRef.current);\n }\n }\n })]\n });\n if (portalNode) {\n element = /*#__PURE__*/createPortal(element, portalNode);\n }\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(beforeInsideRef.current);\n } else {\n queueFocus(getPreviousTabbable());\n }\n }\n }), preserveTabOrder &&\n /*#__PURE__*/\n // We're using position: fixed here so that the browser doesn't\n // add margin to the element when setting gap on a parent element.\n jsx(\"span\", {\n \"aria-owns\": portalNode?.id,\n style: {\n position: \"fixed\"\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(afterInsideRef.current);\n } else {\n queueFocus(getNextTabbable());\n }\n }\n })]\n });\n return element;\n }, [portalNode, context, portal, props.id, preserveTabOrder]);\n props = {\n ...props,\n ref: refProp\n };\n return props;\n});\n\n/**\n * A component that renders an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * Content\n * ```\n */\nconst Portal = createComponent(props => {\n const htmlProps = usePortal(props);\n return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n}\n\nexport { Portal, usePortal };\n","import { useRef, useEffect, useMemo, useCallback, useContext, useState, createContext } from 'react';\nimport { useSafeLayoutEffect, useBooleanEvent, useEvent, useForkRef, useForceUpdate, useLiveRef, usePortalRef, useId, useWrapElement } from 'ariakit-react-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { getDocument, contains, getActiveElement, getWindow, isButton, closest } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isSelfTarget, queueBeforeEvent } from 'ariakit-utils/events';\nimport { getFirstTabbableIn, focusIfNeeded, isFocusable } from 'ariakit-utils/focus';\nimport { noop, chain } from 'ariakit-utils/misc';\nimport { isApple, isMac, isSafari } from 'ariakit-utils/platform';\nimport { useDisclosureContent } from '../disclosure/disclosure-content.js';\nimport { useFocusTrapRegion } from '../focus-trap/focus-trap-region.js';\nimport { useFocusable } from '../focusable/focusable.js';\nimport { HeadingLevel } from '../heading/heading-level.js';\nimport { usePortal } from '../portal/portal.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { D as DialogContext, a as DialogHeadingContext, b as DialogDescriptionContext } from '../dialog-context-a736b58f.js';\nimport { flushSync } from 'react-dom';\n\nfunction usePreviousMouseDownRef(enabled) {\n const previousMouseDownRef = useRef();\n useEffect(() => {\n if (!enabled) {\n previousMouseDownRef.current = null;\n return;\n }\n const onMouseDown = event => {\n previousMouseDownRef.current = event.target;\n };\n return addGlobalEventListener(\"mousedown\", onMouseDown, true);\n }, [enabled]);\n return previousMouseDownRef;\n}\n\nfunction DialogBackdrop(_ref) {\n let {\n state,\n backdrop,\n backdropProps,\n hideOnInteractOutside = true,\n hideOnEscape = true,\n hidden,\n children\n } = _ref;\n const ref = useRef(null);\n state = useMemo(() => ({\n ...state,\n // Override the setContentElement method to prevent the backdrop from\n // overwriting the dialog's content element.\n setContentElement: noop\n }), [state]);\n useSafeLayoutEffect(() => {\n const backdrop = ref.current;\n const dialog = state.contentElement;\n if (!backdrop) return;\n if (!dialog) return;\n backdrop.style.zIndex = getComputedStyle(dialog).zIndex;\n }, [state.contentElement]);\n const onClickProp = backdropProps?.onClick;\n const hideOnInteractOutsideProp = useBooleanEvent(hideOnInteractOutside);\n const previousMouseDownRef = usePreviousMouseDownRef(state.mounted);\n const onClick = useEvent(event => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (previousMouseDownRef.current !== event.currentTarget) return;\n if (!hideOnInteractOutsideProp(event)) return;\n event.stopPropagation();\n state.hide();\n });\n const onKeyDownProp = backdropProps?.onKeyDown;\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape);\n\n // When hideOnInteractOutside is false and the backdrop is clicked, the\n // backdrop will receive focus (because we set the tabIndex on it). Therefore,\n // the Escape key will not be captured by the Dialog component. So we listen\n // to it here.\n const onKeyDown = useEvent(event => {\n onKeyDownProp?.(event);\n if (event.defaultPrevented) return;\n if (event.key !== \"Escape\") return;\n if (!isSelfTarget(event)) return;\n if (!hideOnEscapeProp(event)) return;\n state.hide();\n });\n const props = useDisclosureContent({\n state,\n id: undefined,\n role: \"presentation\",\n tabIndex: -1,\n hidden,\n ...backdropProps,\n ref: useForkRef(backdropProps?.ref, ref),\n onClick,\n onKeyDown,\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...backdropProps?.style\n }\n });\n const Component = typeof backdrop !== \"boolean\" ? backdrop || \"div\" : \"div\";\n return /*#__PURE__*/jsx(Component, {\n ...props,\n \"data-backdrop\": state.contentElement?.id,\n children: children\n });\n}\n\n// We don't need to walk through certain tags.\nconst ignoreTags = [\"SCRIPT\", \"STYLE\"];\nfunction isValidElement(element, ignoredElements) {\n if (ignoreTags.includes(element.tagName)) return false;\n return !ignoredElements.some(enabledElement => enabledElement && contains(element, enabledElement));\n}\nfunction walkTreeOutside(elements, callback) {\n for (let element of elements) {\n const document = getDocument(element);\n // Loops through the parent elements and then through each of their\n // children.\n while (element?.parentElement && element !== document.body) {\n for (const child of element.parentElement.children) {\n if (isValidElement(child, elements)) {\n callback(child);\n }\n }\n element = element.parentElement;\n }\n }\n}\n\nfunction disableElement$1(element) {\n const previousAriaHidden = element.getAttribute(\"aria-hidden\") || \"\";\n element.setAttribute(\"aria-hidden\", \"true\");\n const enableElement = () => {\n if (previousAriaHidden) {\n element.setAttribute(\"aria-hidden\", previousAriaHidden);\n } else {\n element.removeAttribute(\"aria-hidden\");\n }\n };\n return enableElement;\n}\nfunction disableAccessibilityTreeOutside() {\n const cleanups = [];\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement$1(element));\n });\n const restoreAccessibilityTree = () => {\n cleanups.forEach(fn => fn());\n };\n return restoreAccessibilityTree;\n}\n\nfunction disableElement(element) {\n if (!(\"style\" in element)) return noop;\n const previousPointerEvents = element.style.pointerEvents;\n element.style.pointerEvents = \"none\";\n const enableElement = () => {\n element.style.pointerEvents = previousPointerEvents ?? \"\";\n };\n return enableElement;\n}\nfunction disablePointerEventsOutside() {\n const cleanups = [];\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement(element));\n });\n const restorePointerEvents = () => {\n cleanups.forEach(fn => fn());\n };\n return restorePointerEvents;\n}\n\nfunction prependHiddenDismiss(container, onClick) {\n const document = getDocument(container);\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.tabIndex = -1;\n button.textContent = \"Dismiss popup\";\n\n // Visually hidden styles\n button.style.border = \"0px\";\n button.style.clip = \"rect(0 0 0 0)\";\n button.style.height = \"1px\";\n button.style.margin = \"-1px\";\n button.style.overflow = \"hidden\";\n button.style.padding = \"0px\";\n button.style.position = \"absolute\";\n button.style.whiteSpace = \"nowrap\";\n button.style.width = \"1px\";\n button.addEventListener(\"click\", onClick);\n container.prepend(button);\n const removeHiddenDismiss = () => {\n button.removeEventListener(\"click\", onClick);\n button.remove();\n };\n return removeHiddenDismiss;\n}\n\n/**\n * Controls which dialog is the champion that will control global behavior such\n * as body scrolling and accessibility tree outside.\n */\nfunction useChampionDialog(dialogRef, attribute, enabled) {\n const [updated, retry] = useForceUpdate();\n const isChampionDialog = useCallback(() => {\n if (!enabled) return false;\n const dialog = dialogRef.current;\n if (!dialog) return false;\n const {\n body\n } = getDocument(dialog);\n const id = body.getAttribute(attribute);\n return !id || id === dialog.id;\n }, [updated, enabled, attribute]);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!enabled) return;\n const {\n body\n } = getDocument(dialog);\n if (!isChampionDialog()) {\n const observer = new MutationObserver(() => flushSync(retry));\n observer.observe(body, {\n attributeFilter: [attribute]\n });\n return () => observer.disconnect();\n }\n body.setAttribute(attribute, dialog.id);\n return () => {\n body.removeAttribute(attribute);\n };\n }, [updated, dialogRef, enabled, isChampionDialog, attribute]);\n return isChampionDialog;\n}\n\n/**\n * When the focused child gets removed from the DOM, we make sure to move focus\n * to the dialog.\n */\nfunction useFocusOnChildUnmount(dialogRef, state) {\n useEffect(() => {\n if (!state.open) return;\n const dialog = dialogRef.current;\n if (!dialog) return;\n const observer = new MutationObserver(_ref => {\n let [mutation] = _ref;\n if (!mutation) return;\n // If target is not dialog, then this observer was triggered by a nested\n // dialog, so we just ignore it here and let the nested dialog handle it.\n if (mutation.target !== dialog) return;\n const document = getDocument(dialog);\n const activeElement = getActiveElement(dialog);\n // We can check if the current focused element is the document body.\n if (activeElement === document.body) {\n dialog.focus();\n }\n });\n observer.observe(dialog, {\n childList: true,\n subtree: true\n });\n return () => observer.disconnect();\n }, [state.open, dialogRef]);\n}\n\nfunction isInDocument(target) {\n if (target.tagName === \"HTML\") return true;\n return contains(getDocument(target).body, target);\n}\nfunction isDisclosure(disclosure, target) {\n if (contains(disclosure, target)) return true;\n const activeId = target.getAttribute(\"aria-activedescendant\");\n if (activeId) {\n const activeElement = getDocument(disclosure).getElementById(activeId);\n if (activeElement) {\n return contains(disclosure, activeElement);\n }\n }\n return false;\n}\nfunction isBackdrop$1(dialog, target) {\n if (!dialog) return false;\n if (!target) return false;\n return target.hasAttribute(\"data-backdrop\") && target.getAttribute(\"data-backdrop\") === dialog.id;\n}\nfunction dialogContains(target) {\n return dialogRef => {\n const dialog = dialogRef.current;\n if (!dialog) return false;\n if (contains(dialog, target)) return true;\n if (isBackdrop$1(dialog, target)) return true;\n return false;\n };\n}\nfunction useEventOutside(_ref) {\n let {\n type,\n listener,\n dialogRef,\n nestedDialogs,\n disclosureRef,\n enabled,\n capture\n } = _ref;\n const callListener = useEvent(listener);\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n useEffect(() => {\n if (!enabled) return;\n const onEvent = event => {\n const container = dialogRef.current;\n const disclosure = disclosureRef?.current;\n const target = event.target;\n if (!container) return;\n if (!target) return;\n // When an element is unmounted right after it receives focus, the focus\n // event is triggered after that, when the element isn't part of the\n // current document anymore. We just ignore it.\n if (!isInDocument(target)) return;\n // Event inside dialog\n if (contains(container, target)) return;\n // Event on disclosure\n if (disclosure && isDisclosure(disclosure, target)) return;\n // Event on focus trap\n if (target.hasAttribute(\"data-focus-trap\")) return;\n // Event inside a nested dialog\n if (nestedDialogsRef.current.some(dialogContains(target))) return;\n callListener(event);\n };\n return addGlobalEventListener(type, onEvent, capture);\n }, [enabled, dialogRef, disclosureRef, callListener, capture]);\n}\nfunction shouldHideOnInteractOutside(hideOnInteractOutside, event) {\n if (typeof hideOnInteractOutside === \"function\") {\n return hideOnInteractOutside(event);\n }\n return !!hideOnInteractOutside;\n}\nfunction useHideOnInteractOutside(dialogRef, nestedDialogs, _ref2) {\n let {\n state,\n modal,\n hideOnInteractOutside,\n enabled = state.open\n } = _ref2;\n const previousMouseDownRef = usePreviousMouseDownRef(enabled);\n const props = {\n disclosureRef: state.disclosureRef,\n enabled,\n dialogRef,\n nestedDialogs,\n capture: true\n };\n useEventOutside({\n ...props,\n type: \"mousedown\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (modal && !shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n // If the dialog is modal and the user clicked outside the dialog, but\n // shouldHideOnInteractOutside is false, we don't hide the dialog, but\n // ensure focus is placed on it. Otherwise the focus might end up on an\n // element outside of the dialog or the body element itself.\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n useEventOutside({\n ...props,\n type: \"click\",\n listener: event => {\n const previousMouseDown = previousMouseDownRef.current;\n // If there's no previously mousedown'd element, this probably means that\n // the dialog opened with a mousedown event, and a subsequent click event\n // was dispatched outside of the dialog. See form-select example. We just\n // ignore this.\n if (!previousMouseDown) return;\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return;\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n const dialog = dialogRef.current;\n const draggingFromDialog = dialog && contains(dialog, previousMouseDown);\n // This prevents the dialog from closing by dragging the cursor (for\n // example, selecting some text inside the dialog and releasing the mouse\n // outside of it). See https://github.com/ariakit/ariakit/issues/1336\n if (draggingFromDialog) return;\n state.hide();\n }\n });\n useEventOutside({\n ...props,\n type: \"focusin\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return;\n // Same as the mousedown listener.\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // Fix for https://github.com/ariakit/ariakit/issues/619\n if (event.target === getDocument(dialog)) return;\n state.hide();\n }\n });\n useEventOutside({\n ...props,\n type: \"contextmenu\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return;\n // Same as the mousedown listener.\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n state.hide();\n }\n });\n}\n\nconst NestedDialogsContext = /*#__PURE__*/createContext({});\n\n/**\n * Handles nested dialogs.\n */\nfunction useNestedDialogs(dialogRef, _ref) {\n let {\n state,\n modal\n } = _ref;\n const context = useContext(NestedDialogsContext);\n const [openModals, setOpenModals] = useState([]);\n const [nestedDialogs, setNestedDialogs] = useState([]);\n const addDialog = useCallback(ref => {\n const removeFromContext = context.addDialog?.(ref);\n setNestedDialogs(dialogs => [...dialogs, ref]);\n return () => {\n removeFromContext?.();\n setNestedDialogs(dialogs => dialogs.filter(dialog => dialog !== ref));\n };\n }, [context.addDialog]);\n const showModal = useCallback(ref => {\n const hideModal = context.showModal?.(ref);\n setOpenModals(modals => [...modals, ref]);\n return () => {\n hideModal?.();\n setOpenModals(modals => modals.filter(modal => modal !== ref));\n };\n }, [context.showModal]);\n\n // If this is a nested dialog, add it to the context.\n useSafeLayoutEffect(() => {\n return context.addDialog?.(dialogRef);\n }, [context.addDialog, dialogRef]);\n useSafeLayoutEffect(() => {\n if (!modal) return;\n if (!state.open) return;\n return context.showModal?.(dialogRef);\n }, [modal, state.open, context.showModal, dialogRef]);\n\n // Close all nested dialogs when parent dialog closes.\n useSafeLayoutEffect(() => {\n if (context.open === false && state.open) {\n state.hide();\n }\n }, [context.open, state.open, state.hide]);\n\n // Provider\n const providerValue = useMemo(() => ({\n open: state.open,\n addDialog,\n showModal\n }), [state.open, addDialog, showModal]);\n const wrapElement = useCallback(element => /*#__PURE__*/jsx(NestedDialogsContext.Provider, {\n value: providerValue,\n children: element\n }), [providerValue]);\n return {\n nestedDialogs,\n openModals,\n wrapElement\n };\n}\n\n// Based on https://github.com/floating-ui/floating-ui/blob/1201e72e67a80e479122293d46d96c9bbc8f156d/packages/react-dom-interactions/src/FloatingOverlay.tsx\nfunction assignStyle(element, style) {\n if (!element) return () => {};\n const previousStyle = element.style.cssText;\n Object.assign(element.style, style);\n return () => {\n element.style.cssText = previousStyle;\n };\n}\nfunction setCSSProperty(element, property, value) {\n if (!element) return () => {};\n const previousValue = element.style.getPropertyValue(property);\n element.style.setProperty(property, value);\n return () => {\n if (previousValue) {\n element.style.setProperty(property, previousValue);\n } else {\n element.style.removeProperty(property);\n }\n };\n}\nfunction getPaddingProperty(documentElement) {\n // RTL scrollbar\n const documentLeft = documentElement.getBoundingClientRect().left;\n const scrollbarX = Math.round(documentLeft) + documentElement.scrollLeft;\n return scrollbarX ? \"paddingLeft\" : \"paddingRight\";\n}\nfunction usePreventBodyScroll(dialogRef, enabled) {\n const isChampionDialog = useChampionDialog(dialogRef, \"data-dialog-body-scroll\", enabled);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!isChampionDialog()) return;\n const doc = getDocument(dialog);\n const win = getWindow(dialog);\n const {\n documentElement,\n body\n } = doc;\n const scrollbarWidth = win.innerWidth - documentElement.clientWidth;\n const setScrollbarWidthProperty = () => setCSSProperty(documentElement, \"--scrollbar-width\", `${scrollbarWidth}px`);\n const paddingProperty = getPaddingProperty(documentElement);\n const setStyle = () => assignStyle(body, {\n overflow: \"hidden\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n\n // Only iOS doesn't respect `overflow: hidden` on document.body\n const setIOSStyle = () => {\n const {\n scrollX,\n scrollY,\n visualViewport\n } = win;\n\n // iOS 12 does not support `visuaViewport`.\n const offsetLeft = visualViewport?.offsetLeft ?? 0;\n const offsetTop = visualViewport?.offsetTop ?? 0;\n const restoreStyle = assignStyle(body, {\n position: \"fixed\",\n overflow: \"hidden\",\n top: `${-(scrollY - Math.floor(offsetTop))}px`,\n left: `${-(scrollX - Math.floor(offsetLeft))}px`,\n right: \"0\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n return () => {\n restoreStyle();\n // istanbul ignore next: JSDOM doesn't implement window.scrollTo\n if (process.env.NODE_ENV !== \"test\") {\n win.scrollTo(scrollX, scrollY);\n }\n };\n };\n const isIOS = isApple() && !isMac();\n return chain(setScrollbarWidthProperty(), isIOS ? setIOSStyle() : setStyle());\n }, [dialogRef, isChampionDialog]);\n}\n\nconst isSafariBrowser = isSafari();\nfunction isBackdrop(dialog, element) {\n const id = dialog.id;\n if (!id) return;\n return element.getAttribute(\"data-backdrop\") === id;\n}\nfunction isInDialog(element) {\n return dialogRef => dialogRef.current && contains(dialogRef.current, element);\n}\nfunction isAlreadyFocusingAnotherElement(dialog, nestedDialogs) {\n const activeElement = getActiveElement();\n if (!activeElement) return false;\n if (contains(dialog, activeElement)) return false;\n if (isBackdrop(dialog, activeElement)) return false;\n if (nestedDialogs?.some(isInDialog(activeElement))) return false;\n if (isFocusable(activeElement)) return true;\n return false;\n}\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const state = useDialogState();\n * const props = useDialog({ state });\n * Dialog\n * ```\n */\nconst useDialog = createHook(_ref => {\n let {\n state,\n focusable = true,\n modal = true,\n portal = !!modal,\n backdrop = !!modal,\n backdropProps,\n hideOnEscape = true,\n hideOnInteractOutside = true,\n preventBodyScroll = !!modal,\n autoFocusOnShow = true,\n autoFocusOnHide = true,\n initialFocusRef,\n finalFocusRef,\n ...props\n } = _ref;\n const ref = useRef(null);\n const openRef = useRef(state.open);\n // domReady can be also the portal node element so it's updated when the\n // portal node changes (like in between re-renders), triggering effects\n // again.\n const {\n portalRef,\n portalNode,\n domReady\n } = usePortalRef(portal, props.portalRef);\n // Sets preserveTabOrder to true only if the dialog is not a modal and is\n // open.\n const preserveTabOrder = props.preserveTabOrder && !modal && state.mounted;\n const openStable = state.open && !state.animating;\n\n // Usually, we only want to disable the accessibility tree outside if the\n // dialog is a modal. But the Portal component can't preserve the tab order\n // on Safari/VoiceOver. By allowing only the dialog/portal to be accessible,\n // we provide a similar tab order flow. We don't need to disable pointer\n // events because it's just for screen readers.\n const shouldDisableAccessibilityTree = modal || portal && preserveTabOrder && isSafari();\n const id = useId(props.id);\n\n // Sets disclosure ref. It needs to be a layout effect so we get the focused\n // element right before the dialog is mounted.\n useSafeLayoutEffect(() => {\n if (!openStable) return;\n const dialog = ref.current;\n const activeElement = getActiveElement(dialog, true);\n if (!activeElement) return;\n if (activeElement.tagName === \"BODY\") return;\n // The disclosure element can't be inside the dialog.\n if (dialog && contains(dialog, activeElement)) return;\n state.disclosureRef.current = activeElement;\n }, [openStable]);\n const nested = useNestedDialogs(ref, {\n state,\n modal\n });\n const {\n nestedDialogs,\n openModals,\n wrapElement\n } = nested;\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n usePreventBodyScroll(ref, preventBodyScroll && state.mounted);\n // When a focused child element is removed, focus will be placed on the\n // document's body. This will focus on the dialog instead.\n useFocusOnChildUnmount(ref, state);\n useHideOnInteractOutside(ref, nestedDialogs, {\n state,\n modal,\n hideOnInteractOutside,\n enabled: state.open\n });\n\n // Safari does not focus on native buttons on mousedown. The\n // DialogDisclosure component normalizes this behavior using the\n // useFocusable hook, but the disclosure button may use a custom component,\n // and not DialogDisclosure. In this case, we need to make sure the\n // disclosure button gets focused here.\n if (isSafariBrowser) {\n useEffect(() => {\n if (!state.mounted) return;\n const disclosure = state.disclosureRef.current;\n if (!disclosure) return;\n if (!isButton(disclosure)) return;\n const onMouseDown = () => {\n let receivedFocus = false;\n const onFocus = () => {\n receivedFocus = true;\n };\n const options = {\n capture: true,\n once: true\n };\n disclosure.addEventListener(\"focusin\", onFocus, options);\n queueBeforeEvent(disclosure, \"mouseup\", () => {\n disclosure.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(disclosure);\n });\n };\n disclosure.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n disclosure.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [state.mounted, state.disclosureRef]);\n }\n\n // Renders a hidden dismiss button at the top of the modal dialog element.\n // So that screen reader users aren't trapped in the dialog when there's no\n // visible dismiss button.\n useEffect(() => {\n if (!state.mounted) return;\n if (!domReady) return;\n const dialog = ref.current;\n if (!dialog) return;\n // Usually, we only want to force the presence of a dismiss button if the\n // dialog is a modal. But, on Safari, since we're disabling the\n // accessibility tree outside, we need to ensure the user will be able to\n // close the dialog.\n if (shouldDisableAccessibilityTree) {\n // If there's already a DialogDismiss component, it does nothing.\n const existingDismiss = dialog.querySelector(\"[data-dialog-dismiss]\");\n if (existingDismiss) return;\n return prependHiddenDismiss(dialog, state.hide);\n }\n return;\n }, [state.mounted, domReady, shouldDisableAccessibilityTree, state.hide]);\n const shouldDisableOutside = useChampionDialog(ref, \"data-dialog-disable-outside\", openStable && !openModals.length && shouldDisableAccessibilityTree);\n\n // Disables/enables the element tree around the modal dialog element.\n useSafeLayoutEffect(() => {\n // When the dialog is animating, we immediately restore the element tree\n // outside. This means the element tree will be enabled when the focus is\n // moved back to the disclosure element.\n if (!shouldDisableOutside()) return;\n // If portal is enabled, we get the portalNode instead of the dialog\n // element. This will consider nested dialogs as they will be children of\n // the portal node, but not the dialog. This also accounts for the tiny\n // delay before the dialog element is appended to the portal node, and the\n // portal node is added to the DOM.\n const element = portal ? portalNode : ref.current;\n if (modal) {\n return chain(disableAccessibilityTreeOutside(element),\n // When the backdrop is not visible, we also need to disable pointer\n // events outside of the modal dialog.\n !backdrop ? disablePointerEventsOutside(element) : null);\n }\n return disableAccessibilityTreeOutside(element);\n }, [shouldDisableOutside, portal, portalNode, modal, backdrop]);\n const prevInitialFocusRef = useRef();\n const mayAutoFocusOnShow = !!autoFocusOnShow;\n const autoFocusOnShowProp = useBooleanEvent(autoFocusOnShow);\n\n // Auto focus on show.\n useEffect(() => {\n if (!openStable) return;\n if (!mayAutoFocusOnShow) return;\n // Makes sure to wait for the portalNode to be created before moving\n // focus. This is useful for when the Dialog component is unmounted\n // when hidden.\n if (!domReady) return;\n // If there are open nested dialogs, let them handle the focus.\n const hasNestedOpenDialog = nestedDialogsRef.current?.some(child => child.current && !child.current.hidden);\n if (hasNestedOpenDialog) return;\n // The dialog element may change for different reasons. For example, when\n // the `modal`, `portal` or `backdrop` props change, the HTML structure\n // will also change, which will affect the dialog element reference.\n // That's why we're listening to `state.contentElement` here instead of\n // getting the `ref.current` value. This ensures this effect will re-run\n // when the dialog element reference changes.\n const dialog = state.contentElement;\n if (!dialog?.isConnected) return;\n const initialFocus = initialFocusRef?.current;\n const element = initialFocus ||\n // We have to fallback to the first focusable element otherwise portaled\n // dialogs with preserveTabOrder set to true will not receive focus\n // properly because the elements aren't tabbable until the dialog\n // receives focus.\n getFirstTabbableIn(dialog, true, portal && preserveTabOrder) || dialog;\n const prevInitialFocus = prevInitialFocusRef.current;\n prevInitialFocusRef.current = initialFocus;\n // If the initial focus is the same as the previous initial focus and\n // there's already an element with focus inside the dialog, we don't\n // change focus here.\n if (initialFocus === prevInitialFocus) {\n const activeElement = getActiveElement(dialog, true);\n if (activeElement && contains(dialog, activeElement)) return;\n }\n if (!autoFocusOnShowProp(element)) return;\n element.focus();\n }, [openStable, mayAutoFocusOnShow, domReady, state.contentElement, initialFocusRef, portal, preserveTabOrder, autoFocusOnShowProp]);\n const mayAutoFocusOnHide = !!autoFocusOnHide;\n const autoFocusOnHideProp = useBooleanEvent(autoFocusOnHide);\n\n // Auto focus on hide.\n useEffect(() => {\n const dialog = ref.current;\n const prevOpen = openRef.current;\n openRef.current = state.open;\n // We only want to auto focus on hide if the dialog was open before.\n if (!prevOpen) return;\n if (!mayAutoFocusOnHide) return;\n if (!dialog) return;\n // A function so we can use it on the effect setup and cleanup phases.\n const focusOnHide = () => {\n const dialogs = nestedDialogsRef.current;\n // Hide was triggered by a click/focus on a tabbable element outside\n // the dialog or on another dialog. We won't change focus then.\n if (isAlreadyFocusingAnotherElement(dialog, dialogs)) return;\n let element = finalFocusRef?.current || state.disclosureRef.current;\n if (element) {\n if (element.id) {\n const doc = getDocument(element);\n const selector = `[aria-activedescendant=\"${element.id}\"]`;\n const composite = doc.querySelector(selector);\n // If the element is an item in a composite widget that handles\n // focus with the `aria-activedescendant` attribute, we want to\n // focus on the composite element itself.\n if (composite) {\n element = composite;\n }\n }\n // If the element is not focusable by the time the dialog is hidden,\n // it's probably because it's an element inside another popover or\n // menu that also got hidden when this dialog was shown. We'll try to\n // focus on their disclosure element instead.\n if (!isFocusable(element)) {\n const parentDialog = closest(element, \"[data-dialog]\");\n if (parentDialog && parentDialog.id) {\n const doc = getDocument(parentDialog);\n const selector = `[aria-controls~=\"${parentDialog.id}\"]`;\n const control = doc.querySelector(selector);\n if (control) {\n element = control;\n }\n }\n }\n if (!autoFocusOnHideProp(element)) return;\n element.focus();\n }\n };\n if (!state.open) {\n // If this effect is running while state.open is false, this means\n // that the Dialog component doesn't get unmounted when it's not\n // open, so we can immediatelly move focus.\n return focusOnHide();\n }\n // Otherwise, we just return the focusOnHide function so it's going to\n // be executed when the Dialog component gets unmounted. This is useful\n // so we can support both mounting and unmounting Dialog components.\n return focusOnHide;\n }, [mayAutoFocusOnHide, state.open, finalFocusRef, state.disclosureRef, autoFocusOnHideProp]);\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape);\n\n // Hide on Escape.\n useEffect(() => {\n if (!domReady) return;\n if (!state.mounted) return;\n const onKeyDown = event => {\n const dialog = ref.current;\n if (!dialog) return;\n const target = event.target;\n const disclosure = state.disclosureRef.current;\n if (event.key !== \"Escape\") return;\n if (event.defaultPrevented) return;\n if (!target) return;\n // This considers valid targets only the disclosure element or\n // descendants of the dialog element that are not descendants of nested\n // dialogs.\n const isValidTarget = () => {\n if (contains(dialog, target)) {\n const dialogs = nestedDialogsRef.current;\n // Since this is a native DOM event, it won't be triggered by\n // keystrokes on nested dialogs inside portals. But we still need to\n // check if the target is inside a nested non-portal dialog.\n const inNestedDialog = dialogs.some(isInDialog(target));\n if (inNestedDialog) return false;\n return true;\n }\n if (disclosure && contains(disclosure, target)) return true;\n return false;\n };\n if (isValidTarget() && hideOnEscapeProp(event)) {\n state.hide();\n }\n };\n // We're attatching the listener to the document instead of the dialog\n // element so we can also listen to keystrokes on the disclosure element.\n // We can't do this on a onKeyDown prop on the disclosure element because\n // we don't have access to the hideOnEscape prop there.\n return addGlobalEventListener(\"keydown\", onKeyDown);\n }, [domReady, state.mounted, state.disclosureRef, hideOnEscapeProp, state.hide]);\n\n // Wraps the element with the nested dialog context.\n props = useWrapElement(props, wrapElement, [wrapElement]);\n\n // Resets the heading levels inside the modal dialog so they start with h1.\n props = useWrapElement(props, element => /*#__PURE__*/jsx(HeadingLevel, {\n level: modal ? 1 : undefined,\n children: element\n }), [modal]);\n\n // Focus traps.\n props = useFocusTrapRegion({\n ...props,\n enabled: state.open && modal && !openModals.length\n });\n const hiddenProp = props.hidden;\n\n // Wraps the dialog with a backdrop element if the backdrop prop is truthy.\n props = useWrapElement(props, element => {\n if (backdrop) {\n return /*#__PURE__*/jsx(DialogBackdrop, {\n state: state,\n backdrop: backdrop,\n backdropProps: backdropProps,\n hideOnInteractOutside: hideOnInteractOutside,\n hideOnEscape: hideOnEscape,\n hidden: hiddenProp,\n children: element\n });\n }\n return element;\n }, [state, backdrop, backdropProps, hideOnInteractOutside, hideOnEscape, hiddenProp]);\n const [headingId, setHeadingId] = useState();\n const [descriptionId, setDescriptionId] = useState();\n props = useWrapElement(props, element => /*#__PURE__*/jsx(DialogContext.Provider, {\n value: state,\n children: /*#__PURE__*/jsx(DialogHeadingContext.Provider, {\n value: setHeadingId,\n children: /*#__PURE__*/jsx(DialogDescriptionContext.Provider, {\n value: setDescriptionId,\n children: element\n })\n })\n }), [state]);\n props = {\n id,\n \"data-dialog\": \"\",\n role: \"dialog\",\n tabIndex: focusable ? -1 : undefined,\n \"aria-labelledby\": headingId,\n \"aria-describedby\": descriptionId,\n ...props,\n ref: useForkRef(ref, props.ref)\n };\n props = useDisclosureContent({\n state,\n ...props\n });\n props = useFocusable({\n ...props,\n focusable\n });\n props = usePortal({\n portal,\n ...props,\n portalRef,\n preserveTabOrder\n });\n return props;\n});\n\n/**\n * A component that renders a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Dialog\n * ```\n */\nconst Dialog = createComponent(props => {\n const htmlProps = useDialog(props);\n return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Dialog.displayName = \"Dialog\";\n}\n\nexport { Dialog, useDialog };\n","import { useRef, useEffect, useState } from 'react';\nimport { useEvent, useSafeLayoutEffect, useTagName, useForkRef } from 'ariakit-react-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-react-utils/system';\nimport { isButton } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isPortalEvent, queueBeforeEvent, isSelfTarget, isFocusEventOutside } from 'ariakit-utils/events';\nimport { isFocusable, focusIfNeeded, hasFocus } from 'ariakit-utils/focus';\nimport { queueMicrotask } from 'ariakit-utils/misc';\nimport { isSafari } from 'ariakit-utils/platform';\n\nconst isSafariBrowser = isSafari();\nconst alwaysFocusVisibleInputTypes = [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\", \"number\", \"date\", \"month\", \"week\", \"time\", \"datetime\", \"datetime-local\"];\nfunction isAlwaysFocusVisible(element) {\n const {\n tagName,\n readOnly,\n type\n } = element;\n if (tagName === \"TEXTAREA\" && !readOnly) return true;\n if (tagName === \"SELECT\" && !readOnly) return true;\n if (tagName === \"INPUT\" && !readOnly) {\n return alwaysFocusVisibleInputTypes.includes(type);\n }\n if (element.isContentEditable) return true;\n return false;\n}\n\n// See https://github.com/ariakit/ariakit/issues/1257\nfunction isAlwaysFocusVisibleDelayed(element) {\n const role = element.getAttribute(\"role\");\n if (role === \"combobox\") return true;\n return false;\n}\nfunction getLabels(element) {\n if (\"labels\" in element) {\n return element.labels;\n }\n return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"input\" && element.type) {\n return element.type === \"radio\" || element.type === \"checkbox\";\n }\n return false;\n}\nfunction isNativeTabbable(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n if (!focusable) {\n return tabIndexProp;\n }\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n // Anchor, audio and video tags don't support the `disabled` attribute.\n // We must pass tabIndex={-1} so they don't receive focus on tab.\n return -1;\n }\n // Elements that support the `disabled` attribute don't need tabIndex.\n return;\n }\n if (nativeTabbable) {\n // If the element is enabled and it's natively tabbable, we don't need to\n // specify a tabIndex attribute unless it's explicitly set by the user.\n return tabIndexProp;\n }\n // If the element is enabled and is not natively tabbable, we have to\n // fallback tabIndex={0}.\n return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n return useEvent(event => {\n onEvent?.(event);\n if (event.defaultPrevented) return;\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n });\n}\n\n// isKeyboardModality should be true by defaault.\nlet isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n const target = event.target;\n if (target && \"hasAttribute\" in target) {\n // If the target element is already focus-visible, we keep the keyboard\n // modality.\n if (!target.hasAttribute(\"data-focus-visible\")) {\n isKeyboardModality = false;\n }\n }\n}\nfunction onGlobalKeyDown(event) {\n if (event.metaKey) return;\n if (event.ctrlKey) return;\n isKeyboardModality = true;\n}\n\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * const props = useFocusable();\n * Focusable\n * ```\n */\nconst useFocusable = createHook(_ref => {\n let {\n focusable = true,\n accessibleWhenDisabled,\n autoFocus,\n onFocusVisible,\n ...props\n } = _ref;\n const ref = useRef(null);\n\n // Add global event listeners to determine whether the user is using a\n // keyboard to navigate the site or not.\n useEffect(() => {\n if (!focusable) return;\n addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n }, [focusable]);\n\n // Safari and Firefox on Apple devices don't focus on checkboxes or radio\n // buttons when their labels are clicked. This effect will make sure the\n // focusable element is focused on label click.\n if (isSafariBrowser) {\n useEffect(() => {\n if (!focusable) return;\n const element = ref.current;\n if (!element) return;\n if (!isNativeCheckboxOrRadio(element)) return;\n const labels = getLabels(element);\n if (!labels) return;\n const onMouseUp = () => queueMicrotask(() => element.focus());\n labels.forEach(label => label.addEventListener(\"mouseup\", onMouseUp));\n return () => {\n labels.forEach(label => label.removeEventListener(\"mouseup\", onMouseUp));\n };\n }, [focusable]);\n }\n const disabled = focusable && props.disabled;\n const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n const [focusVisible, setFocusVisible] = useState(false);\n\n // When the focusable element is disabled, it doesn't trigger a blur event\n // so we can't set focusVisible to false there. Instead, we have to do it\n // here by checking the element's disabled attribute.\n useEffect(() => {\n if (!focusable) return;\n if (trulyDisabled && focusVisible) {\n setFocusVisible(false);\n }\n }, [focusable, trulyDisabled, focusVisible]);\n\n // When an element that has focus becomes hidden, it doesn't trigger a blur\n // event so we can't set focusVisible to false there. We observe the element\n // and check if it's still focusable. Otherwise, we set focusVisible to\n // false.\n useEffect(() => {\n if (!focusable) return;\n if (!focusVisible) return;\n const element = ref.current;\n if (!element) return;\n if (typeof IntersectionObserver === \"undefined\") return;\n const observer = new IntersectionObserver(() => {\n if (!isFocusable(element)) {\n setFocusVisible(false);\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [focusable, focusVisible]);\n\n // Disable events when the element is disabled.\n const onKeyPressCapture = useDisableEvent(props.onKeyPressCapture, disabled);\n const onMouseDownCapture = useDisableEvent(props.onMouseDownCapture, disabled);\n const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent(event => {\n onMouseDownProp?.(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget;\n // Safari doesn't focus on buttons on mouse down like other\n // browsers/platforms. Instead, it focuses on the closest focusable\n // ancestor element, which is ultimately the body element. So we make sure\n // to give focus to this Focusable element on mouse down so it works\n // consistently across browsers.\n if (!isSafariBrowser) return;\n if (isPortalEvent(event)) return;\n if (!isButton(element) && !isNativeCheckboxOrRadio(element)) return;\n // In future versions os Safari, it may change this behavior and start\n // focusing on buttons on mouse down. To account for that, we check if the\n // element has received focus before.\n let receivedFocus = false;\n const onFocus = () => {\n receivedFocus = true;\n };\n const options = {\n capture: true,\n once: true\n };\n element.addEventListener(\"focusin\", onFocus, options);\n // We can't focus right away after on mouse down, otherwise it would\n // prevent drag events from happening. So we queue the focus to the next\n // animation frame, but always before the next mouseup event. The mouseup\n // event might happen before the next animation frame on touch devices or\n // by tapping on a MacBook's trackpad, for example.\n queueBeforeEvent(element, \"mouseup\", () => {\n element.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(element);\n });\n });\n const handleFocusVisible = (event, currentTarget) => {\n if (currentTarget) {\n event.currentTarget = currentTarget;\n }\n onFocusVisible?.(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget;\n if (!element) return;\n // Some extensions like 1password dispatches some keydown events on\n // autofill and immediately moves focus to the next field. That's why we\n // need to check if the current element is still focused.\n if (!hasFocus(element)) return;\n setFocusVisible(true);\n };\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const onKeyDownCapture = useEvent(event => {\n onKeyDownCaptureProp?.(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (focusVisible) return;\n if (event.metaKey) return;\n if (event.altKey) return;\n if (event.ctrlKey) return;\n if (!isSelfTarget(event)) return;\n const element = event.currentTarget;\n queueMicrotask(() => handleFocusVisible(event, element));\n });\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent(event => {\n onFocusCaptureProp?.(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (!isSelfTarget(event)) {\n setFocusVisible(false);\n return;\n }\n const element = event.currentTarget;\n const applyFocusVisible = () => handleFocusVisible(event, element);\n if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n queueMicrotask(applyFocusVisible);\n }\n // See https://github.com/ariakit/ariakit/issues/1257\n else if (isAlwaysFocusVisibleDelayed(event.target)) {\n queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n } else {\n setFocusVisible(false);\n }\n });\n const onBlurProp = props.onBlur;\n\n // Note: Can't use onBlurCapture here otherwise it will not work with\n // CompositeItem's with the virtualFocus state set to true.\n const onBlur = useEvent(event => {\n onBlurProp?.(event);\n if (!focusable) return;\n if (isFocusEventOutside(event)) {\n setFocusVisible(false);\n }\n });\n\n // The native autoFocus prop is problematic in many ways. For example, when\n // an element has the native autofocus attribute, the focus event will be\n // triggered before React effects (even layout effects) and before refs are\n // assigned. This means we won't have access to the element's ref or\n // anything else that's set up by React effects on the onFocus event. So we\n // don't pass the autoFocus prop to the element and instead manually focus\n // the element when it's mounted. The order in which this effect runs also\n // matters. It must be declared here after all the event callbacks above so\n // the event callback effects run before this one. See\n // https://twitter.com/diegohaz/status/1408180632933388289\n useSafeLayoutEffect(() => {\n if (!focusable) return;\n if (autoFocus) {\n ref.current?.focus();\n }\n }, [focusable, autoFocus]);\n const tagName = useTagName(ref, props.as);\n const nativeTabbable = focusable && isNativeTabbable(tagName);\n const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n const style = trulyDisabled ? {\n pointerEvents: \"none\",\n ...props.style\n } : props.style;\n props = {\n \"data-focus-visible\": focusable && focusVisible ? \"\" : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n ...props,\n ref: useForkRef(ref, props.ref),\n style,\n tabIndex: getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, props.tabIndex),\n disabled: supportsDisabled && trulyDisabled ? true : undefined,\n // TODO: Test Focusable contentEditable.\n contentEditable: disabled ? undefined : props.contentEditable,\n onKeyPressCapture,\n onClickCapture,\n onMouseDownCapture,\n onMouseDown,\n onKeyDownCapture,\n onFocusCapture,\n onBlur\n };\n return props;\n});\n\n/**\n * A component that renders an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * Focusable\n * ```\n */\nconst Focusable = createComponent(props => {\n props = useFocusable(props);\n return createElement(\"div\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Focusable.displayName = \"Focusable\";\n}\n\nexport { Focusable, useFocusable };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\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 * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\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 an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDomainLocale = getDomainLocale;\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n const normalizeLocalePath = require('./normalize-locale-path').normalizeLocalePath;\n const detectDomainLocale = require('./detect-domain-locale').detectDomainLocale;\n const target = locale || normalizeLocalePath(path, locales).detectedLocale;\n const domain = detectDomainLocale(domainLocales, undefined, target);\n if (domain) {\n const proto = `http${domain.http ? '' : 's'}://`;\n const finalLocale = target === domain.defaultLocale ? '' : `/${target}`;\n return `${proto}${domain.domain}${basePath}${finalLocale}${path}`;\n }\n return false;\n } else {\n return false;\n }\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=get-domain-locale.js.map","\"use client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_wildcard(require(\"react\"));\nvar _head = _interop_require_default(require(\"../shared/lib/head\"));\nvar _imageBlurSvg = require(\"../shared/lib/image-blur-svg\");\nvar _imageConfig = require(\"../shared/lib/image-config\");\nvar _imageConfigContext = require(\"../shared/lib/image-config-context\");\nvar _warnOnce = require(\"../shared/lib/utils/warn-once\");\nvar _imageLoader = _interop_require_default(require(\"next/dist/shared/lib/image-loader\"));\n\nconst configEnv = process.env.__NEXT_IMAGE_OPTS;\nconst allImgs = new Map();\nlet perfObserver;\nif (typeof window === 'undefined') {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nfunction getWidths({ deviceSizes , allSizes }, width, sizes) {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1])), \n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs({ config , src , unoptimized , width , quality , sizes , loader }) {\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths , kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>`${loader({\n config,\n src,\n quality,\n width: w\n })} ${kind === 'w' ? w : i + 1}${kind}`).join(', '),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getInt(x) {\n if (typeof x === 'number' || typeof x === 'undefined') {\n return x;\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, src, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized) {\n if (!img || img['data-loaded-src'] === src) {\n return;\n }\n img['data-loaded-src'] = src;\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder === 'blur') {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load');\n Object.defineProperty(event, 'target', {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current(_extends({}, event, {\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n }));\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!img.getAttribute('sizes') || img.getAttribute('sizes') === '100vw')) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`);\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n 'absolute',\n 'fixed',\n 'relative'\n ];\n if (!valid.includes(position)) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has \"fill\" and parent element with invalid \"position\". Provided \"${position}\" should be one of ${valid.map(String).join(',')}.`);\n }\n }\n if (img.height === 0) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.`);\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute('height');\n const widthModified = img.width.toString() !== img.getAttribute('width');\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: \"auto\"' or 'height: \"auto\"' to maintain the aspect ratio.`);\n }\n }\n });\n}\nconst ImageElement = /*#__PURE__*/ (0, _react).forwardRef((_param, forwardedRef)=>{\n var { imgAttributes , heightInt , widthInt , qualityInt , className , imgStyle , blurStyle , isLazy , fill , placeholder , loading , srcString , config , unoptimized , loader , onLoadRef , onLoadingCompleteRef , setBlurComplete , setShowAltText , onLoad , onError } = _param, rest = _object_without_properties_loose(_param, [\n \"imgAttributes\",\n \"heightInt\",\n \"widthInt\",\n \"qualityInt\",\n \"className\",\n \"imgStyle\",\n \"blurStyle\",\n \"isLazy\",\n \"fill\",\n \"placeholder\",\n \"loading\",\n \"srcString\",\n \"config\",\n \"unoptimized\",\n \"loader\",\n \"onLoadRef\",\n \"onLoadingCompleteRef\",\n \"setBlurComplete\",\n \"setShowAltText\",\n \"onLoad\",\n \"onError\"\n ]);\n loading = isLazy ? 'lazy' : loading;\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({}, rest, {\n // @ts-ignore - TODO: upgrade to `@types/react@17`\n loading: loading,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n \"data-nimg\": fill ? 'fill' : '1',\n className: className,\n style: _extends({}, imgStyle, blurStyle)\n }, imgAttributes, {\n ref: (0, _react).useCallback((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === 'function') forwardedRef(img);\n else if (typeof forwardedRef === 'object') {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!srcString) {\n console.error(`Image is missing required \"src\" property:`, img);\n }\n if (img.getAttribute('alt') === null) {\n console.error(`Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.`);\n }\n }\n if (img.complete) {\n handleLoading(img, srcString, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized);\n }\n }, [\n srcString,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n forwardedRef, \n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, srcString, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder === 'blur') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n })));\n});\nconst Image = /*#__PURE__*/ (0, _react).forwardRef((_param, forwardedRef)=>{\n var { src , sizes , unoptimized =false , priority =false , loading , className , quality , width , height , fill , style , onLoad , onLoadingComplete , placeholder ='empty' , blurDataURL , layout , objectFit , objectPosition , lazyBoundary , lazyRoot } = _param, all = _object_without_properties_loose(_param, [\n \"src\",\n \"sizes\",\n \"unoptimized\",\n \"priority\",\n \"loading\",\n \"className\",\n \"quality\",\n \"width\",\n \"height\",\n \"fill\",\n \"style\",\n \"onLoad\",\n \"onLoadingComplete\",\n \"placeholder\",\n \"blurDataURL\",\n \"layout\",\n \"objectFit\",\n \"objectPosition\",\n \"lazyBoundary\",\n \"lazyRoot\"\n ]);\n const configContext = (0, _react).useContext(_imageConfigContext.ImageConfigContext);\n const config = (0, _react).useMemo(()=>{\n const c = configEnv || configContext || _imageConfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return _extends({}, c, {\n allSizes,\n deviceSizes\n });\n }, [\n configContext\n ]);\n let rest = all;\n let loader = rest.loader || _imageLoader.default;\n // Remove property so it's not spread on element\n delete rest.loader;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader;\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw new Error(`Image with src \"${src}\" is missing \"loader\" prop.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`);\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n var _tmp;\n _tmp = (obj)=>{\n const { config: _ } = obj, opts = _object_without_properties_loose(obj, [\n \"config\"\n ]);\n return customImageLoader(opts);\n }, loader = _tmp, _tmp;\n }\n if (layout) {\n if (layout === 'fill') {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: '100%',\n height: 'auto'\n },\n responsive: {\n width: '100%',\n height: 'auto'\n }\n };\n const layoutToSizes = {\n responsive: '100vw',\n fill: '100vw'\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = _extends({}, style, layoutStyle);\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = '';\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(staticImageData)}`);\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(staticImageData)}`);\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith('.svg') && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n const [blurComplete, setBlurComplete] = (0, _react).useState(false);\n const [showAltText, setShowAltText] = (0, _react).useState(false);\n const qualityInt = getInt(quality);\n if (process.env.NODE_ENV !== 'production') {\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw new Error(`Image Optimization using Next.js' default loader is not compatible with \\`{ output: \"export\" }\\`.\n Possible solutions:\n - Configure \\`{ output: \"standalone\" }\\` or remove it to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`);\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error(`Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`);\n }\n if (height) {\n throw new Error(`Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`);\n }\n if ((style == null ? void 0 : style.position) && style.position !== 'absolute') {\n throw new Error(`Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`);\n }\n if ((style == null ? void 0 : style.width) && style.width !== '100%') {\n throw new Error(`Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`);\n }\n if ((style == null ? void 0 : style.height) && style.height !== '100%') {\n throw new Error(`Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`);\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw new Error(`Image with src \"${src}\" is missing required \"width\" property.`);\n } else if (isNaN(widthInt)) {\n throw new Error(`Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${width}\".`);\n }\n if (typeof heightInt === 'undefined') {\n throw new Error(`Image with src \"${src}\" is missing required \"height\" property.`);\n } else if (isNaN(heightInt)) {\n throw new Error(`Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${height}\".`);\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(`Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(String).join(',')}.`);\n }\n if (priority && loading === 'lazy') {\n throw new Error(`Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`);\n }\n if (placeholder === 'blur') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder='blur'\" property to improve performance.`);\n }\n if (!blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw new Error(`Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(',')}\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`);\n }\n }\n if ('ref' in rest) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoadingComplete\" property instead.`);\n }\n if (!unoptimized && loader !== _imageLoader.default) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`);\n }\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` + `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`);\n }\n }\n if (typeof window !== 'undefined' && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var ref;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (ref = entry.element) == null ? void 0 : ref.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder !== 'blur' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnOnce).warnOnce(`Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` + `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`);\n }\n }\n });\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n const imgStyle = Object.assign(fill ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: 'transparent'\n }, style);\n const blurStyle = placeholder === 'blur' && blurDataURL && !blurComplete ? {\n backgroundSize: imgStyle.objectFit || 'cover',\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage: `url(\"data:image/svg+xml;charset=utf-8,${(0, _imageBlurSvg).getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit: imgStyle.objectFit\n })}\")`\n } : {};\n if (process.env.NODE_ENV === 'development') {\n if (blurStyle.backgroundImage && (blurDataURL == null ? void 0 : blurDataURL.startsWith('/'))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n blurStyle.backgroundImage = `url(\"${blurDataURL}\")`;\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n let srcString = src;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const linkProps = {\n // @ts-expect-error upgrade react types to react 18\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: rest.crossOrigin\n };\n const onLoadRef = (0, _react).useRef(onLoad);\n (0, _react).useEffect(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);\n (0, _react).useEffect(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const imgElementArgs = _extends({\n isLazy,\n imgAttributes,\n heightInt,\n widthInt,\n qualityInt,\n className,\n imgStyle,\n blurStyle,\n loading,\n config,\n fill,\n unoptimized,\n placeholder,\n loader,\n srcString,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n setShowAltText\n }, rest);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(ImageElement, Object.assign({}, imgElementArgs, {\n ref: forwardedRef\n })), priority ? // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"link\", Object.assign({\n key: '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes,\n rel: \"preload\",\n as: \"image\",\n href: imgAttributes.srcSet ? undefined : imgAttributes.src\n }, linkProps))) : null);\n});\nvar _default = Image;\nexports.default = _default;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=image.js.map","\"use client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nvar _resolveHref = require(\"../shared/lib/router/utils/resolve-href\");\nvar _isLocalUrl = require(\"../shared/lib/router/utils/is-local-url\");\nvar _formatUrl = require(\"../shared/lib/router/utils/format-url\");\nvar _utils = require(\"../shared/lib/utils\");\nvar _addLocale = require(\"./add-locale\");\nvar _routerContext = require(\"../shared/lib/router-context\");\nvar _appRouterContext = require(\"../shared/lib/app-router-context\");\nvar _useIntersection = require(\"./use-intersection\");\nvar _getDomainLocale = require(\"./get-domain-locale\");\nvar _addBasePath = require(\"./add-base-path\");\n\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, isAppRouter) {\n if (typeof window === 'undefined') {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _isLocalUrl).isLocalURL(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = // Let the link's locale prop override the default router locale.\n typeof options.locale !== 'undefined' ? options.locale : 'locale' in router ? router.locale : undefined;\n const prefetchedKey = href + '%' + as + '%' + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(router.prefetch(href, as, options)).catch((err)=>{\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute('target');\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n (!isAppRouter && !(0, _isLocalUrl).isLocalURL(href)))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll\n });\n } else {\n router[replace ? 'replace' : 'push'](as || href, {\n forceOptimisticNavigation: !prefetchEnabled\n });\n }\n };\n if (isAppRouter) {\n // @ts-expect-error startTransition exists.\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString;\n }\n return (0, _formatUrl).formatUrl(urlObjOrString);\n}\n/**\n * React Component that enables client-side transitions between routes.\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args) {\n return new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` + (typeof window !== 'undefined' ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated');\n }\n }\n let children;\n const { href: hrefProp , as: asProp , children: childrenProp , prefetch: prefetchProp , passHref , replace , shallow , scroll , locale , onClick , onMouseEnter: onMouseEnterProp , onTouchStart: onTouchStartProp , // @ts-expect-error this is inlined as a literal boolean not a string\n legacyBehavior =process.env.__NEXT_NEW_LINK_BEHAVIOR === false } = props, restProps = _object_without_properties_loose(props, [\n \"href\",\n \"as\",\n \"children\",\n \"prefetch\",\n \"passHref\",\n \"replace\",\n \"shallow\",\n \"scroll\",\n \"locale\",\n \"onClick\",\n \"onMouseEnter\",\n \"onTouchStart\",\n \"legacyBehavior\"\n ]);\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ _react.default.createElement(\"a\", null, children);\n }\n const prefetchEnabled = prefetchProp !== false;\n const pagesRouter = _react.default.useContext(_routerContext.RouterContext);\n const appRouter = _react.default.useContext(_appRouterContext.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n if (process.env.NODE_ENV !== 'production') {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === 'string') {\n href = hrefProp;\n } else if (typeof hrefProp === 'object' && typeof hrefProp.pathname === 'string') {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split('/').some((segment)=>segment.startsWith('[') && segment.endsWith(']'));\n if (hasDynamicSegment) {\n throw new Error(`Dynamic href \\`${href}\\` found in while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`);\n }\n }\n }\n }\n const { href , as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolveHref).resolveHref(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolveHref).resolveHref(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(`\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`);\n }\n if (onMouseEnterProp) {\n console.warn(`\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(`No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`);\n }\n throw new Error(`Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + (typeof window !== 'undefined' ? \" \\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n } else {\n child = _react.default.Children.only(children);\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n var ref;\n if (((ref = children) == null ? void 0 : ref.type) === 'a') {\n throw new Error('Invalid with child. Please remove or use .\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor');\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useIntersection).useIntersection({\n rootMargin: '200px'\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);\n else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (process.env.NODE_ENV !== 'production') {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter, \n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(`Component rendered inside next/link has to pass click event to \"onClick\" prop.`);\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, isAppRouter);\n },\n onTouchStart (e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, isAppRouter);\n }\n };\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils).isAbsoluteUrl(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n const curLocale = typeof locale !== 'undefined' ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getDomainLocale).getDomainLocale(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ _react.default.createElement(\"a\", Object.assign({}, restProps, childProps), children);\n});\nvar _default = Link;\nexports.default = _default;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=link.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeLocalePath = void 0;\nconst normalizeLocalePath = (pathname, locales)=>{\n if (process.env.__NEXT_I18N_SUPPORT) {\n return require('../shared/lib/i18n/normalize-locale-path').normalizeLocalePath(pathname, locales);\n }\n return {\n pathname,\n detectedLocale: undefined\n };\n};\nexports.normalizeLocalePath = normalizeLocalePath;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=normalize-locale-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useIntersection = useIntersection;\nvar _react = require(\"react\");\nvar _requestIdleCallback = require(\"./request-idle-callback\");\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function';\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection({ rootRef , rootMargin , disabled }) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react).useState(false);\n const elementRef = (0, _react).useRef(null);\n const setElement = (0, _react).useCallback((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react).useEffect(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true));\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react).useCallback(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=use-intersection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getImageBlurSvg = getImageBlurSvg;\nfunction getImageBlurSvg({ widthInt , heightInt , blurWidth , blurHeight , blurDataURL , objectFit }) {\n const std = blurWidth && blurHeight ? '1' : '20';\n const svgWidth = blurWidth || widthInt;\n const svgHeight = blurHeight || heightInt;\n const feComponentTransfer = blurDataURL.startsWith('data:image/jpeg') ? `%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1'/%3E%3C/feComponentTransfer%3E%` : '';\n if (svgWidth && svgHeight) {\n return `%3Csvg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 ${svgWidth} ${svgHeight}'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E${feComponentTransfer}%3C/filter%3E%3Cimage preserveAspectRatio='none' filter='url(%23b)' x='0' y='0' height='100%25' width='100%25' href='${blurDataURL}'/%3E%3C/svg%3E`;\n }\n const preserveAspectRatio = objectFit === 'contain' ? 'xMidYMid' : objectFit === 'cover' ? 'xMidYMid slice' : 'none';\n return `%3Csvg xmlns='http%3A//www.w3.org/2000/svg'%3E%3Cimage style='filter:blur(20px)' preserveAspectRatio='${preserveAspectRatio}' x='0' y='0' height='100%25' width='100%25' href='${blurDataURL}'/%3E%3C/svg%3E`;\n}\n\n//# sourceMappingURL=image-blur-svg.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction defaultLoader({ config , src , width , quality }) {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n if (missingValues.length > 0) {\n throw new Error(`Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify({\n src,\n width,\n quality\n })}`);\n }\n if (src.startsWith('//')) {\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`);\n }\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`);\n }\n if (process.env.NODE_ENV !== 'test' && // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge') {\n // We use dynamic require because this should only error in development\n const { hasMatch } = require('./match-remote-pattern');\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(`Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` + `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`);\n }\n }\n }\n }\n return `${config.path}?url=${encodeURIComponent(src)}&w=${width}&q=${quality || 75}`;\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nvar _default = defaultLoader;\nexports.default = _default;\n\n//# sourceMappingURL=image-loader.js.map","module.exports = require('./dist/shared/lib/head')\n","module.exports = require('./dist/client/image')\n","module.exports = require('./dist/client/link')\n","module.exports = require('./dist/client/router')\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpreadProps(target, source) {\n source = source != null ? source : {}\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n","import objectWithoutPropertiesLoose from './_object_without_properties_loose.mjs';\n\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","import arrayWithHoles from './_array_with_holes.mjs';\nimport iterableToArrayLimit from './_iterable_to_array.mjs';\nimport nonIterableRest from './_non_iterable_rest.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","import arrayWithoutHoles from './_array_without_holes.mjs';\nimport iterableToArray from './_iterable_to_array.mjs';\nimport nonIterableSpread from './_non_iterable_spread.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n"],"names":["useReactId","react__WEBPACK_IMPORTED_MODULE_0___namespace_cache","__webpack_require__","t","react__WEBPACK_IMPORTED_MODULE_0__","useInsertionEffect","useSafeLayoutEffect","ariakit_utils_dom__WEBPACK_IMPORTED_MODULE_1__","Nq","useLayoutEffect","useEffect","useLiveRef","value","ref","useRef","current","usePreviousValue","previousValue","setPreviousValue","useState","useEvent","callback","useCallback","_len","arguments","length","args","_key","useForkRef","_len2","refs","_key2","useMemo","some","Boolean","forEach","_misc_js__WEBPACK_IMPORTED_MODULE_2__","k","useId","defaultId","reactId","id","setId","random","Math","toString","substr","useTagName","type","tagName","setTagName","stringOrUndefined","toLowerCase","useControlledState","defaultState","state","setState","localState","setLocalState","nextState","undefined","stateRef","setStateRef","nextStateRef","setNextState","prevValue","setStateProp","arg","SET_NEXT_STATE","nextValue","ariakit_utils_misc__WEBPACK_IMPORTED_MODULE_3__","Ei","Object","defineProperty","Symbol","useForceUpdate","useReducer","useBooleanEvent","booleanOrCallback","useWrapElement","props","deps","wrapElement","element","usePortalRef","portalProp","portalRefProp","portalNode","setPortalNode","portalRef","domReady","setRef","createComponent","render","Role","forwardRef","createElement","Type","as","As","rest","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","jsx","children","otherProps","createHook","useProps","htmlProps","copy","prop","ariakit_utils_misc__WEBPACK_IMPORTED_MODULE_2__","nr","getActiveElement","node","activeDescendant","activeElement","getDocument","nodeName","isFrame","contentDocument","body","getAttribute","getElementById","canUseDOM","window","document","ownerDocument","getWindow","defaultView","contains","parent","child","isButton","buttonInputTypes","indexOf","matches","selectors","msMatchesSelector","webkitMatchesSelector","isVisible","htmlElement","offsetWidth","offsetHeight","getClientRects","closest","parentElement","parentNode","nodeType","isTextField","isTextInput","HTMLInputElement","selectionStart","isTextArea","error","addGlobalEventListener","listener","options","scope","addEventListener","e","listeners","i","frames","frameWindow","push","removeEventListener","isPortalEvent","event","currentTarget","_dom_js__WEBPACK_IMPORTED_MODULE_0__","r3","target","isSelfTarget","fireClickEvent","eventInit","MouseEvent","dispatchEvent","isFocusEventOutside","container","containerElement","relatedTarget","queueBeforeEvent","raf","requestAnimationFrame","callImmediately","cancelAnimationFrame","once","capture","selector","isFocusable","wB","pn","isTabbable","hasNegativeTabIndex","tabIndex","parseInt","getAllFocusableIn","includeContainer","elements","Array","from","querySelectorAll","unshift","focusableElements","filter","Av","frameBody","splice","getAllTabbableIn","fallbackToFocusable","tabbableElements","allFrameTabbable","getFirstTabbableIn","first","getNextTabbable","fallbackToFirst","getNextTabbableIn","vY","allFocusable","activeIndex","nextFocusableElements","slice","find","getPreviousTabbable","getPreviousTabbableIn","fallbackToLast","reverse","previousFocusableElements","hasFocus","focusIfNeeded","hasFocusWithin","querySelector","CSS","escape","focus","disableFocus","currentTabindex","setAttribute","disableFocusIn","restoreFocusIn","restoreTabIndex","tabindex","removeAttribute","hasAttribute","noop","applyState","argument","currentValue","isLazyValue","hasOwnProperty","object","prototype","call","chain","fns","fn","queueMicrotask","Promise","resolve","then","isApple","test","navigator","platform","isSafari","vendor","isFirefox","userAgent","isMac","startsWith","maxTouchPoints","HeadingContext","createContext","isNativeClick","isTrusted","dom","iK","useCommand","system","Bi","_ref","clickOnEnter","clickOnSpace","react","hooks","O","isNativeButton","setIsNativeButton","active","setActive","activeRef","isDuplicate","onKeyDownProp","onKeyDown","zX","defaultPrevented","disabled","events","Ud","eS","isContentEditable","isEnter","key","isSpace","shouldPreventEnter","shouldPreventSpace","preventDefault","nativeClick","view","click","lO","vU","qx","misc","YE","onKeyUpProp","onKeyUp","metaKey","cR","focusable","LM","az","useButton","role","Button","DialogContext","DialogHeadingContext","DialogDescriptionContext","useDialogState","disclosure","useDisclosureState","_temp","animated","disclosureRef","open","setOpen","zk","defaultOpen","contentElement","setContentElement","animating","setAnimating","prevOpen","zP","mounted","show","hide","toggle","v","stopAnimation","afterTimeout","timeoutMs","cb","timeoutId","setTimeout","clearTimeout","parseCSSTime","times","join","split","reduce","longestTime","currentTimeString","currentTime","parseFloat","useDisclosureContent","Me","transition","setTransition","Gw","isConnected","react_dom","flushSync","transitionDuration","animationDuration","transitionDelay","animationDelay","getComputedStyle","delay","duration","style","hidden","display","useVisuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","width","useFocusTrap","top","left","FocusTrap","useFocusTrapRegion","enabled","OJ","renderFocusTrap","jsx_runtime","onFocus","tabbables","esm_focus","SI","last","jsxs","Fragment","HeadingLevel","level","contextLevel","useContext","_utils_fc7746f4","H","Provider","max","min","PortalContext","queueFocus","usePortal","preserveTabOrder","portalElement","portal","refProp","context","beforeOutsideRef","beforeInsideRef","afterInsideRef","afterOutsideRef","prefix","portalEl","isPortalInDocument","rootElement","appendChild","esm_misc","remove","N","focusing","ss","MN","nextFocusableElement","k0","previousFocusableElement","e8","createPortal","usePreviousMouseDownRef","previousMouseDownRef","onMouseDown","iN","DialogBackdrop","backdrop","backdropProps","hideOnInteractOutside","hideOnEscape","ZT","dialog","zIndex","onClickProp","onClick","hideOnInteractOutsideProp","yl","stopPropagation","hideOnEscapeProp","right","bottom","ignoreTags","walkTreeOutside","isValidElement","ignoredElements","includes","enabledElement","disableAccessibilityTreeOutside","cleanups","disableElement$1","previousAriaHidden","enableElement","restoreAccessibilityTree","useChampionDialog","dialogRef","attribute","updated","retry","NW","isChampionDialog","observer","MutationObserver","observe","attributeFilter","disconnect","useEventOutside","nestedDialogs","callListener","nestedDialogsRef","cP","onEvent","isDisclosure","activeId","shouldHideOnInteractOutside","NestedDialogsContext","assignStyle","previousStyle","cssText","assign","isSafariBrowser","G6","isInDialog","useDialog","modal","preventBodyScroll","autoFocusOnShow","autoFocusOnHide","initialFocusRef","finalFocusRef","openRef","Hw","openStable","shouldDisableAccessibilityTree","nested","useNestedDialogs","openModals","setOpenModals","setNestedDialogs","addDialog","removeFromContext","dialogs","showModal","hideModal","modals","providerValue","usePreventBodyScroll","doc","win","Jj","documentElement","scrollbarWidth","innerWidth","clientWidth","paddingProperty","getPaddingProperty","documentLeft","getBoundingClientRect","scrollbarX","round","scrollLeft","isIOS","mL","V5","tS","setCSSProperty","property","getPropertyValue","setProperty","removeProperty","setIOSStyle","scrollX","scrollY","visualViewport","offsetLeft","offsetTop","restoreStyle","floor","scrollTo","mutation","childList","subtree","useHideOnInteractOutside","_ref2","previousMouseDown","draggingFromDialog","receivedFocus","Qw","existingDismiss","prependHiddenDismiss","button","textContent","prepend","removeHiddenDismiss","shouldDisableOutside","disablePointerEventsOutside","disableElement","previousPointerEvents","pointerEvents","restorePointerEvents","prevInitialFocusRef","mayAutoFocusOnShow","autoFocusOnShowProp","hasNestedOpenDialog","initialFocus","YC","prevInitialFocus","mayAutoFocusOnHide","autoFocusOnHideProp","focusOnHide","isAlreadyFocusingAnotherElement","isBackdrop","EB","composite","parentDialog","oq","control","isValidTarget","inNestedDialog","hiddenProp","headingId","setHeadingId","descriptionId","setDescriptionId","dialog_context_a736b58f","D","a","b","focusable_focusable","Dialog","ariakit_utils_platform__WEBPACK_IMPORTED_MODULE_1__","alwaysFocusVisibleInputTypes","isNativeCheckboxOrRadio","useDisableEvent","ariakit_react_utils_hooks__WEBPACK_IMPORTED_MODULE_2__","isKeyboardModality","onGlobalMouseDown","onGlobalKeyDown","ctrlKey","useFocusable","ariakit_react_utils_system__WEBPACK_IMPORTED_MODULE_3__","nativeTabbable","tabIndexProp","accessibleWhenDisabled","autoFocus","onFocusVisible","ariakit_utils_events__WEBPACK_IMPORTED_MODULE_4__","labels","onMouseUp","ariakit_utils_misc__WEBPACK_IMPORTED_MODULE_5__","label","trulyDisabled","focusVisible","setFocusVisible","IntersectionObserver","ariakit_utils_focus__WEBPACK_IMPORTED_MODULE_6__","onKeyPressCapture","onMouseDownCapture","onClickCapture","onMouseDownProp","Ke","ariakit_utils_dom__WEBPACK_IMPORTED_MODULE_7__","handleFocusVisible","H1","onKeyDownCaptureProp","onKeyDownCapture","altKey","onFocusCaptureProp","onFocusCapture","applyFocusVisible","isAlwaysFocusVisible","readOnly","isAlwaysFocusVisibleDelayed","onBlurProp","onBlur","supportsDisabled","contentEditable","__WEBPACK_AMD_DEFINE_RESULT__","hasOwn","classNames","classes","argType","isArray","inner","apply","module","exports","default","root","getRawTag","objectToString","symToStringTag","toStringTag","trimmedEndIndex","reTrimStart","string","replace","freeGlobal","g","objectProto","nativeObjectToString","isOwn","tag","unmasked","result","freeSelf","self","Function","reWhitespace","index","charAt","isObject","now","toNumber","nativeMax","nativeMin","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","timeWaiting","trailingEdge","debounced","isInvoking","cancel","flush","baseGetTag","isObjectLike","Date","baseTrim","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","path","locale","locales","domainLocales","normalizeLocalePath","require","detectDomainLocale","detectedLocale","domain","proto","concat","http","finalLocale","defaultLocale","basePath","__esModule","_extends","_interop_require_default","_interop_require_wildcard","_object_without_properties_loose","_react","_head","_imageBlurSvg","_imageConfig","_imageConfigContext","_imageLoader","configEnv","process","isStaticRequire","src","getInt","x","NaN","handleLoading","img","placeholder","onLoadRef","onLoadingCompleteRef","setBlurComplete","unoptimized","p","decode","catch","Event","writable","prevented","stopped","nativeEvent","isDefaultPrevented","isPropagationStopped","persist","ImageElement","_param","forwardedRef","imgAttributes","heightInt","widthInt","className","qualityInt","imgStyle","blurStyle","isLazy","fill","loading","srcString","config","loader","setShowAltText","onError","onLoad","decoding","complete","Image","blurWidth","blurHeight","sizes","_param_unoptimized","_param_priority","priority","quality","onLoadingComplete","_param_placeholder","blurDataURL","layout","objectFit","objectPosition","all","lazyBoundary","lazyRoot","configContext","ImageConfigContext","c","imageConfigDefault","allSizes","_toConsumableArray","deviceSizes","imageSizes","sort","isDefaultLoader","customImageLoader","obj","layoutStyle","layoutToStyle","intrinsic","maxWidth","responsive","layoutSizes","layoutToSizes","staticSrc","staticImageData","JSON","stringify","ratio","endsWith","dangerouslyAllowSVG","_useState","_slicedToArray","blurComplete","_useState1","showAltText","color","backgroundSize","backgroundPosition","backgroundRepeat","backgroundImage","getImageBlurSvg","generateImgAttrs","param","srcSet","getWidths","viewportWidthRe","percentSizes","match","exec","smallestRatio","widths","s","kind","Set","map","w","linkProps","imageSrcSet","crossOrigin","imgElementArgs","rel","href","_resolveHref","_isLocalUrl","_formatUrl","_utils","_addLocale","_routerContext","_appRouterContext","_useIntersection","_getDomainLocale","_addBasePath","prefetched","prefetch","router","isAppRouter","isLocalURL","bypassPrefetchedCheck","prefetchedKey","has","add","err","formatStringOrUrl","urlObjOrString","formatUrl","Link","passHref","shallow","scroll","onMouseEnter","onTouchStart","legacyBehavior","_props_legacyBehavior","restProps","childrenProp","prefetchEnabled","prefetchProp","pagesRouter","RouterContext","appRouter","AppRouterContext","resolvedHref","hrefProp","asProp","_resolveHref1","resolveHref","resolvedAs","previousHref","previousAs","Children","only","childRef","_useIntersection1","useIntersection","rootMargin","setIntersectionRef","resetVisible","el","childProps","linkClicked","isAnchorNodeName","toUpperCase","isModifiedEvent","eventTarget","shiftKey","which","navigate","forceOptimisticNavigation","startTransition","onMouseEnterProp","onTouchStartProp","isAbsoluteUrl","curLocale","localeDomain","isLocaleDomain","getDomainLocale","addBasePath","addLocale","cloneElement","pathname","rootRef","isDisabled","hasIntersectionObserver","visible","setVisible","elementRef","setElement","createObserver","instance","existing","idList","observers","get","Map","entries","entry","isIntersecting","intersectionRatio","set","delete","unobserve","size","findIndex","idleCallback","requestIdleCallback","cancelIdleCallback","_requestIdleCallback","svgWidth","svgHeight","feComponentTransfer","std","defaultLoader","encodeURIComponent","__next_img_default","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","number","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","getRandomValues","randomUUID","crypto","bind","esm_browser_native","rnds8","Uint8Array","rng","byteToHex","esm_browser_v4","buf","offset","rnds","unsafeStringify","arr","_arrayLikeToArray","len","arr2","_iterableToArray","iter","iterator","_objectSpreadProps","source","getOwnPropertyDescriptors","defineProperties","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","getOwnPropertyDescriptor","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_arrayWithHoles","_iterable_to_array","Z","_unsupported_iterable_to_array","_nonIterableRest","_arrayWithoutHoles","_array_like_to_array","_nonIterableSpread","_unsupportedIterableToArray","o","minLen","_array_like_to_array_mjs__WEBPACK_IMPORTED_MODULE_0__","n","constructor","api","init","converter","defaultAttributes","attributes","expires","toUTCString","decodeURIComponent","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","found","read","withAttributes","withConverter","freeze"],"sourceRoot":""}