@theroutingcompany/components 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +68 -0
  2. package/dist/trc-components.es.js +10519 -0
  3. package/dist/trc-components.es.js.map +1 -0
  4. package/dist/trc-components.umd.js +1430 -0
  5. package/dist/trc-components.umd.js.map +1 -0
  6. package/package.json +109 -0
  7. package/types/components/AccessibleIcon/AccessibleIcon.d.ts +3 -0
  8. package/types/components/AlertDialog/AlertDialog.d.ts +18 -0
  9. package/types/components/Box/Box.d.ts +12 -0
  10. package/types/components/Breadcrumbs/Breadcrumbs.d.ts +16 -0
  11. package/types/components/Button/Button.d.ts +55 -0
  12. package/types/components/Button/ButtonBase.d.ts +1 -0
  13. package/types/components/Button/HighEmphasisButton/HighEmphasisButton.d.ts +6 -0
  14. package/types/components/Button/LowEmphasisButton/LowEmphasisButton.d.ts +5 -0
  15. package/types/components/Button/MediumEmphasisButton/MediumEmphasisButton.d.ts +5 -0
  16. package/types/components/Checkbox/Checkbox.d.ts +7 -0
  17. package/types/components/Dialog/Dialog.d.ts +24 -0
  18. package/types/components/Fieldset/Fieldset.d.ts +9 -0
  19. package/types/components/FormControl/FormControl.d.ts +19 -0
  20. package/types/components/FormControl/useFormInput.d.ts +9 -0
  21. package/types/components/Grid/Grid.d.ts +0 -0
  22. package/types/components/Heading/Heading.d.ts +10 -0
  23. package/types/components/IconButton/IconButton.d.ts +21 -0
  24. package/types/components/Input/CreditCardInput/CreditCardInput.d.ts +1 -0
  25. package/types/components/Input/InputBase.d.ts +9 -0
  26. package/types/components/Input/NumberInput/NumberInput.d.ts +32 -0
  27. package/types/components/Input/PasswordInput/PasswordInput.d.ts +0 -0
  28. package/types/components/Input/PhoneInput/PhoneInput.d.ts +0 -0
  29. package/types/components/Input/TextArea/TextArea.d.ts +8 -0
  30. package/types/components/Input/TextInput/TextInput.d.ts +27 -0
  31. package/types/components/Input/URLInput/URLInput.d.ts +0 -0
  32. package/types/components/Label/Label.d.ts +9 -0
  33. package/types/components/Page/Page.d.ts +4 -0
  34. package/types/components/Popover/Popover.d.ts +8 -0
  35. package/types/components/RadioGroup/RadioGroup.d.ts +6 -0
  36. package/types/components/SegmentControl/SegmentControl.d.ts +8 -0
  37. package/types/components/Select/Select.d.ts +23 -0
  38. package/types/components/Stack/Stack.d.ts +0 -0
  39. package/types/components/Switch/Switch.d.ts +4 -0
  40. package/types/components/Text/Text.d.ts +39 -0
  41. package/types/components/Title/Title.d.ts +9 -0
  42. package/types/components/Toast/Toast.d.ts +16 -0
  43. package/types/components/Tooltip/IconTooltip.d.ts +8 -0
  44. package/types/components/Tooltip/Tooltip.d.ts +8 -0
  45. package/types/components/index.d.ts +21 -0
  46. package/types/helpers/index.d.ts +1 -0
  47. package/types/helpers/typeHelpers.d.ts +24 -0
  48. package/types/index.d.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trc-components.umd.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@radix-ui/react-context/dist/index.module.js","../node_modules/@radix-ui/react-compose-refs/dist/index.module.js","../node_modules/@radix-ui/primitive/dist/index.module.js","../node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js","../node_modules/@radix-ui/react-id/dist/index.module.js","../node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js","../node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js","../node_modules/@radix-ui/react-slot/dist/index.module.js","../node_modules/@radix-ui/react-primitive/dist/index.module.js","../node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js","../node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js","../node_modules/@radix-ui/react-focus-scope/dist/index.module.js","../node_modules/@radix-ui/react-portal/dist/index.module.js","../node_modules/@radix-ui/react-presence/dist/index.module.js","../node_modules/@radix-ui/react-focus-guards/dist/index.module.js","../node_modules/tslib/tslib.es6.js","../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/use-sidecar/dist/es2015/exports.js","../node_modules/react-remove-scroll/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/UI.js","../node_modules/get-nonce/dist/es2015/index.js","../node_modules/react-style-singleton/dist/es2015/singleton.js","../node_modules/react-style-singleton/dist/es2015/hook.js","../node_modules/react-style-singleton/dist/es2015/component.js","../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../node_modules/react-remove-scroll/dist/es2015/Combination.js","../node_modules/aria-hidden/dist/es2015/index.js","../node_modules/@radix-ui/react-dialog/dist/index.module.js","../node_modules/@radix-ui/react-alert-dialog/dist/index.module.js","../node_modules/@theroutingcompany/design-tokens/dist/js/tokens.js","../src/components/Dialog/Dialog.tsx","../src/components/AlertDialog/AlertDialog.tsx","../node_modules/@radix-ui/react-visually-hidden/dist/index.module.js","../node_modules/@radix-ui/react-accessible-icon/dist/index.module.js","../src/components/AccessibleIcon/AccessibleIcon.tsx","../node_modules/@react-stately/utils/dist/module.js","../node_modules/@react-aria/ssr/dist/module.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/@react-aria/utils/dist/module.js","../node_modules/@swc/helpers/src/_define_property.mjs","../node_modules/@react-aria/interactions/dist/module.js","../node_modules/@react-aria/focus/dist/module.js","../node_modules/@react-aria/link/dist/module.js","../node_modules/@internationalized/string/dist/module.js","../node_modules/@internationalized/number/dist/module.js","../node_modules/@react-aria/i18n/dist/real-module.js","../node_modules/@react-aria/breadcrumbs/dist/module.js","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js","../node_modules/@radix-ui/react-arrow/dist/index.module.js","../node_modules/@radix-ui/react-use-size/dist/index.module.js","../node_modules/@radix-ui/react-popper/dist/index.module.js","../node_modules/@radix-ui/react-popover/dist/index.module.js","../src/components/Popover/Popover.tsx","../src/components/Breadcrumbs/sub-arrow.svg","../src/components/Breadcrumbs/Breadcrumbs.tsx","../node_modules/@react-aria/button/dist/module.js","../src/components/Button/ButtonBase.tsx","../src/components/Button/MediumEmphasisButton/MediumEmphasisButton.tsx","../src/components/Button/LowEmphasisButton/LowEmphasisButton.tsx","../src/components/Button/HighEmphasisButton/HighEmphasisButton.tsx","../src/components/Button/Button.tsx","../node_modules/@radix-ui/react-use-previous/dist/index.module.js","../node_modules/@radix-ui/react-checkbox/dist/index.module.js","../src/components/Fieldset/Fieldset.tsx","../node_modules/@react-aria/label/dist/module.js","../node_modules/@react-aria/textfield/dist/module.js","../src/components/Label/Label.tsx","../src/components/Input/InputBase.tsx","../src/components/Input/TextInput/TextInput.tsx","../node_modules/@radix-ui/react-tooltip/dist/index.module.js","../src/components/Tooltip/Tooltip.tsx","../src/components/Tooltip/IconTooltip.tsx","../node_modules/@react-aria/live-announcer/dist/module.js","../node_modules/@react-aria/spinbutton/dist/module.js","../node_modules/@react-aria/numberfield/dist/module.js","../node_modules/@react-stately/numberfield/dist/module.js","../src/components/Input/NumberInput/NumberInput.tsx","../src/components/Input/TextArea/TextArea.tsx","../src/components/FormControl/FormControl.tsx","../src/components/FormControl/useFormInput.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Heading/Heading.tsx","../src/components/IconButton/IconButton.tsx","../node_modules/@radix-ui/react-separator/dist/index.module.js","../node_modules/@radix-ui/react-collection/dist/index.module.js","../node_modules/@radix-ui/react-toast/dist/index.module.js","../src/components/Toast/Toast.tsx","../node_modules/@radix-ui/react-direction/dist/index.module.js","../node_modules/@radix-ui/react-roving-focus/dist/index.module.js","../node_modules/@radix-ui/react-radio-group/dist/index.module.js","../src/components/RadioGroup/RadioGroup.tsx","../node_modules/@radix-ui/number/dist/index.module.js","../node_modules/@radix-ui/react-select/dist/index.module.js","../src/components/Select/Select.tsx","../node_modules/@radix-ui/react-switch/dist/index.module.js","../src/components/Switch/Switch.tsx","../src/components/Text/Text.tsx","../src/components/Title/Title.tsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import {createContext as $3bkAK$createContext, useMemo as $3bkAK$useMemo, createElement as $3bkAK$createElement, useContext as $3bkAK$useContext} from \"react\";\n\n\nfunction $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const Context = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n function Provider(props) {\n const { children: children , ...context } = props; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName) {\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$50c7b4e9d9f19c1(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const BaseContext = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [\n ...defaultContexts,\n defaultContext\n ];\n function Provider(props) {\n const { scope: scope , children: children , ...context } = props;\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName, scope) {\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext;\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n }\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/ const createScope = ()=>{\n const scopeContexts = defaultContexts.map((defaultContext)=>{\n return /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = (scope === null || scope === void 0 ? void 0 : scope[scopeName]) || scopeContexts;\n return $3bkAK$useMemo(()=>({\n [`__scope${scopeName}`]: {\n ...scope,\n [scopeName]: contexts\n }\n })\n , [\n scope,\n contexts\n ]);\n };\n };\n createScope.scopeName = scopeName;\n return [\n $c512c27ab02ef895$export$fd42f52fd3ae1109,\n $c512c27ab02ef895$var$composeContextScopes(createScope, ...createContextScopeDeps)\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$var$composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope1 = ()=>{\n const scopeHooks = scopes.map((createScope)=>({\n useScope: createScope(),\n scopeName: createScope.scopeName\n })\n );\n return function useComposedScopes(overrideScopes) {\n const nextScopes1 = scopeHooks.reduce((nextScopes, { useScope: useScope , scopeName: scopeName })=>{\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return {\n ...nextScopes,\n ...currentScope\n };\n }, {});\n return $3bkAK$useMemo(()=>({\n [`__scope${baseScope.scopeName}`]: nextScopes1\n })\n , [\n nextScopes1\n ]);\n };\n };\n createScope1.scopeName = baseScope.scopeName;\n return createScope1;\n}\n\n\n\n\nexport {$c512c27ab02ef895$export$fd42f52fd3ae1109 as createContext, $c512c27ab02ef895$export$50c7b4e9d9f19c1 as createContextScope};\n//# sourceMappingURL=index.module.js.map\n","import {useCallback as $3vqmr$useCallback} from \"react\";\n\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$var$setRef(ref, value) {\n if (typeof ref === 'function') ref(value);\n else if (ref !== null && ref !== undefined) ref.current = value;\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {\n return (node)=>refs.forEach((ref)=>$6ed0406888f73fc4$var$setRef(ref, node)\n )\n ;\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...refs) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return $3vqmr$useCallback($6ed0406888f73fc4$export$43e446d32b3d21af(...refs), refs);\n}\n\n\n\n\nexport {$6ed0406888f73fc4$export$43e446d32b3d21af as composeRefs, $6ed0406888f73fc4$export$c7b2cbe3552a0d05 as useComposedRefs};\n//# sourceMappingURL=index.module.js.map\n","function $e42e1063c40fb3ef$export$b9ecd428b558ff10(originalEventHandler, ourEventHandler, { checkForDefaultPrevented: checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler === null || originalEventHandler === void 0 || originalEventHandler(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) return ourEventHandler === null || ourEventHandler === void 0 ? void 0 : ourEventHandler(event);\n };\n}\n\n\n\n\nexport {$e42e1063c40fb3ef$export$b9ecd428b558ff10 as composeEventHandlers};\n//# sourceMappingURL=index.module.js.map\n","import {useLayoutEffect as $dxlwH$useLayoutEffect} from \"react\";\n\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */ const $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) ? $dxlwH$useLayoutEffect : ()=>{};\n\n\n\n\nexport {$9f79659886946c16$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=index.module.js.map\n","import * as $2AODx$react from \"react\";\nimport {useLayoutEffect as $2AODx$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\nconst $1746a345f3d73bb7$var$useReactId = $2AODx$react['useId'.toString()] || (()=>undefined\n);\nlet $1746a345f3d73bb7$var$count = 0;\nfunction $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {\n const [id, setId] = $2AODx$react.useState($1746a345f3d73bb7$var$useReactId()); // React versions older than 18 will have client-side ids only.\n $2AODx$useLayoutEffect(()=>{\n if (!deterministicId) setId((reactId)=>reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)\n );\n }, [\n deterministicId\n ]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\n\n\n\nexport {$1746a345f3d73bb7$export$f680877a34711e37 as useId};\n//# sourceMappingURL=index.module.js.map\n","import {useRef as $lwiWj$useRef, useEffect as $lwiWj$useEffect, useMemo as $lwiWj$useMemo} from \"react\";\n\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */ function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(callback) {\n const callbackRef = $lwiWj$useRef(callback);\n $lwiWj$useEffect(()=>{\n callbackRef.current = callback;\n }); // https://github.com/facebook/react/issues/19240\n return $lwiWj$useMemo(()=>(...args)=>{\n var _callbackRef$current;\n return (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef, ...args);\n }\n , []);\n}\n\n\n\n\nexport {$b1b2314f5f9a1d84$export$25bec8c6f54ee79a as useCallbackRef};\n//# sourceMappingURL=index.module.js.map\n","import {useCallback as $bnPw9$useCallback, useState as $bnPw9$useState, useRef as $bnPw9$useRef, useEffect as $bnPw9$useEffect} from \"react\";\nimport {useCallbackRef as $bnPw9$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\nfunction $71cd76cc60e0454e$export$6f32135080cb4c3({ prop: prop , defaultProp: defaultProp , onChange: onChange = ()=>{} }) {\n const [uncontrolledProp, setUncontrolledProp] = $71cd76cc60e0454e$var$useUncontrolledState({\n defaultProp: defaultProp,\n onChange: onChange\n });\n const isControlled = prop !== undefined;\n const value1 = isControlled ? prop : uncontrolledProp;\n const handleChange = $bnPw9$useCallbackRef(onChange);\n const setValue = $bnPw9$useCallback((nextValue)=>{\n if (isControlled) {\n const setter = nextValue;\n const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n if (value !== prop) handleChange(value);\n } else setUncontrolledProp(nextValue);\n }, [\n isControlled,\n prop,\n setUncontrolledProp,\n handleChange\n ]);\n return [\n value1,\n setValue\n ];\n}\nfunction $71cd76cc60e0454e$var$useUncontrolledState({ defaultProp: defaultProp , onChange: onChange }) {\n const uncontrolledState = $bnPw9$useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = $bnPw9$useRef(value);\n const handleChange = $bnPw9$useCallbackRef(onChange);\n $bnPw9$useEffect(()=>{\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [\n value,\n prevValueRef,\n handleChange\n ]);\n return uncontrolledState;\n}\n\n\n\n\nexport {$71cd76cc60e0454e$export$6f32135080cb4c3 as useControllableState};\n//# sourceMappingURL=index.module.js.map\n","import $9IrjX$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment} from \"react\";\nimport {composeRefs as $9IrjX$composeRefs} from \"@radix-ui/react-compose-refs\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n const childrenArray = $9IrjX$Children.toArray(children);\n const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child)=>{\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if ($9IrjX$Children.count(newElement) > 1) return $9IrjX$Children.only(null);\n return /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;\n } else return child;\n });\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? /*#__PURE__*/ $9IrjX$cloneElement(newElement, undefined, newChildren) : null);\n }\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), children);\n});\n$5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n if (/*#__PURE__*/ $9IrjX$isValidElement(children)) return /*#__PURE__*/ $9IrjX$cloneElement(children, {\n ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),\n ref: $9IrjX$composeRefs(forwardedRef, children.ref)\n });\n return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;\n});\n$5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children })=>{\n return /*#__PURE__*/ $9IrjX$createElement($9IrjX$Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {\n return /*#__PURE__*/ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;\n}\nfunction $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {\n // all child props should override\n const overrideProps = {\n ...childProps\n };\n for(const propName in childProps){\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n childPropValue(...args);\n slotPropValue(...args);\n };\n else if (slotPropValue) overrideProps[propName] = slotPropValue;\n } else if (propName === 'style') overrideProps[propName] = {\n ...slotPropValue,\n ...childPropValue\n };\n else if (propName === 'className') overrideProps[propName] = [\n slotPropValue,\n childPropValue\n ].filter(Boolean).join(' ');\n }\n return {\n ...slotProps,\n ...overrideProps\n };\n}\nconst $5e63c961fc1ce211$export$be92b6f5f03c0fe9 = $5e63c961fc1ce211$export$8c6ed5c666ac1360;\n\n\n\n\nexport {$5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable, $5e63c961fc1ce211$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import $4q5Fq$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement} from \"react\";\nimport {flushSync as $4q5Fq$flushSync} from \"react-dom\";\nimport {Slot as $4q5Fq$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\nconst $8927f6f2acc4f386$var$NODES = [\n 'a',\n 'button',\n 'div',\n 'h2',\n 'h3',\n 'img',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'span',\n 'svg',\n 'ul'\n]; // Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node)=>{\n const Node = /*#__PURE__*/ $4q5Fq$forwardRef((props, forwardedRef)=>{\n const { asChild: asChild , ...primitiveProps } = props;\n const Comp = asChild ? $4q5Fq$Slot : node;\n $4q5Fq$useEffect(()=>{\n window[Symbol.for('radix-ui')] = true;\n }, []);\n return /*#__PURE__*/ $4q5Fq$createElement(Comp, $4q5Fq$babelruntimehelpersesmextends({}, primitiveProps, {\n ref: forwardedRef\n }));\n });\n Node.displayName = `Primitive.${node}`;\n return {\n ...primitive,\n [node]: Node\n };\n}, {});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */ function $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event) {\n if (target) $4q5Fq$flushSync(()=>target.dispatchEvent(event)\n );\n}\n/* -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$be92b6f5f03c0fe9 = $8927f6f2acc4f386$export$250ffa63cdc0d034;\n\n\n\n\nexport {$8927f6f2acc4f386$export$250ffa63cdc0d034 as Primitive, $8927f6f2acc4f386$export$be92b6f5f03c0fe9 as Root, $8927f6f2acc4f386$export$6d1a0317bde7de7f as dispatchDiscreteCustomEvent};\n//# sourceMappingURL=index.module.js.map\n","import {useEffect as $hPSQ5$useEffect} from \"react\";\nimport {useCallbackRef as $hPSQ5$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\n/**\n * Listens for when the escape key is down\n */ function $addc16e1bbe58fd0$export$3a72a57244d6e765(onEscapeKeyDownProp, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n const onEscapeKeyDown = $hPSQ5$useCallbackRef(onEscapeKeyDownProp);\n $hPSQ5$useEffect(()=>{\n const handleKeyDown = (event)=>{\n if (event.key === 'Escape') onEscapeKeyDown(event);\n };\n ownerDocument.addEventListener('keydown', handleKeyDown);\n return ()=>ownerDocument.removeEventListener('keydown', handleKeyDown)\n ;\n }, [\n onEscapeKeyDown,\n ownerDocument\n ]);\n}\n\n\n\n\nexport {$addc16e1bbe58fd0$export$3a72a57244d6e765 as useEscapeKeydown};\n//# sourceMappingURL=index.module.js.map\n","import $kqwpH$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {createContext as $kqwpH$createContext, forwardRef as $kqwpH$forwardRef, useContext as $kqwpH$useContext, useState as $kqwpH$useState, useEffect as $kqwpH$useEffect, createElement as $kqwpH$createElement, useRef as $kqwpH$useRef} from \"react\";\nimport {composeEventHandlers as $kqwpH$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {Primitive as $kqwpH$Primitive, dispatchDiscreteCustomEvent as $kqwpH$dispatchDiscreteCustomEvent} from \"@radix-ui/react-primitive\";\nimport {useComposedRefs as $kqwpH$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useCallbackRef as $kqwpH$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useEscapeKeydown as $kqwpH$useEscapeKeydown} from \"@radix-ui/react-use-escape-keydown\";\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayer\n * -----------------------------------------------------------------------------------------------*/ const $5cb92bef7577960e$var$DISMISSABLE_LAYER_NAME = 'DismissableLayer';\nconst $5cb92bef7577960e$var$CONTEXT_UPDATE = 'dismissableLayer.update';\nconst $5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';\nconst $5cb92bef7577960e$var$FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';\nlet $5cb92bef7577960e$var$originalBodyPointerEvents;\nconst $5cb92bef7577960e$var$DismissableLayerContext = /*#__PURE__*/ $kqwpH$createContext({\n layers: new Set(),\n layersWithOutsidePointerEventsDisabled: new Set(),\n branches: new Set()\n});\nconst $5cb92bef7577960e$export$177fb62ff3ec1f22 = /*#__PURE__*/ $kqwpH$forwardRef((props, forwardedRef)=>{\n var _node$ownerDocument;\n const { disableOutsidePointerEvents: disableOutsidePointerEvents = false , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , ...layerProps } = props;\n const context = $kqwpH$useContext($5cb92bef7577960e$var$DismissableLayerContext);\n const [node1, setNode] = $kqwpH$useState(null);\n const ownerDocument = (_node$ownerDocument = node1 === null || node1 === void 0 ? void 0 : node1.ownerDocument) !== null && _node$ownerDocument !== void 0 ? _node$ownerDocument : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;\n const [, force] = $kqwpH$useState({});\n const composedRefs = $kqwpH$useComposedRefs(forwardedRef, (node)=>setNode(node)\n );\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [\n ...context.layersWithOutsidePointerEventsDisabled\n ].slice(-1); // prettier-ignore\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled); // prettier-ignore\n const index = node1 ? layers.indexOf(node1) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = $5cb92bef7577960e$var$usePointerDownOutside((event)=>{\n const target = event.target;\n const isPointerDownOnBranch = [\n ...context.branches\n ].some((branch)=>branch.contains(target)\n );\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside === null || onPointerDownOutside === void 0 || onPointerDownOutside(event);\n onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);\n if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();\n }, ownerDocument);\n const focusOutside = $5cb92bef7577960e$var$useFocusOutside((event)=>{\n const target = event.target;\n const isFocusInBranch = [\n ...context.branches\n ].some((branch)=>branch.contains(target)\n );\n if (isFocusInBranch) return;\n onFocusOutside === null || onFocusOutside === void 0 || onFocusOutside(event);\n onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);\n if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();\n }, ownerDocument);\n $kqwpH$useEscapeKeydown((event)=>{\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n $kqwpH$useEffect(()=>{\n if (!node1) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n $5cb92bef7577960e$var$originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = 'none';\n }\n context.layersWithOutsidePointerEventsDisabled.add(node1);\n }\n context.layers.add(node1);\n $5cb92bef7577960e$var$dispatchUpdate();\n return ()=>{\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) ownerDocument.body.style.pointerEvents = $5cb92bef7577960e$var$originalBodyPointerEvents;\n };\n }, [\n node1,\n ownerDocument,\n disableOutsidePointerEvents,\n context\n ]);\n /**\n * We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect\n * because a change to `disableOutsidePointerEvents` would remove this layer from the stack\n * and add it to the end again so the layering order wouldn't be _creation order_.\n * We only want them to be removed from context stacks when unmounted.\n */ $kqwpH$useEffect(()=>{\n return ()=>{\n if (!node1) return;\n context.layers.delete(node1);\n context.layersWithOutsidePointerEventsDisabled.delete(node1);\n $5cb92bef7577960e$var$dispatchUpdate();\n };\n }, [\n node1,\n context\n ]);\n $kqwpH$useEffect(()=>{\n const handleUpdate = ()=>force({})\n ;\n document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate);\n return ()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate)\n ;\n }, []);\n return /*#__PURE__*/ $kqwpH$createElement($kqwpH$Primitive.div, $kqwpH$babelruntimehelpersesmextends({}, layerProps, {\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? 'auto' : 'none' : undefined,\n ...props.style\n },\n onFocusCapture: $kqwpH$composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: $kqwpH$composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: $kqwpH$composeEventHandlers(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)\n }));\n});\n/*#__PURE__*/ Object.assign($5cb92bef7577960e$export$177fb62ff3ec1f22, {\n displayName: $5cb92bef7577960e$var$DISMISSABLE_LAYER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayerBranch\n * -----------------------------------------------------------------------------------------------*/ const $5cb92bef7577960e$var$BRANCH_NAME = 'DismissableLayerBranch';\nconst $5cb92bef7577960e$export$4d5eb2109db14228 = /*#__PURE__*/ $kqwpH$forwardRef((props, forwardedRef)=>{\n const context = $kqwpH$useContext($5cb92bef7577960e$var$DismissableLayerContext);\n const ref = $kqwpH$useRef(null);\n const composedRefs = $kqwpH$useComposedRefs(forwardedRef, ref);\n $kqwpH$useEffect(()=>{\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return ()=>{\n context.branches.delete(node);\n };\n }\n }, [\n context.branches\n ]);\n return /*#__PURE__*/ $kqwpH$createElement($kqwpH$Primitive.div, $kqwpH$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs\n }));\n});\n/*#__PURE__*/ Object.assign($5cb92bef7577960e$export$4d5eb2109db14228, {\n displayName: $5cb92bef7577960e$var$BRANCH_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ /**\n * Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer dismissing behaviour present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */ function $5cb92bef7577960e$var$usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n const handlePointerDownOutside = $kqwpH$useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = $kqwpH$useRef(false);\n const handleClickRef = $kqwpH$useRef(()=>{});\n $kqwpH$useEffect(()=>{\n const handlePointerDown = (event)=>{\n if (event.target && !isPointerInsideReactTreeRef.current) {\n const eventDetail = {\n originalEvent: event\n };\n function handleAndDispatchPointerDownOutsideEvent() {\n $5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {\n discrete: true\n });\n }\n /**\n * On touch devices, we need to wait for a click event because browsers implement\n * a ~350ms delay between the time the user stops touching the display and when the\n * browser executres events. We need to ensure we don't reactivate pointer-events within\n * this timeframe otherwise the browser may execute events that should have been prevented.\n *\n * Additionally, this also lets us deal automatically with cancellations when a click event\n * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n *\n * This is why we also continuously remove the previous listener, because we cannot be\n * certain that it was raised, and therefore cleaned-up.\n */ if (event.pointerType === 'touch') {\n ownerDocument.removeEventListener('click', handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;\n ownerDocument.addEventListener('click', handleClickRef.current, {\n once: true\n });\n } else handleAndDispatchPointerDownOutsideEvent();\n }\n isPointerInsideReactTreeRef.current = false;\n };\n /**\n * if this hook executes in a component that mounts via a `pointerdown` event, the event\n * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n * this by delaying the event listener registration on the document.\n * This is not React specific, but rather how the DOM works, ie:\n * ```\n * button.addEventListener('pointerdown', () => {\n * console.log('I will log');\n * document.addEventListener('pointerdown', () => {\n * console.log('I will also log');\n * })\n * });\n */ const timerId = window.setTimeout(()=>{\n ownerDocument.addEventListener('pointerdown', handlePointerDown);\n }, 0);\n return ()=>{\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener('pointerdown', handlePointerDown);\n ownerDocument.removeEventListener('click', handleClickRef.current);\n };\n }, [\n ownerDocument,\n handlePointerDownOutside\n ]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true\n };\n}\n/**\n * Listens for when focus happens outside a react subtree.\n * Returns props to pass to the root (node) of the subtree we want to check.\n */ function $5cb92bef7577960e$var$useFocusOutside(onFocusOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n const handleFocusOutside = $kqwpH$useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = $kqwpH$useRef(false);\n $kqwpH$useEffect(()=>{\n const handleFocus = (event)=>{\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = {\n originalEvent: event\n };\n $5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener('focusin', handleFocus);\n return ()=>ownerDocument.removeEventListener('focusin', handleFocus)\n ;\n }, [\n ownerDocument,\n handleFocusOutside\n ]);\n return {\n onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true\n ,\n onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false\n };\n}\nfunction $5cb92bef7577960e$var$dispatchUpdate() {\n const event = new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction $5cb92bef7577960e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: true,\n detail: detail\n });\n if (handler) target.addEventListener(name, handler, {\n once: true\n });\n if (discrete) $kqwpH$dispatchDiscreteCustomEvent(target, event);\n else target.dispatchEvent(event);\n}\nconst $5cb92bef7577960e$export$be92b6f5f03c0fe9 = $5cb92bef7577960e$export$177fb62ff3ec1f22;\nconst $5cb92bef7577960e$export$aecb2ddcb55c95be = $5cb92bef7577960e$export$4d5eb2109db14228;\n\n\n\n\nexport {$5cb92bef7577960e$export$177fb62ff3ec1f22 as DismissableLayer, $5cb92bef7577960e$export$4d5eb2109db14228 as DismissableLayerBranch, $5cb92bef7577960e$export$be92b6f5f03c0fe9 as Root, $5cb92bef7577960e$export$aecb2ddcb55c95be as Branch};\n//# sourceMappingURL=index.module.js.map\n","import $45QHv$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $45QHv$forwardRef, useState as $45QHv$useState, useRef as $45QHv$useRef, useEffect as $45QHv$useEffect, useCallback as $45QHv$useCallback, createElement as $45QHv$createElement} from \"react\";\nimport {useComposedRefs as $45QHv$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Primitive as $45QHv$Primitive} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $45QHv$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\n\n\n\nconst $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';\nconst $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';\nconst $d3863c46a17e8a28$var$EVENT_OPTIONS = {\n bubbles: false,\n cancelable: true\n};\n/* -------------------------------------------------------------------------------------------------\n * FocusScope\n * -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$FOCUS_SCOPE_NAME = 'FocusScope';\nconst $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ $45QHv$forwardRef((props, forwardedRef)=>{\n const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;\n const [container1, setContainer] = $45QHv$useState(null);\n const onMountAutoFocus = $45QHv$useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = $45QHv$useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = $45QHv$useRef(null);\n const composedRefs = $45QHv$useComposedRefs(forwardedRef, (node)=>setContainer(node)\n );\n const focusScope = $45QHv$useRef({\n paused: false,\n pause () {\n this.paused = true;\n },\n resume () {\n this.paused = false;\n }\n }).current; // Takes care of trapping focus if focus is moved outside programmatically for example\n $45QHv$useEffect(()=>{\n if (trapped) {\n function handleFocusIn(event) {\n if (focusScope.paused || !container1) return;\n const target = event.target;\n if (container1.contains(target)) lastFocusedElementRef.current = target;\n else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {\n select: true\n });\n }\n function handleFocusOut(event) {\n if (focusScope.paused || !container1) return;\n if (!container1.contains(event.relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {\n select: true\n });\n }\n document.addEventListener('focusin', handleFocusIn);\n document.addEventListener('focusout', handleFocusOut);\n return ()=>{\n document.removeEventListener('focusin', handleFocusIn);\n document.removeEventListener('focusout', handleFocusOut);\n };\n }\n }, [\n trapped,\n container1,\n focusScope.paused\n ]);\n $45QHv$useEffect(()=>{\n if (container1) {\n $d3863c46a17e8a28$var$focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container1.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);\n container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container1.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n $d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {\n select: true\n });\n if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);\n }\n }\n return ()=>{\n container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.\n // We need to delay the focus a little to get around it for now.\n // See: https://github.com/facebook/react/issues/17894\n setTimeout(()=>{\n const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);\n container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container1.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {\n select: true\n });\n // we need to remove the listener after we `dispatchEvent`\n container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n $d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [\n container1,\n onMountAutoFocus,\n onUnmountAutoFocus,\n focusScope\n ]); // Takes care of looping focus (when tabbing whilst at the edges)\n const handleKeyDown = $45QHv$useCallback((event)=>{\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container = event.currentTarget;\n const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);\n const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges\n if (!hasTabbableElementsInside) {\n if (focusedElement === container) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) $d3863c46a17e8a28$var$focus(first, {\n select: true\n });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) $d3863c46a17e8a28$var$focus(last, {\n select: true\n });\n }\n }\n }\n }, [\n loop,\n trapped,\n focusScope.paused\n ]);\n return /*#__PURE__*/ $45QHv$createElement($45QHv$Primitive.div, $45QHv$babelruntimehelpersesmextends({\n tabIndex: -1\n }, scopeProps, {\n ref: composedRefs,\n onKeyDown: handleKeyDown\n }));\n});\n/*#__PURE__*/ Object.assign($d3863c46a17e8a28$export$20e40289641fbbb6, {\n displayName: $d3863c46a17e8a28$var$FOCUS_SCOPE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Attempts focusing the first element in a list of candidates.\n * Stops when focus has actually moved.\n */ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates){\n $d3863c46a17e8a28$var$focus(candidate, {\n select: select\n });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\n/**\n * Returns the first and last tabbable elements inside a container.\n */ function $d3863c46a17e8a28$var$getTabbableEdges(container) {\n const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);\n const first = $d3863c46a17e8a28$var$findVisible(candidates, container);\n const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);\n return [\n first,\n last\n ];\n}\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node)=>{\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it\n // hinders accessibility to have tab order different from visual order.\n return nodes;\n}\n/**\n * Returns the first visible element in a list.\n * NOTE: Only checks visibility up to the `container`.\n */ function $d3863c46a17e8a28$var$findVisible(elements, container) {\n for (const element of elements){\n // we stop checking if it's hidden at the `container` level (excluding)\n if (!$d3863c46a17e8a28$var$isHidden(element, {\n upTo: container\n })) return element;\n }\n}\nfunction $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo }) {\n if (getComputedStyle(node).visibility === 'hidden') return true;\n while(node){\n // we stop at `upTo` (excluding it)\n if (upTo !== undefined && node === upTo) return false;\n if (getComputedStyle(node).display === 'none') return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction $d3863c46a17e8a28$var$isSelectableInput(element) {\n return element instanceof HTMLInputElement && 'select' in element;\n}\nfunction $d3863c46a17e8a28$var$focus(element, { select: select = false } = {}) {\n // only focus if that element is focusable\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users\n element.focus({\n preventScroll: true\n }); // only select if its not the same element, it supports selection and we need to select\n if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();\n }\n}\n/* -------------------------------------------------------------------------------------------------\n * FocusScope stack\n * -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();\nfunction $d3863c46a17e8a28$var$createFocusScopesStack() {\n /** A stack of focus scopes, with the active one at the top */ let stack = [];\n return {\n add (focusScope) {\n // pause the currently active focus scope (at the top of the stack)\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();\n // remove in case it already exists (because we'll re-add it at the top of the stack)\n stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove (focusScope) {\n var _stack$;\n stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);\n (_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();\n }\n };\n}\nfunction $d3863c46a17e8a28$var$arrayRemove(array, item) {\n const updatedArray = [\n ...array\n ];\n const index = updatedArray.indexOf(item);\n if (index !== -1) updatedArray.splice(index, 1);\n return updatedArray;\n}\nfunction $d3863c46a17e8a28$var$removeLinks(items) {\n return items.filter((item)=>item.tagName !== 'A'\n );\n}\nconst $d3863c46a17e8a28$export$be92b6f5f03c0fe9 = $d3863c46a17e8a28$export$20e40289641fbbb6;\n\n\n\n\nexport {$d3863c46a17e8a28$export$20e40289641fbbb6 as FocusScope, $d3863c46a17e8a28$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import $7SXl2$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $7SXl2$forwardRef, createElement as $7SXl2$createElement} from \"react\";\nimport $7SXl2$reactdom from \"react-dom\";\nimport {Primitive as $7SXl2$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Portal\n * -----------------------------------------------------------------------------------------------*/ const $f1701beae083dbae$var$PORTAL_NAME = 'Portal';\nconst $f1701beae083dbae$export$602eac185826482c = /*#__PURE__*/ $7SXl2$forwardRef((props, forwardedRef)=>{\n var _globalThis$document;\n const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;\n return container ? /*#__PURE__*/ $7SXl2$reactdom.createPortal(/*#__PURE__*/ $7SXl2$createElement($7SXl2$Primitive.div, $7SXl2$babelruntimehelpersesmextends({}, portalProps, {\n ref: forwardedRef\n })), container) : null;\n});\n/*#__PURE__*/ Object.assign($f1701beae083dbae$export$602eac185826482c, {\n displayName: $f1701beae083dbae$var$PORTAL_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $f1701beae083dbae$export$be92b6f5f03c0fe9 = $f1701beae083dbae$export$602eac185826482c;\n\n\n\n\nexport {$f1701beae083dbae$export$602eac185826482c as Portal, $f1701beae083dbae$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import {Children as $iqq3r$Children, cloneElement as $iqq3r$cloneElement, useState as $iqq3r$useState, useRef as $iqq3r$useRef, useEffect as $iqq3r$useEffect, useCallback as $iqq3r$useCallback, useReducer as $iqq3r$useReducer} from \"react\";\nimport {flushSync as $iqq3r$flushSync} from \"react-dom\";\nimport {useComposedRefs as $iqq3r$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useLayoutEffect as $iqq3r$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\n\n\n\nfunction $fe963b355347cc68$export$3e6543de14f8614f(initialState, machine) {\n return $iqq3r$useReducer((state, event)=>{\n const nextState = machine[state][event];\n return nextState !== null && nextState !== void 0 ? nextState : state;\n }, initialState);\n}\n\n\nconst $921a889cee6df7e8$export$99c2b779aa4e8b8b = (props)=>{\n const { present: present , children: children } = props;\n const presence = $921a889cee6df7e8$var$usePresence(present);\n const child = typeof children === 'function' ? children({\n present: presence.isPresent\n }) : $iqq3r$Children.only(children);\n const ref = $iqq3r$useComposedRefs(presence.ref, child.ref);\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? /*#__PURE__*/ $iqq3r$cloneElement(child, {\n ref: ref\n }) : null;\n};\n$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName = 'Presence';\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$usePresence(present) {\n const [node1, setNode] = $iqq3r$useState();\n const stylesRef = $iqq3r$useRef({});\n const prevPresentRef = $iqq3r$useRef(present);\n const prevAnimationNameRef = $iqq3r$useRef('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = $fe963b355347cc68$export$3e6543de14f8614f(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended'\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted'\n },\n unmounted: {\n MOUNT: 'mounted'\n }\n });\n $iqq3r$useEffect(()=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [\n state\n ]);\n $iqq3r$useLayoutEffect(()=>{\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(styles);\n if (present) send('MOUNT');\n else if (currentAnimationName === 'none' || (styles === null || styles === void 0 ? void 0 : styles.display) === 'none') // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */ const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) send('ANIMATION_OUT');\n else send('UNMOUNT');\n }\n prevPresentRef.current = present;\n }\n }, [\n present,\n send\n ]);\n $iqq3r$useLayoutEffect(()=>{\n if (node1) {\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */ const handleAnimationEnd = (event)=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node1 && isCurrentAnimation) // With React 18 concurrency this update is applied\n // a frame after the animation ends, creating a flash of visible content.\n // By manually flushing we ensure they sync within a frame, removing the flash.\n $iqq3r$flushSync(()=>send('ANIMATION_END')\n );\n };\n const handleAnimationStart = (event)=>{\n if (event.target === node1) // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n };\n node1.addEventListener('animationstart', handleAnimationStart);\n node1.addEventListener('animationcancel', handleAnimationEnd);\n node1.addEventListener('animationend', handleAnimationEnd);\n return ()=>{\n node1.removeEventListener('animationstart', handleAnimationStart);\n node1.removeEventListener('animationcancel', handleAnimationEnd);\n node1.removeEventListener('animationend', handleAnimationEnd);\n };\n } else // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }, [\n node1,\n send\n ]);\n return {\n isPresent: [\n 'mounted',\n 'unmountSuspended'\n ].includes(state),\n ref: $iqq3r$useCallback((node)=>{\n if (node) stylesRef.current = getComputedStyle(node);\n setNode(node);\n }, [])\n };\n}\n/* -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$getAnimationName(styles) {\n return (styles === null || styles === void 0 ? void 0 : styles.animationName) || 'none';\n}\n\n\n\n\nexport {$921a889cee6df7e8$export$99c2b779aa4e8b8b as Presence};\n//# sourceMappingURL=index.module.js.map\n","import {useEffect as $1wErz$useEffect} from \"react\";\n\n\n/** Number of components which have requested interest to have focus guards */ let $3db38b7d1fb3fe6a$var$count = 0;\nfunction $3db38b7d1fb3fe6a$export$ac5b58043b79449b(props) {\n $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();\n return props.children;\n}\n/**\n * Injects a pair of focus guards at the edges of the whole DOM tree\n * to ensure `focusin` & `focusout` events can be caught consistently.\n */ function $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c() {\n $1wErz$useEffect(()=>{\n var _edgeGuards$, _edgeGuards$2;\n const edgeGuards = document.querySelectorAll('[data-radix-focus-guard]');\n document.body.insertAdjacentElement('afterbegin', (_edgeGuards$ = edgeGuards[0]) !== null && _edgeGuards$ !== void 0 ? _edgeGuards$ : $3db38b7d1fb3fe6a$var$createFocusGuard());\n document.body.insertAdjacentElement('beforeend', (_edgeGuards$2 = edgeGuards[1]) !== null && _edgeGuards$2 !== void 0 ? _edgeGuards$2 : $3db38b7d1fb3fe6a$var$createFocusGuard());\n $3db38b7d1fb3fe6a$var$count++;\n return ()=>{\n if ($3db38b7d1fb3fe6a$var$count === 1) document.querySelectorAll('[data-radix-focus-guard]').forEach((node)=>node.remove()\n );\n $3db38b7d1fb3fe6a$var$count--;\n };\n }, []);\n}\nfunction $3db38b7d1fb3fe6a$var$createFocusGuard() {\n const element = document.createElement('span');\n element.setAttribute('data-radix-focus-guard', '');\n element.tabIndex = 0;\n element.style.cssText = 'outline: none; opacity: 0; position: fixed; pointer-events: none';\n return element;\n}\nconst $3db38b7d1fb3fe6a$export$be92b6f5f03c0fe9 = $3db38b7d1fb3fe6a$export$ac5b58043b79449b;\n\n\n\n\nexport {$3db38b7d1fb3fe6a$export$ac5b58043b79449b as FocusGuards, $3db38b7d1fb3fe6a$export$be92b6f5f03c0fe9 as Root, $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c as useFocusGuards};\n//# sourceMappingURL=index.module.js.map\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v16.14.0\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nexports.Fragment = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n exports.Fragment = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = '';\n\n if (currentlyValidatingElement) {\n var name = getComponentName(currentlyValidatingElement.type);\n var owner = currentlyValidatingElement._owner;\n stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));\n }\n\n stack += ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n }\n\n var argsWithFormat = args.map(function (item) {\n return '' + item;\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\n\nvar BEFORE_SLASH_RE = /^(.*)[\\\\\\/]/;\nfunction describeComponentFrame (name, source, ownerName) {\n var sourceInfo = '';\n\n if (source) {\n var path = source.fileName;\n var fileName = path.replace(BEFORE_SLASH_RE, '');\n\n {\n // In DEV, include code for a common special case:\n // prefer \"folder/index.js\" instead of just \"index.js\".\n if (/^index\\./.test(fileName)) {\n var match = path.match(BEFORE_SLASH_RE);\n\n if (match) {\n var pathBeforeSlash = match[1];\n\n if (pathBeforeSlash) {\n var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');\n fileName = folderName + '/' + fileName;\n }\n }\n }\n }\n\n sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';\n } else if (ownerName) {\n sourceInfo = ' (created by ' + ownerName + ')';\n }\n\n return '\\n in ' + (name || 'Unknown') + sourceInfo;\n}\n\nvar Resolved = 1;\nfunction refineResolvedLazyComponent(lazyComponent) {\n return lazyComponent._status === Resolved ? lazyComponent._result : null;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n}\n\nfunction getComponentName(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case exports.Fragment:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return 'Context.Consumer';\n\n case REACT_PROVIDER_TYPE:\n return 'Context.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n return getComponentName(type.type);\n\n case REACT_BLOCK_TYPE:\n return getComponentName(type.render);\n\n case REACT_LAZY_TYPE:\n {\n var thenable = type;\n var resolvedThenable = refineResolvedLazyComponent(thenable);\n\n if (resolvedThenable) {\n return getComponentName(resolvedThenable);\n }\n\n break;\n }\n }\n }\n\n return null;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar currentlyValidatingElement = null;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n currentlyValidatingElement = element;\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentName(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n currentlyValidatingElement = element;\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentName(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentName(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentName(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentName(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (Array.isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentName(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === exports.Fragment) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (props) {\n var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () { return styleSingleton(); })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets.map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n }).filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import $67UHm$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useRef as $67UHm$useRef, createElement as $67UHm$createElement, useCallback as $67UHm$useCallback, forwardRef as $67UHm$forwardRef, Children as $67UHm$Children, useEffect as $67UHm$useEffect, Fragment as $67UHm$Fragment} from \"react\";\nimport {composeEventHandlers as $67UHm$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $67UHm$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $67UHm$createContextScope, createContext as $67UHm$createContext} from \"@radix-ui/react-context\";\nimport {useId as $67UHm$useId} from \"@radix-ui/react-id\";\nimport {useControllableState as $67UHm$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {DismissableLayer as $67UHm$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {FocusScope as $67UHm$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {Portal as $67UHm$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $67UHm$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $67UHm$Primitive} from \"@radix-ui/react-primitive\";\nimport {useFocusGuards as $67UHm$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {RemoveScroll as $67UHm$RemoveScroll} from \"react-remove-scroll\";\nimport {hideOthers as $67UHm$hideOthers} from \"aria-hidden\";\nimport {Slot as $67UHm$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DIALOG_NAME = 'Dialog';\nconst [$5d3850c4d0b4e6c7$var$createDialogContext, $5d3850c4d0b4e6c7$export$cc702773b8ea3e41] = $67UHm$createContextScope($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst [$5d3850c4d0b4e6c7$var$DialogProvider, $5d3850c4d0b4e6c7$var$useDialogContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 = (props)=>{\n const { __scopeDialog: __scopeDialog , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , modal: modal = true } = props;\n const triggerRef = $67UHm$useRef(null);\n const contentRef = $67UHm$useRef(null);\n const [open = false, setOpen] = $67UHm$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogProvider, {\n scope: __scopeDialog,\n triggerRef: triggerRef,\n contentRef: contentRef,\n contentId: $67UHm$useId(),\n titleId: $67UHm$useId(),\n descriptionId: $67UHm$useId(),\n open: open,\n onOpenChange: setOpen,\n onOpenToggle: $67UHm$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n )\n , [\n setOpen\n ]),\n modal: modal\n }, children);\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$3ddf2d174ce01153, {\n displayName: $5d3850c4d0b4e6c7$var$DIALOG_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TRIGGER_NAME = 'DialogTrigger';\nconst $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...triggerProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = $67UHm$useComposedRefs(forwardedRef, context.triggerRef);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, triggerProps, {\n ref: composedTriggerRef,\n onClick: $67UHm$composeEventHandlers(props.onClick, context.onOpenToggle)\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$2e1e1122cf0cba88, {\n displayName: $5d3850c4d0b4e6c7$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$PORTAL_NAME = 'DialogPortal';\nconst [$5d3850c4d0b4e6c7$var$PortalProvider, $5d3850c4d0b4e6c7$var$usePortalContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, {\n forceMount: undefined\n});\nconst $5d3850c4d0b4e6c7$export$dad7c95542bacce0 = (props)=>{\n const { __scopeDialog: __scopeDialog , forceMount: forceMount , children: children , container: container } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$PortalProvider, {\n scope: __scopeDialog,\n forceMount: forceMount\n }, $67UHm$Children.map(children, (child)=>/*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$Portal, {\n asChild: true,\n container: container\n }, child))\n ));\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$dad7c95542bacce0, {\n displayName: $5d3850c4d0b4e6c7$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$OVERLAY_NAME = 'DialogOverlay';\nconst $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n const { forceMount: forceMount = portalContext.forceMount , ...overlayProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogOverlayImpl, $67UHm$babelruntimehelpersesmextends({}, overlayProps, {\n ref: forwardedRef\n }))) : null;\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$bd1d06c79be19e17, {\n displayName: $5d3850c4d0b4e6c7$var$OVERLAY_NAME\n});\nconst $5d3850c4d0b4e6c7$var$DialogOverlayImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...overlayProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, __scopeDialog);\n return(/*#__PURE__*/ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n $67UHm$createElement($67UHm$RemoveScroll, {\n as: $67UHm$Slot,\n allowPinchZoom: true,\n shards: [\n context.contentRef\n ]\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.div, $67UHm$babelruntimehelpersesmextends({\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, overlayProps, {\n ref: forwardedRef // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n ,\n style: {\n pointerEvents: 'auto',\n ...overlayProps.style\n }\n }))));\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CONTENT_NAME = 'DialogContent';\nconst $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, context.modal ? /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })) : /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentNonModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$b6d9565de1e068cf, {\n displayName: $5d3850c4d0b4e6c7$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const contentRef = $67UHm$useRef(null);\n const composedRefs = $67UHm$useComposedRefs(forwardedRef, context.contentRef, contentRef); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n $67UHm$useEffect(()=>{\n const content = contentRef.current;\n if (content) return $67UHm$hideOthers(content);\n }, []);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs // we make sure focus isn't trapped once `DialogContent` has been closed\n ,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: $67UHm$composeEventHandlers(props.onCloseAutoFocus, (event)=>{\n var _context$triggerRef$c;\n event.preventDefault();\n (_context$triggerRef$c = context.triggerRef.current) === null || _context$triggerRef$c === void 0 || _context$triggerRef$c.focus();\n }),\n onPointerDownOutside: $67UHm$composeEventHandlers(props.onPointerDownOutside, (event)=>{\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick; // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n }) // When focus is trapped, a `focusout` event may still happen.\n ,\n onFocusOutside: $67UHm$composeEventHandlers(props.onFocusOutside, (event)=>event.preventDefault()\n )\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentNonModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = $67UHm$useRef(false);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event)=>{\n var _props$onCloseAutoFoc;\n (_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);\n if (!event.defaultPrevented) {\n var _context$triggerRef$c2;\n if (!hasInteractedOutsideRef.current) (_context$triggerRef$c2 = context.triggerRef.current) === null || _context$triggerRef$c2 === void 0 || _context$triggerRef$c2.focus(); // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event)=>{\n var _props$onInteractOuts, _context$triggerRef$c3;\n (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);\n if (!event.defaultPrevented) hasInteractedOutsideRef.current = true; // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n //\n // We use `onInteractOutside` as some browsers also\n // focus on pointer down, creating the same issue.\n const target = event.target;\n const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);\n if (targetIsTrigger) event.preventDefault();\n }\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , ...contentProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, __scopeDialog);\n const contentRef = $67UHm$useRef(null);\n const composedRefs = $67UHm$useComposedRefs(forwardedRef, contentRef); // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n $67UHm$useFocusGuards();\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Fragment, null, /*#__PURE__*/ $67UHm$createElement($67UHm$FocusScope, {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$DismissableLayer, $67UHm$babelruntimehelpersesmextends({\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, contentProps, {\n ref: composedRefs,\n onDismiss: ()=>context.onOpenChange(false)\n }))), false);\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TITLE_NAME = 'DialogTitle';\nconst $5d3850c4d0b4e6c7$export$16f7638e4a34b909 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...titleProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TITLE_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.h2, $67UHm$babelruntimehelpersesmextends({\n id: context.titleId\n }, titleProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$16f7638e4a34b909, {\n displayName: $5d3850c4d0b4e6c7$var$TITLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME = 'DialogDescription';\nconst $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...descriptionProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$DESCRIPTION_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.p, $67UHm$babelruntimehelpersesmextends({\n id: context.descriptionId\n }, descriptionProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$94e94c2ec2c954d5, {\n displayName: $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CLOSE_NAME = 'DialogClose';\nconst $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...closeProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CLOSE_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n type: \"button\"\n }, closeProps, {\n ref: forwardedRef,\n onClick: $67UHm$composeEventHandlers(props.onClick, ()=>context.onOpenChange(false)\n )\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac, {\n displayName: $5d3850c4d0b4e6c7$var$CLOSE_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $5d3850c4d0b4e6c7$var$getState(open) {\n return open ? 'open' : 'closed';\n}\nconst $5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME = 'DialogTitleWarning';\nconst [$5d3850c4d0b4e6c7$export$69b62a49393917d6, $5d3850c4d0b4e6c7$var$useWarningContext] = $67UHm$createContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME, {\n contentName: $5d3850c4d0b4e6c7$var$CONTENT_NAME,\n titleName: $5d3850c4d0b4e6c7$var$TITLE_NAME,\n docsSlug: 'dialog'\n});\nconst $5d3850c4d0b4e6c7$var$TitleWarning = ({ titleId: titleId })=>{\n const titleWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n $67UHm$useEffect(()=>{\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [\n MESSAGE,\n titleId\n ]);\n return null;\n};\nconst $5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\nconst $5d3850c4d0b4e6c7$var$DescriptionWarning = ({ contentRef: contentRef , descriptionId: descriptionId })=>{\n const descriptionWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n $67UHm$useEffect(()=>{\n var _contentRef$current;\n const describedById = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.getAttribute('aria-describedby'); // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [\n MESSAGE,\n contentRef,\n descriptionId\n ]);\n return null;\n};\nconst $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 = $5d3850c4d0b4e6c7$export$3ddf2d174ce01153;\nconst $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 = $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88;\nconst $5d3850c4d0b4e6c7$export$602eac185826482c = $5d3850c4d0b4e6c7$export$dad7c95542bacce0;\nconst $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff = $5d3850c4d0b4e6c7$export$bd1d06c79be19e17;\nconst $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 = $5d3850c4d0b4e6c7$export$b6d9565de1e068cf;\nconst $5d3850c4d0b4e6c7$export$f99233281efd08a0 = $5d3850c4d0b4e6c7$export$16f7638e4a34b909;\nconst $5d3850c4d0b4e6c7$export$393edc798c47379d = $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5;\nconst $5d3850c4d0b4e6c7$export$f39c2d165cd861fe = $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac;\n\n\n\n\nexport {$5d3850c4d0b4e6c7$export$cc702773b8ea3e41 as createDialogScope, $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 as Dialog, $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 as DialogTrigger, $5d3850c4d0b4e6c7$export$dad7c95542bacce0 as DialogPortal, $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 as DialogOverlay, $5d3850c4d0b4e6c7$export$b6d9565de1e068cf as DialogContent, $5d3850c4d0b4e6c7$export$16f7638e4a34b909 as DialogTitle, $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 as DialogDescription, $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac as DialogClose, $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 as Root, $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 as Trigger, $5d3850c4d0b4e6c7$export$602eac185826482c as Portal, $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff as Overlay, $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 as Content, $5d3850c4d0b4e6c7$export$f99233281efd08a0 as Title, $5d3850c4d0b4e6c7$export$393edc798c47379d as Description, $5d3850c4d0b4e6c7$export$f39c2d165cd861fe as Close, $5d3850c4d0b4e6c7$export$69b62a49393917d6 as WarningProvider};\n//# sourceMappingURL=index.module.js.map\n","import $4k4D0$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {createElement as $4k4D0$createElement, forwardRef as $4k4D0$forwardRef, useRef as $4k4D0$useRef, useEffect as $4k4D0$useEffect} from \"react\";\nimport {createContextScope as $4k4D0$createContextScope} from \"@radix-ui/react-context\";\nimport {useComposedRefs as $4k4D0$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createDialogScope as $4k4D0$createDialogScope, Root as $4k4D0$Root, Trigger as $4k4D0$Trigger, Portal as $4k4D0$Portal, Overlay as $4k4D0$Overlay, WarningProvider as $4k4D0$WarningProvider, Content as $4k4D0$Content, Title as $4k4D0$Title, Description as $4k4D0$Description, Close as $4k4D0$Close} from \"@radix-ui/react-dialog\";\nimport {composeEventHandlers as $4k4D0$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {Slottable as $4k4D0$Slottable} from \"@radix-ui/react-slot\";\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialog\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$ROOT_NAME = 'AlertDialog';\nconst [$905f4ae918aab1aa$var$createAlertDialogContext, $905f4ae918aab1aa$export$b8891880751c2c5b] = $4k4D0$createContextScope($905f4ae918aab1aa$var$ROOT_NAME, [\n $4k4D0$createDialogScope\n]);\nconst $905f4ae918aab1aa$var$useDialogScope = $4k4D0$createDialogScope();\nconst $905f4ae918aab1aa$export$de466dd8317b0b75 = (props)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...alertDialogProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Root, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, alertDialogProps, {\n modal: true\n }));\n};\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$de466dd8317b0b75, {\n displayName: $905f4ae918aab1aa$var$ROOT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTrigger\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$TRIGGER_NAME = 'AlertDialogTrigger';\nconst $905f4ae918aab1aa$export$6edd7a623ef0f40b = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...triggerProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Trigger, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, triggerProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$6edd7a623ef0f40b, {\n displayName: $905f4ae918aab1aa$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogPortal\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$PORTAL_NAME = 'AlertDialogPortal';\nconst $905f4ae918aab1aa$export$660f2bfdb986706c = (props)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...portalProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Portal, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, portalProps));\n};\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$660f2bfdb986706c, {\n displayName: $905f4ae918aab1aa$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogOverlay\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$OVERLAY_NAME = 'AlertDialogOverlay';\nconst $905f4ae918aab1aa$export$a707a4895ce23256 = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...overlayProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Overlay, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, overlayProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$a707a4895ce23256, {\n displayName: $905f4ae918aab1aa$var$OVERLAY_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogContent\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$CONTENT_NAME = 'AlertDialogContent';\nconst [$905f4ae918aab1aa$var$AlertDialogContentProvider, $905f4ae918aab1aa$var$useAlertDialogContentContext] = $905f4ae918aab1aa$var$createAlertDialogContext($905f4ae918aab1aa$var$CONTENT_NAME);\nconst $905f4ae918aab1aa$export$94e6af45f0af4efd = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , children: children , ...contentProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n const contentRef = $4k4D0$useRef(null);\n const composedRefs = $4k4D0$useComposedRefs(forwardedRef, contentRef);\n const cancelRef = $4k4D0$useRef(null);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$WarningProvider, {\n contentName: $905f4ae918aab1aa$var$CONTENT_NAME,\n titleName: $905f4ae918aab1aa$var$TITLE_NAME,\n docsSlug: \"alert-dialog\"\n }, /*#__PURE__*/ $4k4D0$createElement($905f4ae918aab1aa$var$AlertDialogContentProvider, {\n scope: __scopeAlertDialog,\n cancelRef: cancelRef\n }, /*#__PURE__*/ $4k4D0$createElement($4k4D0$Content, $4k4D0$babelruntimehelpersesmextends({\n role: \"alertdialog\"\n }, dialogScope, contentProps, {\n ref: composedRefs,\n onOpenAutoFocus: $4k4D0$composeEventHandlers(contentProps.onOpenAutoFocus, (event)=>{\n var _cancelRef$current;\n event.preventDefault();\n (_cancelRef$current = cancelRef.current) === null || _cancelRef$current === void 0 || _cancelRef$current.focus({\n preventScroll: true\n });\n }),\n onPointerDownOutside: (event)=>event.preventDefault()\n ,\n onInteractOutside: (event)=>event.preventDefault()\n }), /*#__PURE__*/ $4k4D0$createElement($4k4D0$Slottable, null, children), false)));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$94e6af45f0af4efd, {\n displayName: $905f4ae918aab1aa$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTitle\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$TITLE_NAME = 'AlertDialogTitle';\nconst $905f4ae918aab1aa$export$225e0da62d314b7 = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...titleProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Title, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, titleProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$225e0da62d314b7, {\n displayName: $905f4ae918aab1aa$var$TITLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogDescription\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$DESCRIPTION_NAME = 'AlertDialogDescription';\nconst $905f4ae918aab1aa$export$a23b55cde55ad9a5 = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...descriptionProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Description, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, descriptionProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$a23b55cde55ad9a5, {\n displayName: $905f4ae918aab1aa$var$DESCRIPTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogAction\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$ACTION_NAME = 'AlertDialogAction';\nconst $905f4ae918aab1aa$export$b454f818c58ee85d = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...actionProps } = props;\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Close, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, actionProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$b454f818c58ee85d, {\n displayName: $905f4ae918aab1aa$var$ACTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogCancel\n * -----------------------------------------------------------------------------------------------*/ const $905f4ae918aab1aa$var$CANCEL_NAME = 'AlertDialogCancel';\nconst $905f4ae918aab1aa$export$2f67a923571aaea0 = /*#__PURE__*/ $4k4D0$forwardRef((props, forwardedRef)=>{\n const { __scopeAlertDialog: __scopeAlertDialog , ...cancelProps } = props;\n const { cancelRef: cancelRef } = $905f4ae918aab1aa$var$useAlertDialogContentContext($905f4ae918aab1aa$var$CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = $905f4ae918aab1aa$var$useDialogScope(__scopeAlertDialog);\n const ref = $4k4D0$useComposedRefs(forwardedRef, cancelRef);\n return /*#__PURE__*/ $4k4D0$createElement($4k4D0$Close, $4k4D0$babelruntimehelpersesmextends({}, dialogScope, cancelProps, {\n ref: ref\n }));\n});\n/*#__PURE__*/ Object.assign($905f4ae918aab1aa$export$2f67a923571aaea0, {\n displayName: $905f4ae918aab1aa$var$CANCEL_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $905f4ae918aab1aa$var$DescriptionWarning = ({ contentRef: contentRef })=>{\n const MESSAGE = `\\`${$905f4ae918aab1aa$var$CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${$905f4ae918aab1aa$var$CONTENT_NAME}\\` by passing a \\`${$905f4ae918aab1aa$var$DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${$905f4ae918aab1aa$var$CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n $4k4D0$useEffect(()=>{\n var _contentRef$current;\n const hasDescription = document.getElementById((_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.getAttribute('aria-describedby'));\n if (!hasDescription) console.warn(MESSAGE);\n }, [\n MESSAGE,\n contentRef\n ]);\n return null;\n};\nconst $905f4ae918aab1aa$export$be92b6f5f03c0fe9 = $905f4ae918aab1aa$export$de466dd8317b0b75;\nconst $905f4ae918aab1aa$export$41fb9f06171c75f4 = $905f4ae918aab1aa$export$6edd7a623ef0f40b;\nconst $905f4ae918aab1aa$export$602eac185826482c = $905f4ae918aab1aa$export$660f2bfdb986706c;\nconst $905f4ae918aab1aa$export$c6fdb837b070b4ff = $905f4ae918aab1aa$export$a707a4895ce23256;\nconst $905f4ae918aab1aa$export$7c6e2c02157bb7d2 = $905f4ae918aab1aa$export$94e6af45f0af4efd;\nconst $905f4ae918aab1aa$export$e19cd5f9376f8cee = $905f4ae918aab1aa$export$b454f818c58ee85d;\nconst $905f4ae918aab1aa$export$848c9b7ead0df967 = $905f4ae918aab1aa$export$2f67a923571aaea0;\nconst $905f4ae918aab1aa$export$f99233281efd08a0 = $905f4ae918aab1aa$export$225e0da62d314b7;\nconst $905f4ae918aab1aa$export$393edc798c47379d = $905f4ae918aab1aa$export$a23b55cde55ad9a5;\n\n\n\n\nexport {$905f4ae918aab1aa$export$b8891880751c2c5b as createAlertDialogScope, $905f4ae918aab1aa$export$de466dd8317b0b75 as AlertDialog, $905f4ae918aab1aa$export$6edd7a623ef0f40b as AlertDialogTrigger, $905f4ae918aab1aa$export$660f2bfdb986706c as AlertDialogPortal, $905f4ae918aab1aa$export$a707a4895ce23256 as AlertDialogOverlay, $905f4ae918aab1aa$export$94e6af45f0af4efd as AlertDialogContent, $905f4ae918aab1aa$export$b454f818c58ee85d as AlertDialogAction, $905f4ae918aab1aa$export$2f67a923571aaea0 as AlertDialogCancel, $905f4ae918aab1aa$export$225e0da62d314b7 as AlertDialogTitle, $905f4ae918aab1aa$export$a23b55cde55ad9a5 as AlertDialogDescription, $905f4ae918aab1aa$export$be92b6f5f03c0fe9 as Root, $905f4ae918aab1aa$export$41fb9f06171c75f4 as Trigger, $905f4ae918aab1aa$export$602eac185826482c as Portal, $905f4ae918aab1aa$export$c6fdb837b070b4ff as Overlay, $905f4ae918aab1aa$export$7c6e2c02157bb7d2 as Content, $905f4ae918aab1aa$export$e19cd5f9376f8cee as Action, $905f4ae918aab1aa$export$848c9b7ead0df967 as Cancel, $905f4ae918aab1aa$export$f99233281efd08a0 as Title, $905f4ae918aab1aa$export$393edc798c47379d as Description};\n//# sourceMappingURL=index.module.js.map\n","/**\n * Do not edit directly\n * Generated on Fri, 09 Dec 2022 17:19:52 GMT\n */\n\nexport default {\n border_radius_0: '0',\n border_radius_100: '1px',\n border_radius_200: '2px',\n border_radius_400: '4px',\n border_radius_800: '8px',\n border_radius_pill: '9999em',\n border_radius_circle: '50%',\n border_width_0: '0',\n border_width_100: '1px',\n border_width_200: '2px',\n color_gray_4: 'hsl(0, 0%, 4%)',\n color_gray_8: 'hsl(0, 0%, 8%)',\n color_gray_10: 'hsl(0, 0%, 10%)',\n color_gray_12: 'hsl(0, 0%, 12%)',\n color_gray_14: 'hsl(0, 0%, 14%)',\n color_gray_16: 'hsl(0, 0%, 16%)',\n color_gray_24: 'hsl(0, 0%, 24%)',\n color_gray_32: 'hsl(0, 0%, 32%)',\n color_gray_56: 'hsl(0, 0%, 56%)',\n color_gray_64: 'hsl(0, 0%, 64%)',\n color_gray_84: 'hsl(0, 0%, 84%)',\n color_gray_94: 'hsl(0, 0% 94%)',\n color_gray_96: 'hsl(0, 0%, 96%)',\n color_white: 'hsl(0, 0%, 100%)',\n color_black: 'hsl(0, 0%, 0%)',\n color_background_white_standard: 'hsl(0, 0%, 100%)',\n color_background_white_strong: 'hsl(0, 0% 94%)',\n color_background_white_weak: 'hsl(0, 0%, 96%)',\n color_background_black_standard: 'hsl(0, 0%, 16%)',\n color_background_black_strong: 'hsl(0, 0%, 8%)',\n color_background_black_weak: 'hsl(0, 0%, 12%)',\n color_background_sentiment_negative: 'hsl(11, 68%, 55%)',\n color_background_sentiment_positive: 'hsl(54, 63% 52%)',\n color_background_sentiment_notice: 'hsl(29, 74% 53%)',\n color_background_sentiment_neutral: 'hsl(0, 0%, 10%)',\n color_divider_standard: 'hsla(0, 0%, 0%, 12%)',\n color_divider_strong: 'hsla(0, 0%, 0%, 16%)',\n color_divider_weak: 'hsla(0, 0%, 0%, 8%)',\n color_divider_inverse_standard: 'hsla(0, 0%, 1000%, 32%)',\n color_divider_inverse_strong: 'hsla(0, 0%, 100%, 48%)',\n color_divider_inverse_weak: 'hsla(0, 0%, 100%, 24%)',\n color_text_standard: 'hsl(0, 0%, 32%)',\n color_text_strong: 'hsl(0, 0%, 0%)',\n color_text_weak: 'hsl(0, 0%, 56%)',\n color_text_white_standard: 'hsl(0, 0%, 84%)',\n color_text_white_strong: 'hsl(0, 0%, 100%)',\n color_text_white_weak: 'hsl(0, 0%, 64%)',\n color_text_sentiment_negative: 'hsl(11, 68%, 55%)',\n color_text_sentiment_positive: 'hsl(54, 63%, 52%)',\n color_text_sentiment_notice: 'hsl(29, 67%, 47%)',\n color_text_sentiment_neutral: 'hsl(0, 0%, 24%)',\n color_fill_primary_enabled: 'hsla(0, 0%, 8%, 1)',\n color_fill_primary_hover: 'hsl(210, 5%, 16%)',\n color_fill_primary_pressed: 'hsl(210, 3%, 28%)',\n color_fill_primary_disabled: 'hsla(0, 0%, 8%, 0.2)',\n color_fill_secondary_enabled: 'hsla(0, 0%, 0%, 0.06)',\n color_fill_secondary_hover: 'hsla(0, 0%, 0%, 0.12)',\n color_fill_secondary_pressed: 'hsla(0, 0%, 0%, 0.2)',\n color_fill_secondary_disabled: 'hsla(0, 0%, 88%, 0.5)',\n color_fill_inverse_enabled: 'hsl(0, 0%, 100%)',\n color_fill_inverse_hover: 'hsl(0, 0%, 94%)',\n color_fill_inverse_pressed: 'hsl(0, 0%, 90%)',\n color_fill_inverse_disabled: 'hsla(0, 0%, 98%, 0.4)',\n color_fill_danger_enabled: 'hsl(11, 68%, 55%)',\n color_fill_danger_hover: 'hsl(11, 57%, 51%)',\n color_fill_danger_pressed: 'hsl(11, 55%, 48%)',\n color_fill_danger_disabled: 'hsla(11, 68%, 55%, 0.2)',\n color_outline_primary_danger_enabled: 'hsla(11, 68%, 55%, 0.24)',\n color_outline_primary_danger_hover: 'hsla(11, 68%, 55%, 0.48)',\n color_outline_primary_danger_pressed: 'hsla(11, 68%, 55%, 0.72)',\n color_outline_primary_danger_disabled: 'hsla(11, 68%, 55%, 0.16)',\n color_outline_primary_danger_selected_enabled: 'hsla(11, 68%, 55%, 0.96)',\n color_outline_primary_danger_selected_hover: 'hsla(11, 68%, 55%, 0.96)',\n color_outline_primary_danger_selected_pressed: 'hsla(11, 68%, 55%, 0.96)',\n color_outline_secondary_enabled: 'hsla(0, 0%, 0%, 0.16)',\n color_outline_secondary_hover: 'hsla(0, 0%, 0%, 0.32)',\n color_outline_secondary_pressed: 'hsla(0, 0%, 0%, 0.48)',\n color_outline_secondary_disabled: 'hsla(0, 0%, 14%, 0.16)',\n color_outline_secondary_selected_enabled: 'hsla(0, 0%, 0%, 0.6)',\n color_outline_secondary_selected_hover: 'hsla(0, 0%, 0%, 0.72)',\n color_outline_secondary_selected_pressed: 'hsla(0, 0%, 0%, 0.76)',\n color_outline_inverse_enabled: 'hsla(0, 0%, 100%, 0.32)',\n color_outline_inverse_hover: 'hsla(0, 0%, 100%, 0.48)',\n color_outline_inverse_pressed: 'hsla(0, 0%, 100%, 0.56)',\n color_outline_inverse_disabled: 'hsla(0, 0%, 100%, 0.2)',\n color_outline_inverse_selected_enabled: 'hsla(0, 0%, 100%, 0.6)',\n color_outline_inverse_selected_hover: 'hsla(0, 0%, 100%, 0.72)',\n color_outline_inverse_selected_pressed: 'hsla(0, 0%, 100%, 0.8)',\n color_outline_danger_enabled: 'hsl(11, 68%, 55%)',\n color_outline_danger_hover: 'hsla(11, 68%, 55%, 0.9)',\n color_outline_danger_pressed: 'hsla(11, 68%, 55%, 0.9)',\n color_outline_danger_disabled: 'hsla(11, 68%, 55%, 0.32)',\n color_overlay_secondary_enabled: 'hsl(0, 0%, 100%)',\n color_overlay_secondary_hover: 'hsl(0, 0%, 97%)',\n color_overlay_secondary_pressed: 'hsl(0, 0%, 92%)',\n color_overlay_secondary_selected_enabled: 'hsl(0, 0%, 94%)',\n color_overlay_secondary_selected_hover: 'hsl(0, 0%, 91%)',\n color_overlay_secondary_selected_pressed: 'hsl(0, 0%, 88%)',\n color_overlay_inverse_enabled: 'hsl(0, 0%, 0%)',\n color_overlay_inverse_hover: 'hsl(0, 0%, 4%)',\n color_overlay_inverse_pressed: 'hsl(0, 0%, 12%)',\n color_overlay_inverse_selected_enabled: 'hsl(0, 0%, 10%)',\n color_overlay_inverse_selected_hover: 'hsl(0, 0%, 16%)',\n color_overlay_inverse_selected_pressed: 'hsl(0, 0%, 24%)',\n elevation_static_low:\n '0px 1px 1px rgba(0, 0, 0, 0.07), 0px 1px 2px rgba(0, 0, 0, 0.08), 0px 2px 2px rgba(0, 0, 0, 0.1), 0px 0px 8px rgba(0, 0, 0, 0.05)',\n elevation_static_medium:\n '0px 1px 1px rgba(0, 0, 0, 0.05), 0px 2px 2px rgba(0, 0, 0, 0.05), 0px 5px 5px rgba(0, 0, 0, 0.05), 0px 10px 10px rgba(0, 0, 0, 0.05), 0px 0px 8px rgba(0, 0, 0, 0.05)',\n elevation_static_high:\n '0px 2px 4px rgba(0, 0, 0, 0.03), 0px 6px 6px rgba(0, 0, 0, 0.03), 0px 15px 20px rgba(0, 0, 0, 0.03), 0px 30px 40px rgba(0, 0, 0, 0.03), 0px 40px 70px rgba(0, 0, 0, 0.03), 0px 4px 30px rgba(0, 0, 0, 0.03), 0px 0px 8px rgba(0, 0, 0, 0.03)',\n elevation_interactive_down: 'inset 0px 1000px 250px rgba(0, 0, 0, 0.04)',\n elevation_interactive_low:\n '0px 1px 1px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.07)',\n elevation_interactive_medium:\n '0px 1px 1px rgba(0, 0, 0, 0.1), 0px 2px 2px rgba(0, 0, 0, 0.05), 0px 2px 4px rgba(0, 0, 0, 0.07), 0px 1px 4px rgba(0, 0, 0, 0.08)',\n elevation_interactive_high:\n '0px 2px 4px rgba(0, 0, 0, 0.05), 0px 3px 5px rgba(0, 0, 0, 0.05), 0px 4px 6px rgba(0, 0, 0, 0.05), 0px 4px 20px rgba(0, 0, 0, 0.05)',\n z_index_auto: 'auto',\n z_index_below: '-1',\n z_index_default: '1',\n z_index_above: '10',\n z_index_overlay: '1000',\n font_family_inter: \"'Inter', -apple-system, Helvetica, sans-serif\",\n font_family_sans: \"'Inter', -apple-system, Helvetica, sans-serif\",\n font_family_inter_display: \"'Inter', -apple-system, Helvetica, sans-serif\",\n font_family_monospace:\n \"'SFMono-Regular', Monaco, Consolas, 'Lucida Console', monospace\",\n feature_settings_number: \"'tnum' on, 'lnum' on, 'ss01' on\",\n letter_spacing_tight: '-0.006em',\n letter_spacing_tighter: '-0.01em',\n letter_spacing_heading_large: '-0.018em',\n letter_spacing_heading_medium: '-0.016em',\n letter_spacing_heading_small: '-0.014em',\n letter_spacing_title_large: '-0.014em',\n letter_spacing_title_medium: '-0.012em',\n letter_spacing_title_small: '-0.01em',\n letter_spacing_title_xsmall: '-0.008em',\n letter_spacing_label_large: '-0.01em',\n letter_spacing_label_medium: 'normal',\n letter_spacing_label_small: '-0.006em',\n letter_spacing_body_large: '-0.01em',\n letter_spacing_body_medium: '-0.006em',\n letter_spacing_body_small: 'normal',\n letter_spacing_number_large: '-0.05em',\n letter_spacing_number_medium: '-0.05em',\n letter_spacing_number_small: '-0.04em',\n letter_spacing_number_xsmall: '-0.05em',\n letter_spacing_caption_medium: '0.01em',\n letter_spacing_caption_small: '0.02em',\n line_height_111: 1.11,\n line_height_114: 1.14,\n line_height_129: 1.29,\n line_height_133: 1.33,\n line_height_143: 1.43,\n line_height_title_large: 1.06,\n line_height_title_medium: 1.08,\n line_height_title_small: 1.1,\n line_height_title_xsmall: 1.11,\n line_height_label_large: 1.11,\n line_height_label_medium: 1.12,\n line_height_label_small: 1.14,\n line_height_body_large: 1.25,\n line_height_body_medium: 1.29,\n line_height_body_small: 1.33,\n line_height_number_large: 1.25,\n line_height_number_medium: 1.14,\n line_height_number_small: 1.17,\n line_height_number_xsmall: 1.2,\n line_height_caption_medium: 1.17,\n line_height_caption_small: 1.2,\n font_size_50: '0.75rem',\n font_size_100: '0.875rem',\n font_size_200: '1rem',\n font_size_300: '1.125rem',\n font_size_400: '1.25rem',\n font_size_500: '1.5rem',\n font_size_600: '2rem',\n font_size_700: '2.75rem',\n font_size_800: '3.5rem',\n font_size_root: '16px',\n font_size_heading_large: '4.5rem',\n font_size_heading_medium: '3.5rem',\n font_size_heading_small: '3rem',\n font_size_title_large: '2.125rem',\n font_size_title_medium: '1.5rem',\n font_size_title_small: '1.25rem',\n font_size_title_xsmall: '1.125rem',\n font_size_label_large: '1.125rem',\n font_size_label_medium: '16px',\n font_size_label_small: '0.875rem',\n font_size_body_large: '16px',\n font_size_body_medium: '0.875rem',\n font_size_body_small: '0.75rem',\n font_size_number_large: '16px',\n font_size_number_medium: '0.875rem',\n font_size_number_small: '0.75rem',\n font_size_number_xsmall: '0.625rem',\n font_size_caption_medium: '0.875rem',\n font_size_caption_small: '0.75rem',\n font_weight_light: '300',\n font_weight_normal: '400',\n font_weight_medium: '500',\n font_weight_semibold: '600',\n media_query_xs: '448px',\n media_query_sm: '720px',\n media_query_md: '960px',\n media_query_lg: '1200px',\n media_query_xl: '1440px',\n sizing_0: '0rem',\n sizing_100: '0.25rem',\n sizing_200: '0.5rem',\n sizing_300: '0.75rem',\n sizing_350: '0.875rem',\n sizing_400: '1rem',\n sizing_450: '1.25rem',\n sizing_500: '1.5rem',\n sizing_550: '1.75rem',\n sizing_600: '2rem',\n sizing_650: '2.5rem',\n sizing_700: '3rem',\n sizing_750: '3.5rem',\n sizing_800: '4rem',\n sizing_850: '6rem',\n sizing_900: '10rem',\n sizing_1000: '20rem',\n sizing_1100: '28rem',\n sizing_1150: '35rem',\n sizing_1200: '45rem',\n sizing_1300: '60rem',\n sizing_1350: '66rem',\n sizing_1400: '75rem',\n sizing_1500: '90rem',\n spacing_0: '0rem',\n spacing_100: '0.25rem',\n spacing_200: '0.5rem',\n spacing_300: '0.75rem',\n spacing_400: '1rem',\n spacing_450: '1.25rem',\n spacing_500: '1.5rem',\n spacing_550: '1.75rem',\n spacing_600: '2rem',\n spacing_650: '2.5rem',\n spacing_700: '3rem',\n spacing_750: '3.5rem',\n spacing_800: '4rem',\n spacing_850: '6rem',\n spacing_900: '10rem',\n transition_duration_75: '75ms',\n transition_duration_100: '100ms',\n transition_duration_150: '150ms',\n transition_duration_200: '200ms',\n transition_duration_300: '300ms',\n transition_property_color:\n 'color, background-color, border-color, text-decoration-color, fill, stroke;',\n transition_property_all: 'all',\n transition_property_opacity: 'opacity',\n transition_property_box_shadow: 'box-shadow',\n transition_property_transform: 'transform',\n transition_timing_function_ease_in: 'cubic-bezier(0.4, 0, 1, 1)',\n transition_timing_function_ease_out: 'cubic-bezier(0, 0, 0.2, 1)',\n transition_timing_function_ease_in_out: 'cubic-bezier(0.4, 0, 0.2, 1)',\n};\n","/* eslint-disable react/jsx-props-no-spreading */\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport type { ComponentPropsWithRef } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\n\nexport const overlayShow = keyframes`\n 0% {\n opacity: 0;\n }\n \n 100% {\n opacity: var(--overlay-opacity);\n }\n`;\n\nexport const contentShow = keyframes`\n 0% {\n opacity: 0;\n transform: translate(-50%, -48%) scale(.96);\n }\n\n 100% {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n`;\n\nconst StyledOverlay = styled(DialogPrimitive.Overlay)`\n --overlay-opacity: 0.8;\n background-color: dimgray; // TODO\n opacity: var(--overlay-opacity);\n position: fixed;\n inset: 0;\n z-index: 4;\n animation: ${overlayShow} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n`;\n\n// TODO get this from design tokens?\nexport const dialogWidths = {\n small: '360px',\n medium: '540px',\n large: '960px',\n} as const;\n\ntype DialogWidth = keyof typeof dialogWidths;\ntype StyledContentProps = { size?: DialogWidth };\n\nconst StyledContent = styled(DialogPrimitive.Content)<StyledContentProps>`\n background: white;\n padding: ${tokens.sizing_500};\n width: ${(props) => dialogWidths[props.size || 'medium']};\n max-width: 100vw; // think about this\n min-width: min(200px, 100%); // ??\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 5;\n box-shadow: ${tokens.elevation_static_high};\n border-radius: ${tokens.border_radius_400};\n animation: ${contentShow} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n`;\n\nexport type DialogContentProps = StyledContentProps &\n DialogPrimitive.DialogContentProps &\n ComponentPropsWithRef<'div'>;\n\nexport function DialogContent({\n children,\n size,\n ...props\n}: DialogContentProps) {\n return (\n <DialogPrimitive.Portal>\n <StyledOverlay />\n <StyledContent size={size} {...props}>\n {children}\n </StyledContent>\n </DialogPrimitive.Portal>\n );\n}\n\nexport const DialogTitle = styled(DialogPrimitive.Title)`\n font-family: ${tokens.font_family_sans};\n font-style: normal;\n font-weight: 500;\n font-size: ${tokens.font_size_300};\n line-height: ${tokens.line_height_111};\n letter-spacing: ${tokens.letter_spacing_tighter};\n margin: 0;\n margin-bottom: ${tokens.spacing_200};\n`;\n\nexport const DialogDescription = styled(DialogPrimitive.Description)`\n font-family: ${tokens.font_family_sans};\n font-style: normal;\n font-weight: 400;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_129};\n margin: 0;\n margin-top: ${tokens.sizing_200}; /* or flex parent and gap? */\n margin-bottom: ${tokens.sizing_400};\n`;\n\n/* export const DialogText = styled.p`\n font-family: ${tokens.font_family_sans};\n font-style: normal;\n font-weight: 400;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_143};\n letter-spacing: ${tokens.letter_spacing_tight};\n color: ${tokens.color_text_standard};\n`; */\n\nexport const DialogFooter = styled.footer`\n margin-top: ${tokens.spacing_400};\n display: flex;\n justify-content: end;\n gap: ${tokens.sizing_200};\n`;\n\nexport const DialogCloseButton = styled.button`\n all: unset;\n font-family: inherit;\n height: 25px;\n width: 25px;\n line-height: 0;\n display: inline-flex;\n border-radius: ${tokens.border_radius_circle};\n align-items: center;\n justify-content: center;\n color: ${tokens.color_fill_primary_enabled};\n position: absolute;\n top: 16px;\n right: 12px;\n\n transition-property: ${tokens.transition_property_color};\n transition-duration: ${tokens.transition_duration_150};\n\n &:hover {\n color: ${tokens.color_fill_primary_hover};\n background-color: hsla(\n 0deg,\n 0%,\n 0%,\n 3%\n ); /* Interactive / Overlay / Secondary / Hover */\n }\n`;\n\nexport const Dialog = DialogPrimitive.Root;\nexport const DialogTrigger = DialogPrimitive.Trigger;\nexport const DialogClose = DialogPrimitive.Close;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport type { ComponentPropsWithRef } from 'react';\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\nimport {\n dialogWidths,\n overlayShow,\n contentShow,\n} from 'components/Dialog/Dialog';\n\n/* TODO EXTRACT STYLED SHARED BETWEEN REGULAR DIALOG */\n\nconst StyledOverlay = styled(AlertDialogPrimitive.Overlay)`\n --overlay-opacity: 0.8;\n background-color: dimgray; // TODO\n opacity: var(--overlay-opacity);\n position: fixed;\n inset: 0;\n z-index: 4;\n animation: ${overlayShow} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n`;\n\ntype DialogWidth = keyof typeof dialogWidths;\ntype StyledContentProps = { size?: DialogWidth };\n\nconst StyledContent = styled(AlertDialogPrimitive.Content)<StyledContentProps>`\n background: white;\n padding: ${tokens.sizing_500};\n width: ${(props) => dialogWidths[props.size || 'medium']};\n max-width: 100vw; // think about this\n min-width: 200px; // ??\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 5;\n box-shadow: ${tokens.elevation_static_high};\n border-radius: ${tokens.border_radius_400};\n animation: ${contentShow} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n`;\n\nexport type AlertDialogContentProps = StyledContentProps &\n AlertDialogPrimitive.DialogContentProps &\n ComponentPropsWithRef<'div'>;\n\nexport function AlertDialogContent({\n children,\n size,\n ...props\n}: AlertDialogContentProps) {\n return (\n <AlertDialogPrimitive.Portal>\n <StyledOverlay />\n <StyledContent size={size} {...props}>\n {children}\n </StyledContent>\n </AlertDialogPrimitive.Portal>\n );\n}\n\nexport const AlertDialogTitle = styled(AlertDialogPrimitive.Title)`\n font-family: ${tokens.font_family_sans}; // todo make design token variable\n font-style: normal;\n font-weight: 500;\n font-size: ${tokens.font_size_300};\n line-height: ${tokens.line_height_111};\n letter-spacing: ${tokens.letter_spacing_tighter};\n margin: 0;\n margin-bottom: ${tokens.spacing_200};\n`;\n\nexport const AlertDialogDescription = styled(AlertDialogPrimitive.Description)`\n font-family: ${tokens.font_family_sans};\n font-style: normal;\n font-weight: 400;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_129};\n margin: 0;\n margin-top: ${tokens.sizing_200}; /* or flex parent and gap? */\n margin-bottom: ${tokens.sizing_400};\n`;\n\n// same as DialogFooter\nexport const AlertDialogFooter = styled.footer`\n margin-top: ${tokens.sizing_400};\n display: flex;\n justify-content: end;\n gap: ${tokens.sizing_200};\n`;\n\nexport const AlertDialog = AlertDialogPrimitive.Root;\nexport const AlertDialogTrigger = AlertDialogPrimitive.Trigger;\nexport const AlertDialogAction = AlertDialogPrimitive.Action;\nexport const AlertDialogCancel = AlertDialogPrimitive.Cancel;\n","import $kVwnw$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $kVwnw$forwardRef, createElement as $kVwnw$createElement} from \"react\";\nimport {Primitive as $kVwnw$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * VisuallyHidden\n * -----------------------------------------------------------------------------------------------*/ const $ea1ef594cf570d83$var$NAME = 'VisuallyHidden';\nconst $ea1ef594cf570d83$export$439d29a4e110a164 = /*#__PURE__*/ $kVwnw$forwardRef((props, forwardedRef)=>{\n return /*#__PURE__*/ $kVwnw$createElement($kVwnw$Primitive.span, $kVwnw$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n ...props.style\n }\n }));\n});\n/*#__PURE__*/ Object.assign($ea1ef594cf570d83$export$439d29a4e110a164, {\n displayName: $ea1ef594cf570d83$var$NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $ea1ef594cf570d83$export$be92b6f5f03c0fe9 = $ea1ef594cf570d83$export$439d29a4e110a164;\n\n\n\n\nexport {$ea1ef594cf570d83$export$439d29a4e110a164 as VisuallyHidden, $ea1ef594cf570d83$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import {Children as $eOI90$Children, createElement as $eOI90$createElement, Fragment as $eOI90$Fragment, cloneElement as $eOI90$cloneElement} from \"react\";\nimport {Root as $eOI90$Root} from \"@radix-ui/react-visually-hidden\";\n\n\n\nconst $08b6689415b2f49a$var$NAME = 'AccessibleIcon';\nconst $08b6689415b2f49a$export$5aec92af04ace2d2 = ({ children: children , label: label })=>{\n const child = $eOI90$Children.only(children);\n return /*#__PURE__*/ $eOI90$createElement($eOI90$Fragment, null, /*#__PURE__*/ $eOI90$cloneElement(child, {\n // accessibility\n 'aria-hidden': 'true',\n focusable: 'false' // See: https://allyjs.io/tutorials/focusing-in-svg.html#making-svg-elements-focusable\n }), /*#__PURE__*/ $eOI90$createElement($eOI90$Root, null, label));\n};\n/*#__PURE__*/ Object.assign($08b6689415b2f49a$export$5aec92af04ace2d2, {\n displayName: $08b6689415b2f49a$var$NAME\n});\nconst $08b6689415b2f49a$export$be92b6f5f03c0fe9 = $08b6689415b2f49a$export$5aec92af04ace2d2;\n\n\n\n\nexport {$08b6689415b2f49a$export$5aec92af04ace2d2 as AccessibleIcon, $08b6689415b2f49a$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import * as AccessibleIconPrimitive from '@radix-ui/react-accessible-icon';\n\n// Doesnt add much but I think it's better not to have to expose radix packaged outside the design system components.\nexport function AccessibleIcon({\n children,\n label,\n}: AccessibleIconPrimitive.AccessibleIconProps) {\n return (\n <AccessibleIconPrimitive.Root label={label}>\n {children}\n </AccessibleIconPrimitive.Root>\n );\n}\n","import {useState as $6imuh$useState, useRef as $6imuh$useRef, useCallback as $6imuh$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $6imuh$useState)(value || defaultValue);\n let ref = (0, $6imuh$useRef)(value !== undefined);\n let wasControlled = ref.current;\n let isControlled = value !== undefined;\n // Internal state reference for useCallback\n let stateRef = (0, $6imuh$useRef)(stateValue);\n if (wasControlled !== isControlled) console.warn(`WARN: A component changed from ${wasControlled ? \"controlled\" : \"uncontrolled\"} to ${isControlled ? \"controlled\" : \"uncontrolled\"}.`);\n ref.current = isControlled;\n let setValue = (0, $6imuh$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(stateRef.current, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) stateRef.current = value;\n };\n if (typeof value === \"function\") {\n console.warn(\"We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320\");\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? stateRef.current : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n onChange\n ]);\n // If a controlled component's value prop changes, we need to update stateRef\n if (isControlled) stateRef.current = value;\n else value = stateValue;\n return [\n value,\n setValue\n ];\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest valid step.\n */ function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {\n let newValue = Math.min(Math.max(value, min), max);\n return newValue;\n}\nfunction $9446cca9a3875146$export$cb6e0bb50bc19463(value, min, max, step) {\n let remainder = (value - (isNaN(min) ? 0 : min)) % step;\n let snappedValue = Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder;\n if (!isNaN(min)) {\n if (snappedValue < min) snappedValue = min;\n else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor((max - min) / step) * step;\n } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor(max / step) * step;\n // correct floating point behavior by rounding to step precision\n let string = step.toString();\n let index = string.indexOf(\".\");\n let precision = index >= 0 ? string.length - index : 0;\n if (precision > 0) {\n let pow = Math.pow(10, precision);\n snappedValue = Math.round(snappedValue * pow) / pow;\n }\n return snappedValue;\n}\nfunction $9446cca9a3875146$export$b6268554fba451f(value, digits, base = 10) {\n const pow = Math.pow(base, digits);\n return Math.round(value * pow) / pow;\n}\n\n\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState, $9446cca9a3875146$export$7d15b64cf5a3a4c4 as clamp, $9446cca9a3875146$export$cb6e0bb50bc19463 as snapValueToStep, $9446cca9a3875146$export$b6268554fba451f as toFixedNumber};\n//# sourceMappingURL=module.js.map\n","import $89yE2$react, {useContext as $89yE2$useContext, useMemo as $89yE2$useMemo, useState as $89yE2$useState, useLayoutEffect as $89yE2$useLayoutEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $704cf1d3b684cc5c$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $704cf1d3b684cc5c$var$SSRContext = /*#__PURE__*/ (0, $89yE2$react).createContext($704cf1d3b684cc5c$var$defaultContext);\nfunction $704cf1d3b684cc5c$export$9f8ac96af4b1b2ae(props) {\n let cur = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\n let value = (0, $89yE2$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $704cf1d3b684cc5c$var$defaultContext ? \"\" : `${cur.prefix}-${++cur.current}`,\n current: 0\n }), [\n cur\n ]);\n return /*#__PURE__*/ (0, $89yE2$react).createElement($704cf1d3b684cc5c$var$SSRContext.Provider, {\n value: value\n }, props.children);\n}\nlet $704cf1d3b684cc5c$var$canUseDOM = Boolean(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction $704cf1d3b684cc5c$export$619500959fc48b26(defaultId) {\n let ctx = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $704cf1d3b684cc5c$var$defaultContext && !$704cf1d3b684cc5c$var$canUseDOM) console.warn(\"When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return (0, $89yE2$useMemo)(()=>defaultId || `react-aria${ctx.prefix}-${++ctx.current}`, [\n defaultId\n ]);\n}\nfunction $704cf1d3b684cc5c$export$535bd6ca7f90a273() {\n let cur = (0, $89yE2$useContext)($704cf1d3b684cc5c$var$SSRContext);\n let isInSSRContext = cur !== $704cf1d3b684cc5c$var$defaultContext;\n let [isSSR, setIsSSR] = (0, $89yE2$useState)(isInSSRContext);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof window !== \"undefined\" && isInSSRContext) // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, $89yE2$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return isSSR;\n}\n\n\n\n\nexport {$704cf1d3b684cc5c$export$9f8ac96af4b1b2ae as SSRProvider, $704cf1d3b684cc5c$export$619500959fc48b26 as useSSRSafeId, $704cf1d3b684cc5c$export$535bd6ca7f90a273 as useIsSSR};\n//# sourceMappingURL=module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import {clamp as $4507461a1b870123$re_export$clamp, snapValueToStep as $4507461a1b870123$re_export$snapValueToStep} from \"@react-stately/utils\";\nimport $12uGp$react, {useState as $12uGp$useState, useRef as $12uGp$useRef, useCallback as $12uGp$useCallback, useEffect as $12uGp$useEffect} from \"react\";\nimport {useSSRSafeId as $12uGp$useSSRSafeId} from \"@react-aria/ssr\";\nimport $12uGp$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof window !== \"undefined\" ? (0, $12uGp$react).useLayoutEffect : ()=>{};\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $1dbecbe27a04f9af$export$14d238f342723f25(defaultValue) {\n let [value, setValue] = (0, $12uGp$useState)(defaultValue);\n let valueRef = (0, $12uGp$useRef)(value);\n let effect = (0, $12uGp$useRef)(null);\n valueRef.current = value;\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n let nextRef = (0, $12uGp$useRef)(null);\n nextRef.current = ()=>{\n // Run the generator to the next yield.\n let newValue = effect.current.next();\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) nextRef.current();\n else setValue(newValue.value);\n };\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) nextRef.current();\n });\n let queue = (0, $12uGp$useCallback)((fn)=>{\n effect.current = fn(valueRef.current);\n nextRef.current();\n }, [\n effect,\n nextRef\n ]);\n return [\n value,\n queue\n ];\n}\n\n\nlet $bdb11010cef70236$var$idsUpdaterMap = new Map();\nfunction $bdb11010cef70236$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $12uGp$useState)(defaultId);\n let nextId = (0, $12uGp$useRef)(null);\n let res = (0, $12uGp$useSSRSafeId)(value);\n let updateValue = (0, $12uGp$useCallback)((val)=>{\n nextId.current = val;\n }, []);\n $bdb11010cef70236$var$idsUpdaterMap.set(res, updateValue);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n $bdb11010cef70236$var$idsUpdaterMap.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n (0, $12uGp$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n return res;\n}\nfunction $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);\n if (setIdA) {\n setIdA(idB);\n return idB;\n }\n let setIdB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);\n if (setIdB) {\n setIdB(idA);\n return idA;\n }\n return idB;\n}\nfunction $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $bdb11010cef70236$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1dbecbe27a04f9af$export$14d238f342723f25)(id);\n let updateId = (0, $12uGp$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Calls all functions in the order they were chained with the same arguments.\n */ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === \"function\") callback(...args);\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === \"function\" && typeof b === \"function\" && // This is a lot faster than a regex.\n key[0] === \"o\" && key[1] === \"n\" && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);\n else if ((key === \"className\" || key === \"UNSAFE_className\") && typeof a === \"string\" && typeof b === \"string\") result[key] = (0, $12uGp$clsx)(a, b);\n else if (key === \"id\" && a && b) result.id = (0, $bdb11010cef70236$export$cd8c9cb68f842629)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $5dc95899b306f630$export$c9058316764c140e(...refs) {\n return (value)=>{\n for (let ref of refs){\n if (typeof ref === \"function\") ref(value);\n else if (ref != null) ref.current = value;\n }\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $65484d02dcb7eb3e$var$DOMPropNames = new Set([\n \"id\"\n]);\nconst $65484d02dcb7eb3e$var$labelablePropNames = new Set([\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-describedby\",\n \"aria-details\"\n]);\nconst $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;\nfunction $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable , propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $7215afc6de606d6b$export$de79e2c695e052f3(element) {\n if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({\n preventScroll: true\n });\n else {\n let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);\n element.focus();\n $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);\n }\n}\nlet $7215afc6de606d6b$var$supportsPreventScrollCached = null;\nfunction $7215afc6de606d6b$var$supportsPreventScroll() {\n if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {\n $7215afc6de606d6b$var$supportsPreventScrollCached = false;\n try {\n var focusElem = document.createElement(\"div\");\n focusElem.focus({\n get preventScroll () {\n $7215afc6de606d6b$var$supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch (e) {\n // Ignore\n }\n }\n return $7215afc6de606d6b$var$supportsPreventScrollCached;\n}\nfunction $7215afc6de606d6b$var$getScrollableElements(element) {\n var parent = element.parentNode;\n var scrollableElements = [];\n var rootScrollingElement = document.scrollingElement || document.documentElement;\n while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n return scrollableElements;\n}\nfunction $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {\n for (let { element: element , scrollTop: scrollTop , scrollLeft: scrollLeft } of scrollableElements){\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $ab71dadb03a6fb2e$export$622cea445a1c5b7d(element, reverse, orientation = \"horizontal\") {\n let rect = element.getBoundingClientRect();\n if (reverse) return orientation === \"horizontal\" ? rect.right : rect.bottom;\n return orientation === \"horizontal\" ? rect.left : rect.top;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\nlet $bbed8b41f857bcc0$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $bbed8b41f857bcc0$var$transitionCallbacks = new Set();\nfunction $bbed8b41f857bcc0$var$setupGlobalEvents() {\n if (typeof window === \"undefined\") return;\n let onTransitionStart = (e)=>{\n // Add the transitioning property to the list for this element.\n let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n e.target.addEventListener(\"transitioncancel\", onTransitionEnd);\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n // Remove property from list of transitioning properties.\n let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n e.target.removeEventListener(\"transitioncancel\", onTransitionEnd);\n $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {\n for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();\n $bbed8b41f857bcc0$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener(\"transitionrun\", onTransitionStart);\n document.body.addEventListener(\"transitionend\", onTransitionEnd);\n}\nif (typeof document !== \"undefined\") {\n if (document.readyState !== \"loading\") $bbed8b41f857bcc0$var$setupGlobalEvents();\n else document.addEventListener(\"DOMContentLoaded\", $bbed8b41f857bcc0$var$setupGlobalEvents);\n}\nfunction $bbed8b41f857bcc0$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();\n else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);\n });\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n// Keep track of elements that we are currently handling dragging for via useDrag1D.\n// If there's an ancestor and a descendant both using useDrag1D(), and the user starts\n// dragging the descendant, we don't want useDrag1D events to fire for the ancestor.\nconst $9cc09df9fd7676be$var$draggingElements = [];\nfunction $9cc09df9fd7676be$export$7bbed75feba39706(props) {\n console.warn(\"useDrag1D is deprecated, please use `useMove` instead https://react-spectrum.adobe.com/react-aria/useMove.html\");\n let { containerRef: containerRef , reverse: reverse , orientation: orientation , onHover: onHover , onDrag: onDrag , onPositionChange: onPositionChange , onIncrement: onIncrement , onDecrement: onDecrement , onIncrementToMax: onIncrementToMax , onDecrementToMin: onDecrementToMin , onCollapseToggle: onCollapseToggle } = props;\n let getPosition = (e)=>orientation === \"horizontal\" ? e.clientX : e.clientY;\n let getNextOffset = (e)=>{\n let containerOffset = (0, $ab71dadb03a6fb2e$export$622cea445a1c5b7d)(containerRef.current, reverse, orientation);\n let mouseOffset = getPosition(e);\n let nextOffset = reverse ? containerOffset - mouseOffset : mouseOffset - containerOffset;\n return nextOffset;\n };\n let dragging = (0, $12uGp$useRef)(false);\n let prevPosition = (0, $12uGp$useRef)(0);\n // Keep track of the current handlers in a ref so that the events can access them.\n let handlers = (0, $12uGp$useRef)({\n onPositionChange: onPositionChange,\n onDrag: onDrag\n });\n handlers.current.onDrag = onDrag;\n handlers.current.onPositionChange = onPositionChange;\n let onMouseDragged = (e)=>{\n e.preventDefault();\n let nextOffset = getNextOffset(e);\n if (!dragging.current) {\n dragging.current = true;\n if (handlers.current.onDrag) handlers.current.onDrag(true);\n if (handlers.current.onPositionChange) handlers.current.onPositionChange(nextOffset);\n }\n if (prevPosition.current === nextOffset) return;\n prevPosition.current = nextOffset;\n if (onPositionChange) onPositionChange(nextOffset);\n };\n let onMouseUp = (e)=>{\n const target = e.target;\n dragging.current = false;\n let nextOffset = getNextOffset(e);\n if (handlers.current.onDrag) handlers.current.onDrag(false);\n if (handlers.current.onPositionChange) handlers.current.onPositionChange(nextOffset);\n $9cc09df9fd7676be$var$draggingElements.splice($9cc09df9fd7676be$var$draggingElements.indexOf(target), 1);\n window.removeEventListener(\"mouseup\", onMouseUp, false);\n window.removeEventListener(\"mousemove\", onMouseDragged, false);\n };\n let onMouseDown = (e)=>{\n const target = e.currentTarget;\n // If we're already handling dragging on a descendant with useDrag1D, then\n // we don't want to handle the drag motion on this target as well.\n if ($9cc09df9fd7676be$var$draggingElements.some((elt)=>target.contains(elt))) return;\n $9cc09df9fd7676be$var$draggingElements.push(target);\n window.addEventListener(\"mousemove\", onMouseDragged, false);\n window.addEventListener(\"mouseup\", onMouseUp, false);\n };\n let onMouseEnter = ()=>{\n if (onHover) onHover(true);\n };\n let onMouseOut = ()=>{\n if (onHover) onHover(false);\n };\n let onKeyDown = (e)=>{\n switch(e.key){\n case \"Left\":\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n e.preventDefault();\n if (onDecrement && !reverse) onDecrement();\n else if (onIncrement && reverse) onIncrement();\n }\n break;\n case \"Up\":\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n e.preventDefault();\n if (onDecrement && !reverse) onDecrement();\n else if (onIncrement && reverse) onIncrement();\n }\n break;\n case \"Right\":\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n e.preventDefault();\n if (onIncrement && !reverse) onIncrement();\n else if (onDecrement && reverse) onDecrement();\n }\n break;\n case \"Down\":\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n e.preventDefault();\n if (onIncrement && !reverse) onIncrement();\n else if (onDecrement && reverse) onDecrement();\n }\n break;\n case \"Home\":\n e.preventDefault();\n if (onDecrementToMin) onDecrementToMin();\n break;\n case \"End\":\n e.preventDefault();\n if (onIncrementToMax) onIncrementToMax();\n break;\n case \"Enter\":\n e.preventDefault();\n if (onCollapseToggle) onCollapseToggle();\n break;\n }\n };\n return {\n onMouseDown: onMouseDown,\n onMouseEnter: onMouseEnter,\n onMouseOut: onMouseOut,\n onKeyDown: onKeyDown\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $03deb23ff14920c4$export$4eaf04e54aa8eed6() {\n let globalListeners = (0, $12uGp$useRef)(new Map());\n let addGlobalListener = (0, $12uGp$useCallback)((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, listener, options);\n }, []);\n let removeGlobalListener = (0, $12uGp$useCallback)((eventTarget, type, listener, options)=>{\n var _globalListeners_current_get;\n let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = (0, $12uGp$useCallback)(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n // eslint-disable-next-line arrow-body-style\n (0, $12uGp$useEffect)(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $313b98861ee5dd6c$export$d6875122194c7b44(props, defaultLabel) {\n let { id: id , \"aria-label\": label , \"aria-labelledby\": labelledBy } = props;\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = (0, $bdb11010cef70236$export$f680877a34711e37)(id);\n if (labelledBy && label) {\n let ids = new Set([\n ...labelledBy.trim().split(/\\s+/),\n id\n ]);\n labelledBy = [\n ...ids\n ].join(\" \");\n } else if (labelledBy) labelledBy = labelledBy.trim().split(/\\s+/).join(\" \");\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) label = defaultLabel;\n return {\n id: id,\n \"aria-label\": label,\n \"aria-labelledby\": labelledBy\n };\n}\n\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $df56164dff5785e2$export$4338b53315abf666(forwardedRef) {\n const objRef = (0, $12uGp$useRef)();\n /**\n * We're using `useLayoutEffect` here instead of `useEffect` because we want\n * to make sure that the `ref` value is up to date before other places in the\n * the execution cycle try to read it.\n */ (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (!forwardedRef) return;\n if (typeof forwardedRef === \"function\") forwardedRef(objRef.current);\n else forwardedRef.current = objRef.current;\n }, [\n forwardedRef\n ]);\n return objRef;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $4f58c5f72bcf79f7$export$496315a1608d9602(effect, dependencies) {\n const isInitialMount = (0, $12uGp$useRef)(true);\n (0, $12uGp$useEffect)(()=>{\n if (isInitialMount.current) isInitialMount.current = false;\n else effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n}\n\n\n\n\nfunction $9daab02d461809db$var$hasResizeObserver() {\n return typeof window.ResizeObserver !== \"undefined\";\n}\nfunction $9daab02d461809db$export$683480f191c0e3ea(options) {\n const { ref: ref , onResize: onResize } = options;\n (0, $12uGp$useEffect)(()=>{\n let element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) return;\n if (!$9daab02d461809db$var$hasResizeObserver()) {\n window.addEventListener(\"resize\", onResize, false);\n return ()=>{\n window.removeEventListener(\"resize\", onResize, false);\n };\n } else {\n const resizeObserverInstance = new window.ResizeObserver((entries)=>{\n if (!entries.length) return;\n onResize();\n });\n resizeObserverInstance.observe(element);\n return ()=>{\n if (element) resizeObserverInstance.unobserve(element);\n };\n }\n }, [\n onResize,\n ref\n ]);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n context.ref.current = null;\n };\n }\n }, [\n context,\n ref\n ]);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $62d8ded9296f3872$export$cfa2225e87938781(node) {\n while(node && !$62d8ded9296f3872$var$isScrollable(node))node = node.parentElement;\n return node || document.scrollingElement || document.documentElement;\n}\nfunction $62d8ded9296f3872$var$isScrollable(node) {\n let style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// @ts-ignore\nlet $5df64b3807dc15ee$var$visualViewport = typeof window !== \"undefined\" && window.visualViewport;\nfunction $5df64b3807dc15ee$export$d699905dd57c73ca() {\n let [size, setSize] = (0, $12uGp$useState)(()=>$5df64b3807dc15ee$var$getViewportSize());\n (0, $12uGp$useEffect)(()=>{\n // Use visualViewport api to track available height even on iOS virtual keyboard opening\n let onResize = ()=>{\n setSize((size)=>{\n let newSize = $5df64b3807dc15ee$var$getViewportSize();\n if (newSize.width === size.width && newSize.height === size.height) return size;\n return newSize;\n });\n };\n if (!$5df64b3807dc15ee$var$visualViewport) window.addEventListener(\"resize\", onResize);\n else $5df64b3807dc15ee$var$visualViewport.addEventListener(\"resize\", onResize);\n return ()=>{\n if (!$5df64b3807dc15ee$var$visualViewport) window.removeEventListener(\"resize\", onResize);\n else $5df64b3807dc15ee$var$visualViewport.removeEventListener(\"resize\", onResize);\n };\n }, []);\n return size;\n}\nfunction $5df64b3807dc15ee$var$getViewportSize() {\n return {\n width: ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.width) || window.innerWidth,\n height: ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.height) || window.innerHeight\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nlet $ef06256079686ba0$var$descriptionId = 0;\nconst $ef06256079686ba0$var$descriptionNodes = new Map();\nfunction $ef06256079686ba0$export$f8aeda7b10753fa1(description) {\n let [id, setId] = (0, $12uGp$useState)(undefined);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (!description) return;\n let desc = $ef06256079686ba0$var$descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${$ef06256079686ba0$var$descriptionId++}`;\n setId(id);\n let node = document.createElement(\"div\");\n node.id = id;\n node.style.display = \"none\";\n node.textContent = description;\n document.body.appendChild(node);\n desc = {\n refCount: 0,\n element: node\n };\n $ef06256079686ba0$var$descriptionNodes.set(description, desc);\n } else setId(desc.element.id);\n desc.refCount++;\n return ()=>{\n if (--desc.refCount === 0) {\n desc.element.remove();\n $ef06256079686ba0$var$descriptionNodes.delete(description);\n }\n };\n }, [\n description\n ]);\n return {\n \"aria-describedby\": description ? id : undefined\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === \"undefined\" || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator[\"userAgentData\"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== \"undefined\" && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator[\"userAgentData\"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$export$9ac100e40613ea10() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n}\nfunction $c87311424ea30a05$export$186c6964ca17d99() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n}\nfunction $c87311424ea30a05$export$7bef049ce92e4224() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n}\nfunction $c87311424ea30a05$export$fedb369cb70207f1() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n}\nfunction $c87311424ea30a05$export$e1865c3bedcd822b() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n}\nfunction $c87311424ea30a05$export$78551043582a6a98() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n}\nfunction $c87311424ea30a05$export$6446a186d09e379e() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n}\nfunction $c87311424ea30a05$export$a11b0059900ceec8() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n}\n\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e9faafb641e167db$export$90fc3a17d93f704c(ref, event, handler, options) {\n let handlerRef = (0, $12uGp$useRef)(handler);\n handlerRef.current = handler;\n let isDisabled = handler == null;\n (0, $12uGp$useEffect)(()=>{\n if (isDisabled) return;\n let element = ref.current;\n let handler = (e)=>handlerRef.current.call(this, e);\n element.addEventListener(event, handler, options);\n return ()=>{\n element.removeEventListener(event, handler, options);\n };\n }, [\n ref,\n event,\n options,\n isDisabled\n ]);\n}\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */ function $2f04cbc44ee30ce0$export$53a0910f038337bd(scrollView, element) {\n let offsetX = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, \"left\");\n let offsetY = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, \"top\");\n let width = element.offsetWidth;\n let height = element.offsetHeight;\n let x = scrollView.scrollLeft;\n let y = scrollView.scrollTop;\n let maxX = x + scrollView.offsetWidth;\n let maxY = y + scrollView.offsetHeight;\n if (offsetX <= x) x = offsetX;\n else if (offsetX + width > maxX) x += offsetX + width - maxX;\n if (offsetY <= y) y = offsetY;\n else if (offsetY + height > maxY) y += offsetY + height - maxY;\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n}\n/**\n * Computes the offset left or top from child to ancestor by accumulating\n * offsetLeft or offsetTop through intervening offsetParents.\n */ function $2f04cbc44ee30ce0$var$relativeOffset(ancestor, child, axis) {\n const prop = axis === \"left\" ? \"offsetLeft\" : \"offsetTop\";\n let sum = 0;\n while(child.offsetParent){\n sum += child[prop];\n if (child.offsetParent === ancestor) break;\n else if (child.offsetParent.contains(ancestor)) {\n // If the ancestor is not `position:relative`, then we stop at\n // _its_ offset parent, and we subtract off _its_ offset, so that\n // we end up with the proper offset from child to ancestor.\n sum -= ancestor[prop];\n break;\n }\n child = child.offsetParent;\n }\n return sum;\n}\n\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === \"click\" && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\";\n}\n\n\n\n\nexport {$bdb11010cef70236$export$f680877a34711e37 as useId, $bdb11010cef70236$export$cd8c9cb68f842629 as mergeIds, $bdb11010cef70236$export$b4cc09c592e8fdb8 as useSlotId, $ff5963eb1fccf552$export$e08e3b67e392101e as chain, $3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps, $5dc95899b306f630$export$c9058316764c140e as mergeRefs, $65484d02dcb7eb3e$export$457c3d6518dd4c6f as filterDOMProps, $7215afc6de606d6b$export$de79e2c695e052f3 as focusWithoutScrolling, $ab71dadb03a6fb2e$export$622cea445a1c5b7d as getOffset, $bbed8b41f857bcc0$export$24490316f764c430 as runAfterTransition, $9cc09df9fd7676be$export$7bbed75feba39706 as useDrag1D, $03deb23ff14920c4$export$4eaf04e54aa8eed6 as useGlobalListeners, $313b98861ee5dd6c$export$d6875122194c7b44 as useLabels, $df56164dff5785e2$export$4338b53315abf666 as useObjectRef, $4f58c5f72bcf79f7$export$496315a1608d9602 as useUpdateEffect, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect, $9daab02d461809db$export$683480f191c0e3ea as useResizeObserver, $e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef, $62d8ded9296f3872$export$cfa2225e87938781 as getScrollParent, $5df64b3807dc15ee$export$d699905dd57c73ca as useViewportSize, $ef06256079686ba0$export$f8aeda7b10753fa1 as useDescription, $c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $e9faafb641e167db$export$90fc3a17d93f704c as useEvent, $1dbecbe27a04f9af$export$14d238f342723f25 as useValueEffect, $2f04cbc44ee30ce0$export$53a0910f038337bd as scrollIntoView, $4507461a1b870123$re_export$clamp as clamp, $4507461a1b870123$re_export$snapValueToStep as snapValueToStep, $6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=module.js.map\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","import {mergeProps as $bx7SL$mergeProps, useSyncRef as $bx7SL$useSyncRef, useGlobalListeners as $bx7SL$useGlobalListeners, isVirtualClick as $bx7SL$isVirtualClick, focusWithoutScrolling as $bx7SL$focusWithoutScrolling, isVirtualPointerEvent as $bx7SL$isVirtualPointerEvent, isIOS as $bx7SL$isIOS, runAfterTransition as $bx7SL$runAfterTransition, useLayoutEffect as $bx7SL$useLayoutEffect, isMac as $bx7SL$isMac, useEvent as $bx7SL$useEvent, useDescription as $bx7SL$useDescription} from \"@react-aria/utils\";\nimport $bx7SL$react, {useRef as $bx7SL$useRef, useContext as $bx7SL$useContext, useState as $bx7SL$useState, useMemo as $bx7SL$useMemo, useEffect as $bx7SL$useEffect, useCallback as $bx7SL$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet $14c0b72509d70225$var$state = \"default\";\nlet $14c0b72509d70225$var$savedUserSelect = \"\";\nlet $14c0b72509d70225$var$modifiedElementMap = new WeakMap();\nfunction $14c0b72509d70225$export$16a4697467175487(target) {\n if ((0, $bx7SL$isIOS)()) {\n if ($14c0b72509d70225$var$state === \"default\") {\n $14c0b72509d70225$var$savedUserSelect = document.documentElement.style.webkitUserSelect;\n document.documentElement.style.webkitUserSelect = \"none\";\n }\n $14c0b72509d70225$var$state = \"disabled\";\n } else if (target instanceof HTMLElement || target instanceof SVGElement) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n $14c0b72509d70225$var$modifiedElementMap.set(target, target.style.userSelect);\n target.style.userSelect = \"none\";\n }\n}\nfunction $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {\n if ((0, $bx7SL$isIOS)()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if ($14c0b72509d70225$var$state !== \"disabled\") return;\n $14c0b72509d70225$var$state = \"restoring\";\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(()=>{\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n (0, $bx7SL$runAfterTransition)(()=>{\n // Avoid race conditions\n if ($14c0b72509d70225$var$state === \"restoring\") {\n if (document.documentElement.style.webkitUserSelect === \"none\") document.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || \"\";\n $14c0b72509d70225$var$savedUserSelect = \"\";\n $14c0b72509d70225$var$state = \"default\";\n }\n });\n }, 300);\n } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n {\n if (target && $14c0b72509d70225$var$modifiedElementMap.has(target)) {\n let targetOldUserSelect = $14c0b72509d70225$var$modifiedElementMap.get(target);\n if (target.style.userSelect === \"none\") target.style.userSelect = targetOldUserSelect;\n if (target.getAttribute(\"style\") === \"\") target.removeAttribute(\"style\");\n $14c0b72509d70225$var$modifiedElementMap.delete(target);\n }\n }\n}\n\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = (0, $bx7SL$react).createContext(null);\n$ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = \"PressResponderContext\";\n\n\n\nfunction $f6c31cce2adf654f$var$usePressResponderContext(props) {\n // Consume context from <PressResponder> and merge with props.\n let context = (0, $bx7SL$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n if (context) {\n let { register: register , ...contextProps } = context;\n props = (0, $bx7SL$mergeProps)(contextProps, props);\n register();\n }\n (0, $bx7SL$useSyncRef)(context, props.ref);\n return props;\n}\nfunction $f6c31cce2adf654f$export$45712eceda6fad21(props) {\n let { onPress: onPress , onPressChange: onPressChange , onPressStart: onPressStart , onPressEnd: onPressEnd , onPressUp: onPressUp , isDisabled: isDisabled , isPressed: isPressedProp , preventFocusOnPress: preventFocusOnPress , shouldCancelOnPointerExit: shouldCancelOnPointerExit , allowTextSelectionOnPress: allowTextSelectionOnPress , // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ref: _ , ...domProps } = $f6c31cce2adf654f$var$usePressResponderContext(props);\n let propsRef = (0, $bx7SL$useRef)(null);\n propsRef.current = {\n onPress: onPress,\n onPressChange: onPressChange,\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressUp: onPressUp,\n isDisabled: isDisabled,\n shouldCancelOnPointerExit: shouldCancelOnPointerExit\n };\n let [isPressed, setPressed] = (0, $bx7SL$useState)(false);\n let ref = (0, $bx7SL$useRef)({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n ignoreClickAfterPress: false,\n didFirePressStart: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null\n });\n let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $bx7SL$useGlobalListeners)();\n let pressProps = (0, $bx7SL$useMemo)(()=>{\n let state = ref.current;\n let triggerPressStart = (originalEvent, pointerType)=>{\n let { onPressStart: onPressStart , onPressChange: onPressChange , isDisabled: isDisabled } = propsRef.current;\n if (isDisabled || state.didFirePressStart) return;\n if (onPressStart) onPressStart({\n type: \"pressstart\",\n pointerType: pointerType,\n target: originalEvent.currentTarget,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n if (onPressChange) onPressChange(true);\n state.didFirePressStart = true;\n setPressed(true);\n };\n let triggerPressEnd = (originalEvent, pointerType, wasPressed = true)=>{\n let { onPressEnd: onPressEnd , onPressChange: onPressChange , onPress: onPress , isDisabled: isDisabled } = propsRef.current;\n if (!state.didFirePressStart) return;\n state.ignoreClickAfterPress = true;\n state.didFirePressStart = false;\n if (onPressEnd) onPressEnd({\n type: \"pressend\",\n pointerType: pointerType,\n target: originalEvent.currentTarget,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n if (onPressChange) onPressChange(false);\n setPressed(false);\n if (onPress && wasPressed && !isDisabled) onPress({\n type: \"press\",\n pointerType: pointerType,\n target: originalEvent.currentTarget,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n };\n let triggerPressUp = (originalEvent, pointerType)=>{\n let { onPressUp: onPressUp , isDisabled: isDisabled } = propsRef.current;\n if (isDisabled) return;\n if (onPressUp) onPressUp({\n type: \"pressup\",\n pointerType: pointerType,\n target: originalEvent.currentTarget,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n };\n let cancel = (e)=>{\n if (state.isPressed) {\n if (state.isOverTarget) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n }\n };\n let pressProps = {\n onKeyDown (e) {\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && e.currentTarget.contains(e.target)) {\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key)) e.preventDefault();\n e.stopPropagation();\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget;\n state.isPressed = true;\n triggerPressStart(e, \"keyboard\");\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred.\n addGlobalListener(document, \"keyup\", onKeyUp, false);\n }\n } else if (e.key === \"Enter\" && $f6c31cce2adf654f$var$isHTMLAnchorLink(e.currentTarget)) // If the target is a link, we won't have handled this above because we want the default\n // browser behavior to open the link when pressing Enter. But we still need to prevent\n // default so that elements above do not also handle it (e.g. table row).\n e.stopPropagation();\n },\n onKeyUp (e) {\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && !e.repeat && e.currentTarget.contains(e.target)) triggerPressUp($f6c31cce2adf654f$var$createEvent(state.target, e), \"keyboard\");\n },\n onClick (e) {\n if (e && !e.currentTarget.contains(e.target)) return;\n if (e && e.button === 0) {\n e.stopPropagation();\n if (isDisabled) e.preventDefault();\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && (state.pointerType === \"virtual\" || (0, $bx7SL$isVirtualClick)(e.nativeEvent))) {\n // Ensure the element receives focus (VoiceOver on iOS does not do this)\n if (!isDisabled && !preventFocusOnPress) (0, $bx7SL$focusWithoutScrolling)(e.currentTarget);\n triggerPressStart(e, \"virtual\");\n triggerPressUp(e, \"virtual\");\n triggerPressEnd(e, \"virtual\");\n }\n state.ignoreEmulatedMouseEvents = false;\n state.ignoreClickAfterPress = false;\n }\n }\n };\n let onKeyUp = (e)=>{\n if (state.isPressed && $f6c31cce2adf654f$var$isValidKeyboardEvent(e, state.target)) {\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key)) e.preventDefault();\n e.stopPropagation();\n state.isPressed = false;\n let target = e.target;\n triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), \"keyboard\", state.target.contains(target));\n removeAllGlobalListeners();\n // If the target is a link, trigger the click method to open the URL,\n // but defer triggering pressEnd until onClick event handler.\n if (state.target instanceof HTMLElement && state.target.contains(target) && ($f6c31cce2adf654f$var$isHTMLAnchorLink(state.target) || state.target.getAttribute(\"role\") === \"link\")) state.target.click();\n }\n };\n if (typeof PointerEvent !== \"undefined\") {\n pressProps.onPointerDown = (e)=>{\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if ((0, $bx7SL$isVirtualPointerEvent)(e.nativeEvent)) {\n state.pointerType = \"virtual\";\n return;\n }\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on pointer down and handle focusing the pressable element ourselves.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n state.pointerType = e.pointerType;\n e.stopPropagation();\n if (!state.isPressed) {\n state.isPressed = true;\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n if (!isDisabled && !preventFocusOnPress) (0, $bx7SL$focusWithoutScrolling)(e.currentTarget);\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n triggerPressStart(e, state.pointerType);\n addGlobalListener(document, \"pointermove\", onPointerMove, false);\n addGlobalListener(document, \"pointerup\", onPointerUp, false);\n addGlobalListener(document, \"pointercancel\", onPointerCancel, false);\n }\n };\n pressProps.onMouseDown = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (e.button === 0) {\n // Chrome and Firefox on touch Windows devices require mouse down events\n // to be canceled in addition to pointer events, or an extra asynchronous\n // focus event will be fired.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n e.stopPropagation();\n }\n };\n pressProps.onPointerUp = (e)=>{\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!e.currentTarget.contains(e.target) || state.pointerType === \"virtual\") return;\n // Only handle left clicks\n // Safari on iOS sometimes fires pointerup events, even\n // when the touch isn't over the target, so double check.\n if (e.button === 0 && $f6c31cce2adf654f$var$isOverTarget(e, e.currentTarget)) triggerPressUp(e, state.pointerType || e.pointerType);\n };\n // Safari on iOS < 13.2 does not implement pointerenter/pointerleave events correctly.\n // Use pointer move events instead to implement our own hit testing.\n // See https://bugs.webkit.org/show_bug.cgi?id=199803\n let onPointerMove = (e)=>{\n if (e.pointerId !== state.activePointerId) return;\n if ($f6c31cce2adf654f$var$isOverTarget(e, state.target)) {\n if (!state.isOverTarget) {\n state.isOverTarget = true;\n triggerPressStart($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget) {\n state.isOverTarget = false;\n triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) cancel(e);\n }\n };\n let onPointerUp = (e)=>{\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0) {\n if ($f6c31cce2adf654f$var$isOverTarget(e, state.target)) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n else if (state.isOverTarget) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n }\n };\n let onPointerCancel = (e)=>{\n cancel(e);\n };\n pressProps.onDragStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n cancel(e);\n };\n } else {\n pressProps.onMouseDown = (e)=>{\n // Only handle left clicks\n if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on mouse down and handle focusing the pressable element ourselves.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n e.stopPropagation();\n if (state.ignoreEmulatedMouseEvents) return;\n state.isPressed = true;\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = (0, $bx7SL$isVirtualClick)(e.nativeEvent) ? \"virtual\" : \"mouse\";\n if (!isDisabled && !preventFocusOnPress) (0, $bx7SL$focusWithoutScrolling)(e.currentTarget);\n triggerPressStart(e, state.pointerType);\n addGlobalListener(document, \"mouseup\", onMouseUp, false);\n };\n pressProps.onMouseEnter = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (state.isPressed && !state.ignoreEmulatedMouseEvents) {\n state.isOverTarget = true;\n triggerPressStart(e, state.pointerType);\n }\n };\n pressProps.onMouseLeave = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (state.isPressed && !state.ignoreEmulatedMouseEvents) {\n state.isOverTarget = false;\n triggerPressEnd(e, state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) cancel(e);\n }\n };\n pressProps.onMouseUp = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (!state.ignoreEmulatedMouseEvents && e.button === 0) triggerPressUp(e, state.pointerType);\n };\n let onMouseUp = (e)=>{\n // Only handle left clicks\n if (e.button !== 0) return;\n state.isPressed = false;\n removeAllGlobalListeners();\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n if ($f6c31cce2adf654f$var$isOverTarget(e, state.target)) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n else if (state.isOverTarget) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isOverTarget = false;\n };\n pressProps.onTouchStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);\n if (!touch) return;\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n state.target = e.currentTarget;\n state.pointerType = \"touch\";\n // Due to browser inconsistencies, especially on mobile browsers, we prevent default\n // on the emulated mouse event and handle focusing the pressable element ourselves.\n if (!isDisabled && !preventFocusOnPress) (0, $bx7SL$focusWithoutScrolling)(e.currentTarget);\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n triggerPressStart(e, state.pointerType);\n addGlobalListener(window, \"scroll\", onScroll, true);\n };\n pressProps.onTouchMove = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (!state.isPressed) return;\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget) {\n state.isOverTarget = true;\n triggerPressStart(e, state.pointerType);\n }\n } else if (state.isOverTarget) {\n state.isOverTarget = false;\n triggerPressEnd(e, state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) cancel(e);\n }\n };\n pressProps.onTouchEnd = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (!state.isPressed) return;\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget)) {\n triggerPressUp(e, state.pointerType);\n triggerPressEnd(e, state.pointerType);\n } else if (state.isOverTarget) triggerPressEnd(e, state.pointerType, false);\n state.isPressed = false;\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n removeAllGlobalListeners();\n };\n pressProps.onTouchCancel = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (state.isPressed) cancel(e);\n };\n let onScroll = (e)=>{\n if (state.isPressed && e.target.contains(state.target)) cancel({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n };\n pressProps.onDragStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n cancel(e);\n };\n }\n return pressProps;\n }, [\n addGlobalListener,\n isDisabled,\n preventFocusOnPress,\n removeAllGlobalListeners,\n allowTextSelectionOnPress\n ]);\n // Remove user-select: none in case component unmounts immediately after pressStart\n // eslint-disable-next-line arrow-body-style\n (0, $bx7SL$useEffect)(()=>{\n return ()=>{\n if (!allowTextSelectionOnPress) // eslint-disable-next-line react-hooks/exhaustive-deps\n (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(ref.current.target);\n };\n }, [\n allowTextSelectionOnPress\n ]);\n return {\n isPressed: isPressedProp || isPressed,\n pressProps: (0, $bx7SL$mergeProps)(domProps, pressProps)\n };\n}\nfunction $f6c31cce2adf654f$var$isHTMLAnchorLink(target) {\n return target.tagName === \"A\" && target.hasAttribute(\"href\");\n}\nfunction $f6c31cce2adf654f$var$isValidKeyboardEvent(event, currentTarget) {\n const { key: key , code: code } = event;\n const element = currentTarget;\n const role = element.getAttribute(\"role\");\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (key === \"Enter\" || key === \" \" || key === \"Spacebar\" || code === \"Space\") && !(element instanceof HTMLInputElement && !$f6c31cce2adf654f$var$isValidInputKey(element, key) || element instanceof HTMLTextAreaElement || element.isContentEditable) && // A link with a valid href should be handled natively,\n // unless it also has role='button' and was triggered using Space.\n (!$f6c31cce2adf654f$var$isHTMLAnchorLink(element) || role === \"button\" && key !== \"Enter\") && // An element with role='link' should only trigger with Enter key\n !(role === \"link\" && key !== \"Enter\");\n}\nfunction $f6c31cce2adf654f$var$getTouchFromEvent(event) {\n const { targetTouches: targetTouches } = event;\n if (targetTouches.length > 0) return targetTouches[0];\n return null;\n}\nfunction $f6c31cce2adf654f$var$getTouchById(event, pointerId) {\n const changedTouches = event.changedTouches;\n for(let i = 0; i < changedTouches.length; i++){\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) return touch;\n }\n return null;\n}\nfunction $f6c31cce2adf654f$var$createEvent(target, e) {\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey\n };\n}\nfunction $f6c31cce2adf654f$var$getPointClientRect(point) {\n let offsetX = point.width / 2 || point.radiusX || 0;\n let offsetY = point.height / 2 || point.radiusY || 0;\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\nfunction $f6c31cce2adf654f$var$areRectanglesOverlapping(a, b) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) return false;\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) return false;\n return true;\n}\nfunction $f6c31cce2adf654f$var$isOverTarget(point, target) {\n let rect = target.getBoundingClientRect();\n let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);\n return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefault(target) {\n // We cannot prevent default if the target is a draggable element.\n return !(target instanceof HTMLElement) || !target.draggable;\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {\n if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);\n if (target instanceof HTMLButtonElement) return target.type !== \"submit\";\n return true;\n}\nconst $f6c31cce2adf654f$var$nonTextInputTypes = new Set([\n \"checkbox\",\n \"radio\",\n \"range\",\n \"color\",\n \"file\",\n \"image\",\n \"button\",\n \"submit\",\n \"reset\"\n]);\nfunction $f6c31cce2adf654f$var$isValidInputKey(target, key) {\n // Only space should toggle checkboxes and radios, not enter.\n return target.type === \"checkbox\" || target.type === \"radio\" ? key === \" \" : $f6c31cce2adf654f$var$nonTextInputTypes.has(target.type);\n}\n\n\n\nconst $3b117e43dc0ca95d$export$27c701ed9e449e99 = /*#__PURE__*/ (0, $bx7SL$react).forwardRef(({ children: children , ...props }, ref)=>{\n let newRef = (0, $bx7SL$useRef)();\n ref = ref !== null && ref !== void 0 ? ref : newRef;\n let { pressProps: pressProps } = (0, $f6c31cce2adf654f$export$45712eceda6fad21)({\n ...props,\n ref: ref\n });\n let child = (0, $bx7SL$react).Children.only(children);\n return /*#__PURE__*/ (0, $bx7SL$react).cloneElement(child, // @ts-ignore\n {\n ref: ref,\n ...(0, $bx7SL$mergeProps)(child.props, pressProps)\n });\n});\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $f1ab8c75478c6f73$export$3351871ee4b288b8 = /*#__PURE__*/ (0, $bx7SL$react).forwardRef(({ children: children , ...props }, ref)=>{\n let isRegistered = (0, $bx7SL$useRef)(false);\n let prevContext = (0, $bx7SL$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n let context = (0, $bx7SL$mergeProps)(prevContext || {}, {\n ...props,\n ref: ref || (prevContext === null || prevContext === void 0 ? void 0 : prevContext.ref),\n register () {\n isRegistered.current = true;\n if (prevContext) prevContext.register();\n }\n });\n (0, $bx7SL$useSyncRef)(prevContext, ref);\n (0, $bx7SL$useEffect)(()=>{\n if (!isRegistered.current) console.warn(\"A PressResponder was rendered without a pressable child. Either call the usePress hook, or wrap your DOM node with <Pressable> component.\");\n }, []);\n return /*#__PURE__*/ (0, $bx7SL$react).createElement((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5).Provider, {\n value: context\n }, children);\n});\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $bx7SL$useRef)({\n isFocused: false,\n onBlur: onBlur,\n observer: null\n });\n stateRef.current.onBlur = onBlur;\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n (0, $bx7SL$useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n // This function is called during a React onFocus event.\n return (0, $bx7SL$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n var // For backward compatibility, dispatch a (fake) React synthetic event.\n _stateRef_current, _stateRef_current_onBlur;\n stateRef.current.isFocused = false;\n if (target.disabled) (_stateRef_current_onBlur = (_stateRef_current = stateRef.current).onBlur) === null || _stateRef_current_onBlur === void 0 ? void 0 : _stateRef_current_onBlur.call(_stateRef_current, new $8a9cb279dc87e130$export$905e7fc544a71f36(\"blur\", e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener(\"focusout\", onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer.disconnect();\n target.dispatchEvent(new FocusEvent(\"blur\"));\n target.dispatchEvent(new FocusEvent(\"focusout\", {\n bubbles: true\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n \"disabled\"\n ]\n });\n }\n }, []);\n}\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled , onFocus: onFocusProp , onBlur: onBlurProp , onFocusChange: onFocusChange } = props;\n const onBlur = (0, $bx7SL$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $bx7SL$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : null\n }\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$var$hasSetupGlobalListeners = false;\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $bx7SL$isMac)() && e.altKey || e.ctrlKey || e.key === \"Control\" || e.key === \"Shift\" || e.key === \"Meta\");\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = \"keyboard\";\n $507fabe10e71c6fb$var$triggerChangeHandlers(\"keyboard\", e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = \"pointer\";\n if (e.type === \"mousedown\" || e.type === \"pointerdown\") {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers(\"pointer\", e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, $bx7SL$isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = \"virtual\";\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = \"virtual\";\n $507fabe10e71c6fb$var$triggerChangeHandlers(\"virtual\", e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents() {\n if (typeof window === \"undefined\" || $507fabe10e71c6fb$var$hasSetupGlobalListeners) return;\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = HTMLElement.prototype.focus;\n HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n document.addEventListener(\"keydown\", $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n document.addEventListener(\"keyup\", $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n document.addEventListener(\"click\", $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n window.addEventListener(\"focus\", $507fabe10e71c6fb$var$handleFocusEvent, true);\n window.addEventListener(\"blur\", $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== \"undefined\") {\n document.addEventListener(\"pointerdown\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n document.addEventListener(\"pointermove\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n document.addEventListener(\"pointerup\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n document.addEventListener(\"mousedown\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n document.addEventListener(\"mousemove\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n document.addEventListener(\"mouseup\", $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$var$hasSetupGlobalListeners = true;\n}\nif (typeof document !== \"undefined\") {\n if (document.readyState !== \"loading\") $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n else document.addEventListener(\"DOMContentLoaded\", $507fabe10e71c6fb$var$setupGlobalFocusEvents);\n}\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== \"pointer\";\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $bx7SL$useState)($507fabe10e71c6fb$var$currentModality);\n (0, $bx7SL$useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return modality;\n}\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n return !(isTextInput && modality === \"keyboard\" && e instanceof KeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput , autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $bx7SL$useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, $bx7SL$useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(opts === null || opts === void 0 ? void 0 : opts.isTextInput, modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled , onBlurWithin: onBlurWithin , onFocusWithin: onFocusWithin , onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $bx7SL$useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, $bx7SL$useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $bx7SL$useCallback)((e)=>{\n if (!state.current.isFocusWithin) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n onFocus: null,\n onBlur: null\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === \"touch\") $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === \"undefined\") return;\n if (typeof PointerEvent !== \"undefined\") document.addEventListener(\"pointerup\", $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener(\"touchend\", $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== \"undefined\") document.removeEventListener(\"pointerup\", $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener(\"touchend\", $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart , onHoverChange: onHoverChange , onHoverEnd: onHoverEnd , isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $bx7SL$useState)(false);\n let state = (0, $bx7SL$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: \"\",\n target: null\n }).current;\n (0, $bx7SL$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps , triggerHoverEnd: triggerHoverEnd } = (0, $bx7SL$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === \"touch\" || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: \"hoverstart\",\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = \"\";\n state.target = null;\n if (pointerType === \"touch\" || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: \"hoverend\",\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== \"undefined\") {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === \"mouse\") return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, \"mouse\");\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, \"mouse\");\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, $bx7SL$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nfunction $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {\n let { ref: ref , onInteractOutside: onInteractOutside , isDisabled: isDisabled , onInteractOutsideStart: onInteractOutsideStart } = props;\n let stateRef = (0, $bx7SL$useRef)({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false,\n onInteractOutside: onInteractOutside,\n onInteractOutsideStart: onInteractOutsideStart\n });\n let state = stateRef.current;\n state.onInteractOutside = onInteractOutside;\n state.onInteractOutsideStart = onInteractOutsideStart;\n (0, $bx7SL$useEffect)(()=>{\n if (isDisabled) return;\n let onPointerDown = (e)=>{\n if ($e0b6e0b68ec7f50f$var$isValidEvent(e, ref) && state.onInteractOutside) {\n if (state.onInteractOutsideStart) state.onInteractOutsideStart(e);\n state.isPointerDown = true;\n }\n };\n // Use pointer events if available. Otherwise, fall back to mouse and touch events.\n if (typeof PointerEvent !== \"undefined\") {\n let onPointerUp = (e)=>{\n if (state.isPointerDown && state.onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n // changing these to capture phase fixed combobox\n document.addEventListener(\"pointerdown\", onPointerDown, true);\n document.addEventListener(\"pointerup\", onPointerUp, true);\n return ()=>{\n document.removeEventListener(\"pointerdown\", onPointerDown, true);\n document.removeEventListener(\"pointerup\", onPointerUp, true);\n };\n } else {\n let onMouseUp = (e)=>{\n if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false;\n else if (state.isPointerDown && state.onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n let onTouchEnd = (e)=>{\n state.ignoreEmulatedMouseEvents = true;\n if (state.onInteractOutside && state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n document.addEventListener(\"mousedown\", onPointerDown, true);\n document.addEventListener(\"mouseup\", onMouseUp, true);\n document.addEventListener(\"touchstart\", onPointerDown, true);\n document.addEventListener(\"touchend\", onTouchEnd, true);\n return ()=>{\n document.removeEventListener(\"mousedown\", onPointerDown, true);\n document.removeEventListener(\"mouseup\", onMouseUp, true);\n document.removeEventListener(\"touchstart\", onPointerDown, true);\n document.removeEventListener(\"touchend\", onTouchEnd, true);\n };\n }\n }, [\n ref,\n state,\n isDisabled\n ]);\n}\nfunction $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {\n if (event.button > 0) return false;\n // if the event target is no longer in the document\n if (event.target) {\n const ownerDocument = event.target.ownerDocument;\n if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;\n }\n return ref.current && !ref.current.contains(event.target);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $93925083ecbb358c$export$48d1ea6320830260(handler) {\n if (!handler) return;\n let shouldStopPropagation = true;\n return (e)=>{\n let event = {\n ...e,\n preventDefault () {\n e.preventDefault();\n },\n isDefaultPrevented () {\n return e.isDefaultPrevented();\n },\n stopPropagation () {\n console.error(\"stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.\");\n },\n continuePropagation () {\n shouldStopPropagation = false;\n }\n };\n handler(event);\n if (shouldStopPropagation) e.stopPropagation();\n };\n}\n\n\nfunction $46d819fcbaf35654$export$8f71654801c2f7cd(props) {\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyDown),\n onKeyUp: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyUp)\n }\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $e8a7022cf87cba2a$export$36da96379f79f245(props) {\n let { onMoveStart: onMoveStart , onMove: onMove , onMoveEnd: onMoveEnd } = props;\n let state = (0, $bx7SL$useRef)({\n didMove: false,\n lastPosition: null,\n id: null\n });\n let { addGlobalListener: addGlobalListener , removeGlobalListener: removeGlobalListener } = (0, $bx7SL$useGlobalListeners)();\n let moveProps = (0, $bx7SL$useMemo)(()=>{\n let moveProps = {};\n let start = ()=>{\n (0, $14c0b72509d70225$export$16a4697467175487)();\n state.current.didMove = false;\n };\n let move = (originalEvent, pointerType, deltaX, deltaY)=>{\n if (deltaX === 0 && deltaY === 0) return;\n if (!state.current.didMove) {\n state.current.didMove = true;\n onMoveStart === null || onMoveStart === void 0 ? void 0 : onMoveStart({\n type: \"movestart\",\n pointerType: pointerType,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n onMove({\n type: \"move\",\n pointerType: pointerType,\n deltaX: deltaX,\n deltaY: deltaY,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n };\n let end = (originalEvent, pointerType)=>{\n (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)();\n if (state.current.didMove) onMoveEnd === null || onMoveEnd === void 0 ? void 0 : onMoveEnd({\n type: \"moveend\",\n pointerType: pointerType,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n };\n if (typeof PointerEvent === \"undefined\") {\n let onMouseMove = (e)=>{\n if (e.button === 0) {\n move(e, \"mouse\", e.pageX - state.current.lastPosition.pageX, e.pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n }\n };\n let onMouseUp = (e)=>{\n if (e.button === 0) {\n end(e, \"mouse\");\n removeGlobalListener(window, \"mousemove\", onMouseMove, false);\n removeGlobalListener(window, \"mouseup\", onMouseUp, false);\n }\n };\n moveProps.onMouseDown = (e)=>{\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n addGlobalListener(window, \"mousemove\", onMouseMove, false);\n addGlobalListener(window, \"mouseup\", onMouseUp, false);\n }\n };\n let onTouchMove = (e)=>{\n let touch = [\n ...e.changedTouches\n ].findIndex(({ identifier: identifier })=>identifier === state.current.id);\n if (touch >= 0) {\n let { pageX: pageX , pageY: pageY } = e.changedTouches[touch];\n move(e, \"touch\", pageX - state.current.lastPosition.pageX, pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {\n pageX: pageX,\n pageY: pageY\n };\n }\n };\n let onTouchEnd = (e)=>{\n let touch = [\n ...e.changedTouches\n ].findIndex(({ identifier: identifier })=>identifier === state.current.id);\n if (touch >= 0) {\n end(e, \"touch\");\n state.current.id = null;\n removeGlobalListener(window, \"touchmove\", onTouchMove);\n removeGlobalListener(window, \"touchend\", onTouchEnd);\n removeGlobalListener(window, \"touchcancel\", onTouchEnd);\n }\n };\n moveProps.onTouchStart = (e)=>{\n if (e.changedTouches.length === 0 || state.current.id != null) return;\n let { pageX: pageX , pageY: pageY , identifier: identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {\n pageX: pageX,\n pageY: pageY\n };\n state.current.id = identifier;\n addGlobalListener(window, \"touchmove\", onTouchMove, false);\n addGlobalListener(window, \"touchend\", onTouchEnd, false);\n addGlobalListener(window, \"touchcancel\", onTouchEnd, false);\n };\n } else {\n let onPointerMove = (e)=>{\n if (e.pointerId === state.current.id) {\n let pointerType = e.pointerType || \"mouse\";\n // Problems with PointerEvent#movementX/movementY:\n // 1. it is always 0 on macOS Safari.\n // 2. On Chrome Android, it's scaled by devicePixelRatio, but not on Chrome macOS\n move(e, pointerType, e.pageX - state.current.lastPosition.pageX, e.pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n }\n };\n let onPointerUp = (e)=>{\n if (e.pointerId === state.current.id) {\n let pointerType = e.pointerType || \"mouse\";\n end(e, pointerType);\n state.current.id = null;\n removeGlobalListener(window, \"pointermove\", onPointerMove, false);\n removeGlobalListener(window, \"pointerup\", onPointerUp, false);\n removeGlobalListener(window, \"pointercancel\", onPointerUp, false);\n }\n };\n moveProps.onPointerDown = (e)=>{\n if (e.button === 0 && state.current.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n state.current.id = e.pointerId;\n addGlobalListener(window, \"pointermove\", onPointerMove, false);\n addGlobalListener(window, \"pointerup\", onPointerUp, false);\n addGlobalListener(window, \"pointercancel\", onPointerUp, false);\n }\n };\n }\n let triggerKeyboardMove = (e, deltaX, deltaY)=>{\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n moveProps.onKeyDown = (e)=>{\n switch(e.key){\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n }\n };\n return moveProps;\n }, [\n state,\n onMoveStart,\n onMove,\n onMoveEnd,\n addGlobalListener,\n removeGlobalListener\n ]);\n return {\n moveProps: moveProps\n };\n}\n\n\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $7d0a636d7a4dcefd$export$2123ff2b87c81ca(props, ref) {\n let { onScroll: onScroll , isDisabled: isDisabled } = props;\n let onScrollHandler = (0, $bx7SL$useCallback)((e)=>{\n // If the ctrlKey is pressed, this is a zoom event, do nothing.\n if (e.ctrlKey) return;\n // stop scrolling the page\n e.preventDefault();\n e.stopPropagation();\n if (onScroll) onScroll({\n deltaX: e.deltaX,\n deltaY: e.deltaY\n });\n }, [\n onScroll\n ]);\n (0, $bx7SL$useEvent)(ref, \"wheel\", isDisabled ? null : onScrollHandler);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $8a26561d2877236e$var$DEFAULT_THRESHOLD = 500;\nfunction $8a26561d2877236e$export$c24ed0104d07eab9(props) {\n let { isDisabled: isDisabled , onLongPressStart: onLongPressStart , onLongPressEnd: onLongPressEnd , onLongPress: onLongPress , threshold: threshold = $8a26561d2877236e$var$DEFAULT_THRESHOLD , accessibilityDescription: accessibilityDescription } = props;\n const timeRef = (0, $bx7SL$useRef)(null);\n let { addGlobalListener: addGlobalListener , removeGlobalListener: removeGlobalListener } = (0, $bx7SL$useGlobalListeners)();\n let { pressProps: pressProps } = (0, $f6c31cce2adf654f$export$45712eceda6fad21)({\n isDisabled: isDisabled,\n onPressStart (e) {\n if (e.pointerType === \"mouse\" || e.pointerType === \"touch\") {\n if (onLongPressStart) onLongPressStart({\n ...e,\n type: \"longpressstart\"\n });\n timeRef.current = setTimeout(()=>{\n // Prevent other usePress handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent(\"pointercancel\", {\n bubbles: true\n }));\n if (onLongPress) onLongPress({\n ...e,\n type: \"longpress\"\n });\n timeRef.current = null;\n }, threshold);\n // Prevent context menu, which may be opened on long press on touch devices\n if (e.pointerType === \"touch\") {\n let onContextMenu = (e)=>{\n e.preventDefault();\n };\n addGlobalListener(e.target, \"contextmenu\", onContextMenu, {\n once: true\n });\n addGlobalListener(window, \"pointerup\", ()=>{\n // If no contextmenu event is fired quickly after pointerup, remove the handler\n // so future context menu events outside a long press are not prevented.\n setTimeout(()=>{\n removeGlobalListener(e.target, \"contextmenu\", onContextMenu);\n }, 30);\n }, {\n once: true\n });\n }\n }\n },\n onPressEnd (e) {\n if (timeRef.current) clearTimeout(timeRef.current);\n if (onLongPressEnd && (e.pointerType === \"mouse\" || e.pointerType === \"touch\")) onLongPressEnd({\n ...e,\n type: \"longpressend\"\n });\n }\n });\n let descriptionProps = (0, $bx7SL$useDescription)(onLongPress && !isDisabled ? accessibilityDescription : null);\n return {\n longPressProps: (0, $bx7SL$mergeProps)(pressProps, descriptionProps)\n };\n}\n\n\n\n\nexport {$3b117e43dc0ca95d$export$27c701ed9e449e99 as Pressable, $f1ab8c75478c6f73$export$3351871ee4b288b8 as PressResponder, $a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus, $507fabe10e71c6fb$export$b9b3dfddab17db27 as isFocusVisible, $507fabe10e71c6fb$export$630ff653c5ada6a9 as getInteractionModality, $507fabe10e71c6fb$export$8397ddfc504fdb9a as setInteractionModality, $507fabe10e71c6fb$export$98e20ec92f614cfe as useInteractionModality, $507fabe10e71c6fb$export$ffd9e5021c1fb2d6 as useFocusVisible, $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as useFocusVisibleListener, $9ab94262bd0047c7$export$420e68273165f4ec as useFocusWithin, $6179b936705e76d3$export$ae780daf29e6d456 as useHover, $e0b6e0b68ec7f50f$export$872b660ac5a1ff98 as useInteractOutside, $46d819fcbaf35654$export$8f71654801c2f7cd as useKeyboard, $e8a7022cf87cba2a$export$36da96379f79f245 as useMove, $f6c31cce2adf654f$export$45712eceda6fad21 as usePress, $7d0a636d7a4dcefd$export$2123ff2b87c81ca as useScrollWheel, $8a26561d2877236e$export$c24ed0104d07eab9 as useLongPress};\n//# sourceMappingURL=module.js.map\n","import $6nfFC$swchelperssrc_define_propertymjs from \"@swc/helpers/src/_define_property.mjs\";\nimport $6nfFC$react, {useRef as $6nfFC$useRef, useContext as $6nfFC$useContext, useMemo as $6nfFC$useMemo, useEffect as $6nfFC$useEffect, useState as $6nfFC$useState, useCallback as $6nfFC$useCallback} from \"react\";\nimport {useLayoutEffect as $6nfFC$useLayoutEffect, runAfterTransition as $6nfFC$runAfterTransition, focusWithoutScrolling as $6nfFC$focusWithoutScrolling, mergeProps as $6nfFC$mergeProps, useSyncRef as $6nfFC$useSyncRef} from \"@react-aria/utils\";\nimport {getInteractionModality as $6nfFC$getInteractionModality, isFocusVisible as $6nfFC$isFocusVisible, useFocusVisibleListener as $6nfFC$useFocusVisibleListener, useFocus as $6nfFC$useFocus, useFocusWithin as $6nfFC$useFocusWithin, useKeyboard as $6nfFC$useKeyboard} from \"@react-aria/interactions\";\nimport $6nfFC$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $6a99195332edec8b$export$80f3e147d781571c(element) {\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n if ((0, $6nfFC$getInteractionModality)() === \"virtual\") {\n let lastFocusedElement = document.activeElement;\n (0, $6nfFC$runAfterTransition)(()=>{\n // If focus did not move and the element is still in the document, focus it.\n if (document.activeElement === lastFocusedElement && document.contains(element)) (0, $6nfFC$focusWithoutScrolling)(element);\n });\n } else (0, $6nfFC$focusWithoutScrolling)(element);\n}\n\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $645f2e67b85a24c9$var$isStyleVisible(element) {\n if (!(element instanceof HTMLElement) && !(element instanceof SVGElement)) return false;\n let { display: display , visibility: visibility } = element.style;\n let isVisible = display !== \"none\" && visibility !== \"hidden\" && visibility !== \"collapse\";\n if (isVisible) {\n const { getComputedStyle: getComputedStyle } = element.ownerDocument.defaultView;\n let { display: computedDisplay , visibility: computedVisibility } = getComputedStyle(element);\n isVisible = computedDisplay !== \"none\" && computedVisibility !== \"hidden\" && computedVisibility !== \"collapse\";\n }\n return isVisible;\n}\nfunction $645f2e67b85a24c9$var$isAttributeVisible(element, childElement) {\n return !element.hasAttribute(\"hidden\") && (element.nodeName === \"DETAILS\" && childElement && childElement.nodeName !== \"SUMMARY\" ? element.hasAttribute(\"open\") : true);\n}\nfunction $645f2e67b85a24c9$export$e989c0fffaa6b27a(element, childElement) {\n return element.nodeName !== \"#comment\" && $645f2e67b85a24c9$var$isStyleVisible(element) && $645f2e67b85a24c9$var$isAttributeVisible(element, childElement) && (!element.parentElement || $645f2e67b85a24c9$export$e989c0fffaa6b27a(element.parentElement, element));\n}\n\n\n\n\nconst $9bf71ea28793e738$var$FocusContext = /*#__PURE__*/ (0, $6nfFC$react).createContext(null);\nlet $9bf71ea28793e738$var$activeScope = null;\nfunction $9bf71ea28793e738$export$20e40289641fbbb6(props) {\n let { children: children , contain: contain , restoreFocus: restoreFocus , autoFocus: autoFocus } = props;\n let startRef = (0, $6nfFC$useRef)();\n let endRef = (0, $6nfFC$useRef)();\n let scopeRef = (0, $6nfFC$useRef)([]);\n let ctx = (0, $6nfFC$useContext)($9bf71ea28793e738$var$FocusContext);\n var _ctx_scopeRef;\n // The parent scope is based on the JSX tree, using context.\n // However, if a new scope mounts outside the active scope (e.g. DialogContainer launched from a menu),\n // we want the parent scope to be the active scope instead.\n let ctxParent = (_ctx_scopeRef = ctx === null || ctx === void 0 ? void 0 : ctx.scopeRef) !== null && _ctx_scopeRef !== void 0 ? _ctx_scopeRef : null;\n let parentScope = (0, $6nfFC$useMemo)(()=>$9bf71ea28793e738$var$activeScope && $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope) && !$9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, ctxParent) ? $9bf71ea28793e738$var$activeScope : ctxParent, [\n ctxParent\n ]);\n (0, $6nfFC$useLayoutEffect)(()=>{\n // Find all rendered nodes between the sentinels and add them to the scope.\n let node = startRef.current.nextSibling;\n let nodes = [];\n while(node && node !== endRef.current){\n nodes.push(node);\n node = node.nextSibling;\n }\n scopeRef.current = nodes;\n }, [\n children,\n parentScope\n ]);\n // add to the focus scope tree in render order because useEffects/useLayoutEffects run children first whereas render runs parent first\n // which matters when constructing a tree\n if ($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parentScope) && !$9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef)) $9bf71ea28793e738$export$d06fae2ee68b101e.addTreeNode(scopeRef, parentScope);\n let node = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);\n node.contain = contain;\n $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restoreFocus, contain);\n $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain);\n $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain);\n $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus);\n // this layout effect needs to run last so that focusScopeTree cleanup happens at the last moment possible\n (0, $6nfFC$useLayoutEffect)(()=>{\n if (scopeRef) return ()=>{\n // Scope may have been re-parented.\n let parentScope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef).parent.scopeRef;\n // Restore the active scope on unmount if this scope or a descendant scope is active.\n // Parent effect cleanups run before children, so we need to check if the\n // parent scope actually still exists before restoring the active scope to it.\n if ((scopeRef === $9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope(scopeRef, $9bf71ea28793e738$var$activeScope)) && (!parentScope || $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parentScope))) $9bf71ea28793e738$var$activeScope = parentScope;\n $9bf71ea28793e738$export$d06fae2ee68b101e.removeTreeNode(scopeRef);\n };\n }, [\n scopeRef,\n parentScope\n ]);\n let focusManager = $9bf71ea28793e738$var$createFocusManagerForScope(scopeRef);\n return /*#__PURE__*/ (0, $6nfFC$react).createElement($9bf71ea28793e738$var$FocusContext.Provider, {\n value: {\n scopeRef: scopeRef,\n focusManager: focusManager\n }\n }, /*#__PURE__*/ (0, $6nfFC$react).createElement(\"span\", {\n \"data-focus-scope-start\": true,\n hidden: true,\n ref: startRef\n }), children, /*#__PURE__*/ (0, $6nfFC$react).createElement(\"span\", {\n \"data-focus-scope-end\": true,\n hidden: true,\n ref: endRef\n }));\n}\nfunction $9bf71ea28793e738$export$10c5169755ce7bd7() {\n var _useContext;\n return (_useContext = (0, $6nfFC$useContext)($9bf71ea28793e738$var$FocusContext)) === null || _useContext === void 0 ? void 0 : _useContext.focusManager;\n}\nfunction $9bf71ea28793e738$var$createFocusManagerForScope(scopeRef) {\n return {\n focusNext (opts = {}) {\n let scope = scopeRef.current;\n let { from: from , tabbable: tabbable , wrap: wrap , accept: accept } = opts;\n let node = from || document.activeElement;\n let sentinel = scope[0].previousElementSibling;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;\n let nextNode = walker.nextNode();\n if (!nextNode && wrap) {\n walker.currentNode = sentinel;\n nextNode = walker.nextNode();\n }\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusPrevious (opts = {}) {\n let scope = scopeRef.current;\n let { from: from , tabbable: tabbable , wrap: wrap , accept: accept } = opts;\n let node = from || document.activeElement;\n let sentinel = scope[scope.length - 1].nextElementSibling;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;\n let previousNode = walker.previousNode();\n if (!previousNode && wrap) {\n walker.currentNode = sentinel;\n previousNode = walker.previousNode();\n }\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode;\n },\n focusFirst (opts = {}) {\n let scope = scopeRef.current;\n let { tabbable: tabbable , accept: accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = scope[0].previousElementSibling;\n let nextNode = walker.nextNode();\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusLast (opts = {}) {\n let scope = scopeRef.current;\n let { tabbable: tabbable , accept: accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = scope[scope.length - 1].nextElementSibling;\n let previousNode = walker.previousNode();\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode;\n }\n };\n}\nconst $9bf71ea28793e738$var$focusableElements = [\n \"input:not([disabled]):not([type=hidden])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\",\n \"button:not([disabled])\",\n \"a[href]\",\n \"area[href]\",\n \"summary\",\n \"iframe\",\n \"object\",\n \"embed\",\n \"audio[controls]\",\n \"video[controls]\",\n \"[contenteditable]\"\n];\nconst $9bf71ea28793e738$var$FOCUSABLE_ELEMENT_SELECTOR = $9bf71ea28793e738$var$focusableElements.join(\":not([hidden]),\") + \",[tabindex]:not([disabled]):not([hidden])\";\n$9bf71ea28793e738$var$focusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst $9bf71ea28793e738$var$TABBABLE_ELEMENT_SELECTOR = $9bf71ea28793e738$var$focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\nfunction $9bf71ea28793e738$var$getScopeRoot(scope) {\n return scope[0].parentElement;\n}\nfunction $9bf71ea28793e738$var$shouldContainFocus(scopeRef) {\n let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);\n while(scope && scope.scopeRef !== scopeRef){\n if (scope.contain) return false;\n scope = scope.parent;\n }\n return true;\n}\nfunction $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain) {\n let focusedNode = (0, $6nfFC$useRef)();\n let raf = (0, $6nfFC$useRef)(null);\n (0, $6nfFC$useLayoutEffect)(()=>{\n let scope = scopeRef.current;\n if (!contain) {\n // if contain was changed, then we should cancel any ongoing waits to pull focus back into containment\n if (raf.current) {\n cancelAnimationFrame(raf.current);\n raf.current = null;\n }\n return;\n }\n // Handle the Tab key to contain focus within the scope\n let onKeyDown = (e)=>{\n if (e.key !== \"Tab\" || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef)) return;\n let focusedElement = document.activeElement;\n let scope = scopeRef.current;\n if (!$9bf71ea28793e738$var$isElementInScope(focusedElement, scope)) return;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: true\n }, scope);\n walker.currentNode = focusedElement;\n let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n if (!nextElement) {\n walker.currentNode = e.shiftKey ? scope[scope.length - 1].nextElementSibling : scope[0].previousElementSibling;\n nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n }\n e.preventDefault();\n if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);\n };\n let onFocus = (e)=>{\n // If focusing an element in a child scope of the currently active scope, the child becomes active.\n // Moving out of the active scope to an ancestor is not allowed.\n if ((!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) && $9bf71ea28793e738$var$isElementInScope(e.target, scopeRef.current)) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n focusedNode.current = e.target;\n } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope(e.target, scopeRef)) {\n // If a focus event occurs outside the active scope (e.g. user tabs from browser location bar),\n // restore focus to the previously focused node or the first tabbable element in the active scope.\n if (focusedNode.current) focusedNode.current.focus();\n else if ($9bf71ea28793e738$var$activeScope) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);\n } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef)) focusedNode.current = e.target;\n };\n let onBlur = (e)=>{\n // Firefox doesn't shift focus back to the Dialog properly without this\n raf.current = requestAnimationFrame(()=>{\n // Use document.activeElement instead of e.relatedTarget so we can tell if user clicked into iframe\n if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope(document.activeElement, scopeRef)) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n if (document.body.contains(e.target)) {\n focusedNode.current = e.target;\n focusedNode.current.focus();\n } else if ($9bf71ea28793e738$var$activeScope) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);\n }\n });\n };\n document.addEventListener(\"keydown\", onKeyDown, false);\n document.addEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.addEventListener(\"focusin\", onFocus, false));\n scope.forEach((element)=>element.addEventListener(\"focusout\", onBlur, false));\n return ()=>{\n document.removeEventListener(\"keydown\", onKeyDown, false);\n document.removeEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.removeEventListener(\"focusin\", onFocus, false));\n scope.forEach((element)=>element.removeEventListener(\"focusout\", onBlur, false));\n };\n }, [\n scopeRef,\n contain\n ]);\n // eslint-disable-next-line arrow-body-style\n (0, $6nfFC$useEffect)(()=>{\n return ()=>{\n if (raf.current) cancelAnimationFrame(raf.current);\n };\n }, [\n raf\n ]);\n}\nfunction $9bf71ea28793e738$var$isElementInAnyScope(element) {\n return $9bf71ea28793e738$var$isElementInChildScope(element);\n}\nfunction $9bf71ea28793e738$var$isElementInScope(element, scope) {\n return scope.some((node)=>node.contains(element));\n}\nfunction $9bf71ea28793e738$var$isElementInChildScope(element, scope = null) {\n // node.contains in isElementInScope covers child scopes that are also DOM children,\n // but does not cover child scopes in portals.\n for (let { scopeRef: s } of $9bf71ea28793e738$export$d06fae2ee68b101e.traverse($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope))){\n if ($9bf71ea28793e738$var$isElementInScope(element, s.current)) return true;\n }\n return false;\n}\nfunction $9bf71ea28793e738$export$1258395f99bf9cbf(element) {\n return $9bf71ea28793e738$var$isElementInChildScope(element, $9bf71ea28793e738$var$activeScope);\n}\nfunction $9bf71ea28793e738$var$isAncestorScope(ancestor, scope) {\n var _focusScopeTree_getTreeNode;\n let parent = (_focusScopeTree_getTreeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope)) === null || _focusScopeTree_getTreeNode === void 0 ? void 0 : _focusScopeTree_getTreeNode.parent;\n while(parent){\n if (parent.scopeRef === ancestor) return true;\n parent = parent.parent;\n }\n return false;\n}\nfunction $9bf71ea28793e738$var$focusElement(element, scroll = false) {\n if (element != null && !scroll) try {\n (0, $6a99195332edec8b$export$80f3e147d781571c)(element);\n } catch (err) {\n // ignore\n }\n else if (element != null) try {\n element.focus();\n } catch (err1) {\n // ignore\n }\n}\nfunction $9bf71ea28793e738$var$focusFirstInScope(scope, tabbable = true) {\n let sentinel = scope[0].previousElementSibling;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: tabbable\n }, scope);\n walker.currentNode = sentinel;\n let nextNode = walker.nextNode();\n // If the scope does not contain a tabbable element, use the first focusable element.\n if (tabbable && !nextNode) {\n walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa($9bf71ea28793e738$var$getScopeRoot(scope), {\n tabbable: false\n }, scope);\n walker.currentNode = sentinel;\n nextNode = walker.nextNode();\n }\n $9bf71ea28793e738$var$focusElement(nextNode);\n}\nfunction $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus) {\n const autoFocusRef = (0, $6nfFC$react).useRef(autoFocus);\n (0, $6nfFC$useEffect)(()=>{\n if (autoFocusRef.current) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n if (!$9bf71ea28793e738$var$isElementInScope(document.activeElement, $9bf71ea28793e738$var$activeScope.current)) $9bf71ea28793e738$var$focusFirstInScope(scopeRef.current);\n }\n autoFocusRef.current = false;\n }, [\n scopeRef\n ]);\n}\nfunction $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restore, contain) {\n // tracks the active scope, in case restore and contain are both false.\n // if either are true, this is tracked in useRestoreFocus or useFocusContainment.\n (0, $6nfFC$useLayoutEffect)(()=>{\n if (restore || contain) return;\n let scope = scopeRef.current;\n let onFocus = (e)=>{\n let target = e.target;\n if ($9bf71ea28793e738$var$isElementInScope(target, scopeRef.current)) $9bf71ea28793e738$var$activeScope = scopeRef;\n else if (!$9bf71ea28793e738$var$isElementInAnyScope(target)) $9bf71ea28793e738$var$activeScope = null;\n };\n document.addEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.addEventListener(\"focusin\", onFocus, false));\n return ()=>{\n document.removeEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.removeEventListener(\"focusin\", onFocus, false));\n };\n }, [\n scopeRef,\n restore,\n contain\n ]);\n}\nfunction $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef) {\n let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);\n while(scope && scope.scopeRef !== scopeRef){\n if (scope.nodeToRestore) return false;\n scope = scope.parent;\n }\n return (scope === null || scope === void 0 ? void 0 : scope.scopeRef) === scopeRef;\n}\nfunction $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain) {\n // create a ref during render instead of useLayoutEffect so the active element is saved before a child with autoFocus=true mounts.\n const nodeToRestoreRef = (0, $6nfFC$useRef)(typeof document !== \"undefined\" ? document.activeElement : null);\n // restoring scopes should all track if they are active regardless of contain, but contain already tracks it plus logic to contain the focus\n // restoring-non-containing scopes should only care if they become active so they can perform the restore\n (0, $6nfFC$useLayoutEffect)(()=>{\n let scope = scopeRef.current;\n if (!restoreFocus || contain) return;\n let onFocus = ()=>{\n // If focusing an element in a child scope of the currently active scope, the child becomes active.\n // Moving out of the active scope to an ancestor is not allowed.\n if (!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) $9bf71ea28793e738$var$activeScope = scopeRef;\n };\n document.addEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.addEventListener(\"focusin\", onFocus, false));\n return ()=>{\n document.removeEventListener(\"focusin\", onFocus, false);\n scope.forEach((element)=>element.removeEventListener(\"focusin\", onFocus, false));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n scopeRef,\n contain\n ]);\n // useLayoutEffect instead of useEffect so the active element is saved synchronously instead of asynchronously.\n (0, $6nfFC$useLayoutEffect)(()=>{\n if (!restoreFocus) return;\n $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef).nodeToRestore = nodeToRestoreRef.current;\n // Handle the Tab key so that tabbing out of the scope goes to the next element\n // after the node that had focus when the scope mounted. This is important when\n // using portals for overlays, so that focus goes to the expected element when\n // tabbing out of the overlay.\n let onKeyDown = (e)=>{\n if (e.key !== \"Tab\" || e.altKey || e.ctrlKey || e.metaKey) return;\n let focusedElement = document.activeElement;\n if (!$9bf71ea28793e738$var$isElementInScope(focusedElement, scopeRef.current)) return;\n let nodeToRestore = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef).nodeToRestore;\n // Create a DOM tree walker that matches all tabbable elements\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(document.body, {\n tabbable: true\n });\n // Find the next tabbable element after the currently focused element\n walker.currentNode = focusedElement;\n let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n if (!document.body.contains(nodeToRestore) || nodeToRestore === document.body) {\n nodeToRestore = null;\n $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef).nodeToRestore = null;\n }\n // If there is no next element, or it is outside the current scope, move focus to the\n // next element after the node to restore to instead.\n if ((!nextElement || !$9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) {\n walker.currentNode = nodeToRestore;\n // Skip over elements within the scope, in case the scope immediately follows the node to restore.\n do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n while ($9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current));\n e.preventDefault();\n e.stopPropagation();\n if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);\n else // If there is no next element and the nodeToRestore isn't within a FocusScope (i.e. we are leaving the top level focus scope)\n // then move focus to the body.\n // Otherwise restore focus to the nodeToRestore (e.g menu within a popover -> tabbing to close the menu should move focus to menu trigger)\n if (!$9bf71ea28793e738$var$isElementInAnyScope(nodeToRestore)) focusedElement.blur();\n else $9bf71ea28793e738$var$focusElement(nodeToRestore, true);\n }\n };\n if (!contain) document.addEventListener(\"keydown\", onKeyDown, true);\n return ()=>{\n if (!contain) document.removeEventListener(\"keydown\", onKeyDown, true);\n let nodeToRestore = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef).nodeToRestore;\n // if we already lost focus to the body and this was the active scope, then we should attempt to restore\n if (restoreFocus && nodeToRestore && // eslint-disable-next-line react-hooks/exhaustive-deps\n ($9bf71ea28793e738$var$isElementInScope(document.activeElement, scopeRef.current) || document.activeElement === document.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {\n // freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it\n let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone();\n requestAnimationFrame(()=>{\n // Only restore focus if we've lost focus to the body, the alternative is that focus has been purposefully moved elsewhere\n if (document.activeElement === document.body) {\n // look up the tree starting with our scope to find a nodeToRestore still in the DOM\n let treeNode = clonedTree.getTreeNode(scopeRef);\n while(treeNode){\n if (treeNode.nodeToRestore && document.body.contains(treeNode.nodeToRestore)) {\n $9bf71ea28793e738$var$focusElement(treeNode.nodeToRestore);\n return;\n }\n treeNode = treeNode.parent;\n }\n // If no nodeToRestore was found, focus the first element in the nearest\n // ancestor scope that is still in the tree.\n treeNode = clonedTree.getTreeNode(scopeRef);\n while(treeNode){\n if (treeNode.scopeRef && $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(treeNode.scopeRef)) {\n $9bf71ea28793e738$var$focusFirstInScope(treeNode.scopeRef.current, true);\n return;\n }\n treeNode = treeNode.parent;\n }\n }\n });\n }\n };\n }, [\n scopeRef,\n restoreFocus,\n contain\n ]);\n}\nfunction $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, opts, scope) {\n let selector = (opts === null || opts === void 0 ? void 0 : opts.tabbable) ? $9bf71ea28793e738$var$TABBABLE_ELEMENT_SELECTOR : $9bf71ea28793e738$var$FOCUSABLE_ELEMENT_SELECTOR;\n let walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode (node) {\n var _opts_from;\n // Skip nodes inside the starting node.\n if (opts === null || opts === void 0 ? void 0 : (_opts_from = opts.from) === null || _opts_from === void 0 ? void 0 : _opts_from.contains(node)) return NodeFilter.FILTER_REJECT;\n if (node.matches(selector) && (0, $645f2e67b85a24c9$export$e989c0fffaa6b27a)(node) && (!scope || $9bf71ea28793e738$var$isElementInScope(node, scope)) && (!(opts === null || opts === void 0 ? void 0 : opts.accept) || opts.accept(node))) return NodeFilter.FILTER_ACCEPT;\n return NodeFilter.FILTER_SKIP;\n }\n });\n if (opts === null || opts === void 0 ? void 0 : opts.from) walker.currentNode = opts.from;\n return walker;\n}\nfunction $9bf71ea28793e738$export$c5251b9e124bf29(ref, defaultOptions = {}) {\n return {\n focusNext (opts = {}) {\n let root = ref.current;\n if (!root) return;\n let { from: from , tabbable: tabbable = defaultOptions.tabbable , wrap: wrap = defaultOptions.wrap , accept: accept = defaultOptions.accept } = opts;\n let node = from || document.activeElement;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n if (root.contains(node)) walker.currentNode = node;\n let nextNode = walker.nextNode();\n if (!nextNode && wrap) {\n walker.currentNode = root;\n nextNode = walker.nextNode();\n }\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusPrevious (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return;\n let { from: from , tabbable: tabbable = defaultOptions.tabbable , wrap: wrap = defaultOptions.wrap , accept: accept = defaultOptions.accept } = opts;\n let node = from || document.activeElement;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n if (root.contains(node)) walker.currentNode = node;\n else {\n let next = $9bf71ea28793e738$var$last(walker);\n if (next) $9bf71ea28793e738$var$focusElement(next, true);\n return next;\n }\n let previousNode = walker.previousNode();\n if (!previousNode && wrap) {\n walker.currentNode = root;\n previousNode = $9bf71ea28793e738$var$last(walker);\n }\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode;\n },\n focusFirst (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return;\n let { tabbable: tabbable = defaultOptions.tabbable , accept: accept = defaultOptions.accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n let nextNode = walker.nextNode();\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusLast (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return;\n let { tabbable: tabbable = defaultOptions.tabbable , accept: accept = defaultOptions.accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n let next = $9bf71ea28793e738$var$last(walker);\n if (next) $9bf71ea28793e738$var$focusElement(next, true);\n return next;\n }\n };\n}\nfunction $9bf71ea28793e738$var$last(walker) {\n let next;\n let last;\n do {\n last = walker.lastChild();\n if (last) next = last;\n }while (last);\n return next;\n}\nclass $9bf71ea28793e738$var$Tree {\n get size() {\n return this.fastMap.size;\n }\n getTreeNode(data) {\n return this.fastMap.get(data);\n }\n addTreeNode(scopeRef, parent, nodeToRestore) {\n let parentNode = this.fastMap.get(parent !== null && parent !== void 0 ? parent : null);\n let node = new $9bf71ea28793e738$var$TreeNode({\n scopeRef: scopeRef\n });\n parentNode.addChild(node);\n node.parent = parentNode;\n this.fastMap.set(scopeRef, node);\n if (nodeToRestore) node.nodeToRestore = nodeToRestore;\n }\n removeTreeNode(scopeRef) {\n // never remove the root\n if (scopeRef === null) return;\n let node = this.fastMap.get(scopeRef);\n let parentNode = node.parent;\n // when we remove a scope, check if any sibling scopes are trying to restore focus to something inside the scope we're removing\n // if we are, then replace the siblings restore with the restore from the scope we're removing\n for (let current of this.traverse())if (current !== node && node.nodeToRestore && current.nodeToRestore && node.scopeRef.current && $9bf71ea28793e738$var$isElementInScope(current.nodeToRestore, node.scopeRef.current)) current.nodeToRestore = node.nodeToRestore;\n let children = node.children;\n parentNode.removeChild(node);\n if (children.length > 0) children.forEach((child)=>parentNode.addChild(child));\n this.fastMap.delete(node.scopeRef);\n }\n // Pre Order Depth First\n *traverse(node = this.root) {\n if (node.scopeRef != null) yield node;\n if (node.children.length > 0) for (let child of node.children)yield* this.traverse(child);\n }\n clone() {\n let newTree = new $9bf71ea28793e738$var$Tree();\n for (let node of this.traverse())newTree.addTreeNode(node.scopeRef, node.parent.scopeRef, node.nodeToRestore);\n return newTree;\n }\n constructor(){\n (0, $6nfFC$swchelperssrc_define_propertymjs)(this, \"fastMap\", new Map());\n this.root = new $9bf71ea28793e738$var$TreeNode({\n scopeRef: null\n });\n this.fastMap.set(null, this.root);\n }\n}\nclass $9bf71ea28793e738$var$TreeNode {\n addChild(node) {\n this.children.push(node);\n node.parent = this;\n }\n removeChild(node) {\n this.children.splice(this.children.indexOf(node), 1);\n node.parent = undefined;\n }\n constructor(props){\n (0, $6nfFC$swchelperssrc_define_propertymjs)(this, \"children\", []);\n (0, $6nfFC$swchelperssrc_define_propertymjs)(this, \"contain\", false);\n this.scopeRef = props.scopeRef;\n }\n}\nlet $9bf71ea28793e738$export$d06fae2ee68b101e = new $9bf71ea28793e738$var$Tree();\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false , isTextInput: isTextInput , within: within } = props;\n let state = (0, $6nfFC$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $6nfFC$isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, $6nfFC$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $6nfFC$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $6nfFC$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $6nfFC$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $6nfFC$useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $6nfFC$useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $6nfFC$useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: state.current.isFocused && isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nfunction $907718708eab68af$export$1a38b4ad7f578e1d(props) {\n let { children: children , focusClass: focusClass , focusRingClass: focusRingClass } = props;\n let { isFocused: isFocused , isFocusVisible: isFocusVisible , focusProps: focusProps } = (0, $f7dceffc5ad7768b$export$4e328f61c538687f)(props);\n let child = (0, $6nfFC$react).Children.only(children);\n return /*#__PURE__*/ (0, $6nfFC$react).cloneElement(child, (0, $6nfFC$mergeProps)(child.props, {\n ...focusProps,\n className: (0, $6nfFC$clsx)({\n [focusClass || \"\"]: isFocused,\n [focusRingClass || \"\"]: isFocusVisible\n })\n }));\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nlet $e6afbd83fe6ebbd2$var$FocusableContext = /*#__PURE__*/ (0, $6nfFC$react).createContext(null);\nfunction $e6afbd83fe6ebbd2$var$useFocusableContext(ref) {\n let context = (0, $6nfFC$useContext)($e6afbd83fe6ebbd2$var$FocusableContext) || {};\n (0, $6nfFC$useSyncRef)(context, ref);\n // eslint-disable-next-line\n let { ref: _ , ...otherProps } = context;\n return otherProps;\n}\n/**\n * Provides DOM props to the nearest focusable child.\n */ function $e6afbd83fe6ebbd2$var$FocusableProvider(props, ref) {\n let { children: children , ...otherProps } = props;\n let context = {\n ...otherProps,\n ref: ref\n };\n return /*#__PURE__*/ (0, $6nfFC$react).createElement($e6afbd83fe6ebbd2$var$FocusableContext.Provider, {\n value: context\n }, children);\n}\nlet $e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $6nfFC$react).forwardRef($e6afbd83fe6ebbd2$var$FocusableProvider);\nfunction $e6afbd83fe6ebbd2$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $6nfFC$useFocus)(props);\n let { keyboardProps: keyboardProps } = (0, $6nfFC$useKeyboard)(props);\n let interactions = (0, $6nfFC$mergeProps)(focusProps, keyboardProps);\n let domProps = $e6afbd83fe6ebbd2$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $6nfFC$useRef)(props.autoFocus);\n (0, $6nfFC$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $6a99195332edec8b$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n return {\n focusableProps: (0, $6nfFC$mergeProps)({\n ...interactions,\n tabIndex: props.excludeFromTabOrder && !props.isDisabled ? -1 : undefined\n }, interactionProps)\n };\n}\n\n\n\n\n\n\nexport {$9bf71ea28793e738$export$20e40289641fbbb6 as FocusScope, $9bf71ea28793e738$export$10c5169755ce7bd7 as useFocusManager, $9bf71ea28793e738$export$2d6ec8fc375ceafa as getFocusableTreeWalker, $9bf71ea28793e738$export$c5251b9e124bf29 as createFocusManager, $9bf71ea28793e738$export$1258395f99bf9cbf as isElementInChildOfActiveScope, $907718708eab68af$export$1a38b4ad7f578e1d as FocusRing, $e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 as FocusableProvider, $e6afbd83fe6ebbd2$export$4c014de7c8940b4c as useFocusable, $f7dceffc5ad7768b$export$4e328f61c538687f as useFocusRing, $6a99195332edec8b$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=module.js.map\n","import {filterDOMProps as $kKV4x$filterDOMProps, mergeProps as $kKV4x$mergeProps} from \"@react-aria/utils\";\nimport {useFocusable as $kKV4x$useFocusable} from \"@react-aria/focus\";\nimport {usePress as $kKV4x$usePress} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $298d61e98472621b$export$dcf14c9974fe2767(props, ref) {\n let { elementType: elementType = \"a\" , onPress: onPress , onPressStart: onPressStart , onPressEnd: onPressEnd , // @ts-ignore\n onClick: deprecatedOnClick , isDisabled: isDisabled , ...otherProps } = props;\n let linkProps;\n if (elementType !== \"a\") linkProps = {\n role: \"link\",\n tabIndex: !isDisabled ? 0 : undefined\n };\n let { focusableProps: focusableProps } = (0, $kKV4x$useFocusable)(props, ref);\n let { pressProps: pressProps , isPressed: isPressed } = (0, $kKV4x$usePress)({\n onPress: onPress,\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n isDisabled: isDisabled,\n ref: ref\n });\n let domProps = (0, $kKV4x$filterDOMProps)(otherProps, {\n labelable: true\n });\n let interactionHandlers = (0, $kKV4x$mergeProps)(focusableProps, pressProps);\n return {\n isPressed: isPressed,\n linkProps: (0, $kKV4x$mergeProps)(domProps, {\n ...interactionHandlers,\n ...linkProps,\n \"aria-disabled\": isDisabled || undefined,\n onClick: (e)=>{\n pressProps.onClick(e);\n if (deprecatedOnClick) {\n deprecatedOnClick(e);\n console.warn(\"onClick is deprecated, please use onPress\");\n }\n }\n })\n };\n}\n\n\n\n\nexport {$298d61e98472621b$export$dcf14c9974fe2767 as useLink};\n//# sourceMappingURL=module.js.map\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $5b160d28a433310d$export$c17fa47878dc55b6 {\n /** Returns a localized string for the given key and locale. */ getStringForLocale(key, locale) {\n let strings = this.strings[locale];\n if (!strings) {\n strings = $5b160d28a433310d$var$getStringsForLocale(locale, this.strings, this.defaultLocale);\n this.strings[locale] = strings;\n }\n let string = strings[key];\n if (!string) throw new Error(`Could not find intl message ${key} in ${locale} locale`);\n return string;\n }\n constructor(messages, defaultLocale = \"en-US\"){\n // Clone messages so we don't modify the original object.\n this.strings = {\n ...messages\n };\n this.defaultLocale = defaultLocale;\n }\n}\nfunction $5b160d28a433310d$var$getStringsForLocale(locale, strings, defaultLocale = \"en-US\") {\n // If there is an exact match, use it.\n if (strings[locale]) return strings[locale];\n // Attempt to find the closest match by language.\n // For example, if the locale is fr-CA (French Canadian), but there is only\n // an fr-FR (France) set of strings, use that.\n // This could be replaced with Intl.LocaleMatcher once it is supported.\n // https://github.com/tc39/proposal-intl-localematcher\n let language = $5b160d28a433310d$var$getLanguage(locale);\n if (strings[language]) return strings[language];\n for(let key in strings){\n if (key.startsWith(language + \"-\")) return strings[key];\n }\n // Nothing close, use english.\n return strings[defaultLocale];\n}\nfunction $5b160d28a433310d$var$getLanguage(locale) {\n // @ts-ignore\n if (Intl.Locale) // @ts-ignore\n return new Intl.Locale(locale).language;\n return locale.split(\"-\")[0];\n}\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $6db58dc88e78b024$var$pluralRulesCache = new Map();\nconst $6db58dc88e78b024$var$numberFormatCache = new Map();\nclass $6db58dc88e78b024$export$2f817fcdc4b89ae0 {\n /** Formats a localized string for the given key with the provided variables. */ format(key, variables) {\n let message = this.strings.getStringForLocale(key, this.locale);\n return typeof message === \"function\" ? message(variables, this) : message;\n }\n plural(count, options, type = \"cardinal\") {\n let opt = options[\"=\" + count];\n if (opt) return typeof opt === \"function\" ? opt() : opt;\n let key = this.locale + \":\" + type;\n let pluralRules = $6db58dc88e78b024$var$pluralRulesCache.get(key);\n if (!pluralRules) {\n pluralRules = new Intl.PluralRules(this.locale, {\n type: type\n });\n $6db58dc88e78b024$var$pluralRulesCache.set(key, pluralRules);\n }\n let selected = pluralRules.select(count);\n opt = options[selected] || options.other;\n return typeof opt === \"function\" ? opt() : opt;\n }\n number(value) {\n let numberFormat = $6db58dc88e78b024$var$numberFormatCache.get(this.locale);\n if (!numberFormat) {\n numberFormat = new Intl.NumberFormat(this.locale);\n $6db58dc88e78b024$var$numberFormatCache.set(this.locale, numberFormat);\n }\n return numberFormat.format(value);\n }\n select(options, value) {\n let opt = options[value] || options.other;\n return typeof opt === \"function\" ? opt() : opt;\n }\n constructor(locale, strings){\n this.locale = locale;\n this.strings = strings;\n }\n}\n\n\n\n\nexport {$5b160d28a433310d$export$c17fa47878dc55b6 as LocalizedStringDictionary, $6db58dc88e78b024$export$2f817fcdc4b89ae0 as LocalizedStringFormatter};\n//# sourceMappingURL=module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $488c6ddbf4ef74c2$var$formatterCache = new Map();\nlet $488c6ddbf4ef74c2$var$supportsSignDisplay = false;\ntry {\n // @ts-ignore\n $488c6ddbf4ef74c2$var$supportsSignDisplay = new Intl.NumberFormat(\"de-DE\", {\n signDisplay: \"exceptZero\"\n }).resolvedOptions().signDisplay === \"exceptZero\";\n// eslint-disable-next-line no-empty\n} catch (e) {}\nlet $488c6ddbf4ef74c2$var$supportsUnit = false;\ntry {\n // @ts-ignore\n $488c6ddbf4ef74c2$var$supportsUnit = new Intl.NumberFormat(\"de-DE\", {\n style: \"unit\",\n unit: \"degree\"\n }).resolvedOptions().style === \"unit\";\n// eslint-disable-next-line no-empty\n} catch (e1) {}\n// Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.\n// Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.\n// Values were determined by switching to each locale manually in Chrome.\nconst $488c6ddbf4ef74c2$var$UNITS = {\n degree: {\n narrow: {\n default: \"\\xb0\",\n \"ja-JP\": \" 度\",\n \"zh-TW\": \"度\",\n \"sl-SI\": \" \\xb0\"\n }\n }\n};\nclass $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 {\n /** Formats a number value as a string, according to the locale and options provided to the constructor. */ format(value) {\n let res = \"\";\n if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) res = $488c6ddbf4ef74c2$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);\n else res = this.numberFormatter.format(value);\n if (this.options.style === \"unit\" && !$488c6ddbf4ef74c2$var$supportsUnit) {\n var _UNITS_unit;\n let { unit: unit , unitDisplay: unitDisplay = \"short\" , locale: locale } = this.resolvedOptions();\n let values = (_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay];\n res += values[locale] || values.default;\n }\n return res;\n }\n /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */ formatToParts(value) {\n // TODO: implement signDisplay for formatToParts\n // @ts-ignore\n return this.numberFormatter.formatToParts(value);\n }\n /** Formats a number range as a string. */ formatRange(start, end) {\n // @ts-ignore\n if (typeof this.numberFormatter.formatRange === \"function\") // @ts-ignore\n return this.numberFormatter.formatRange(start, end);\n if (end < start) throw new RangeError(\"End date must be >= start date\");\n // Very basic fallback for old browsers.\n return `${this.format(start)} – ${this.format(end)}`;\n }\n /** Formats a number range as an array of parts. */ formatRangeToParts(start, end) {\n // @ts-ignore\n if (typeof this.numberFormatter.formatRangeToParts === \"function\") // @ts-ignore\n return this.numberFormatter.formatRangeToParts(start, end);\n if (end < start) throw new RangeError(\"End date must be >= start date\");\n let startParts = this.numberFormatter.formatToParts(start);\n let endParts = this.numberFormatter.formatToParts(end);\n return [\n ...startParts.map((p)=>({\n ...p,\n source: \"startRange\"\n })),\n {\n type: \"literal\",\n value: \" – \",\n source: \"shared\"\n },\n ...endParts.map((p)=>({\n ...p,\n source: \"endRange\"\n }))\n ];\n }\n /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {\n let options = this.numberFormatter.resolvedOptions();\n if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) options = {\n ...options,\n signDisplay: this.options.signDisplay\n };\n if (!$488c6ddbf4ef74c2$var$supportsUnit && this.options.style === \"unit\") options = {\n ...options,\n style: \"unit\",\n unit: this.options.unit,\n unitDisplay: this.options.unitDisplay\n };\n return options;\n }\n constructor(locale, options = {}){\n this.numberFormatter = $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options);\n this.options = options;\n }\n}\nfunction $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options = {}) {\n let { numberingSystem: numberingSystem } = options;\n if (numberingSystem && locale.indexOf(\"-u-nu-\") === -1) locale = `${locale}-u-nu-${numberingSystem}`;\n if (options.style === \"unit\" && !$488c6ddbf4ef74c2$var$supportsUnit) {\n var _UNITS_unit;\n let { unit: unit , unitDisplay: unitDisplay = \"short\" } = options;\n if (!unit) throw new Error('unit option must be provided with style: \"unit\"');\n if (!((_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay])) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);\n options = {\n ...options,\n style: \"decimal\"\n };\n }\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : \"\");\n if ($488c6ddbf4ef74c2$var$formatterCache.has(cacheKey)) return $488c6ddbf4ef74c2$var$formatterCache.get(cacheKey);\n let numberFormatter = new Intl.NumberFormat(locale, options);\n $488c6ddbf4ef74c2$var$formatterCache.set(cacheKey, numberFormatter);\n return numberFormatter;\n}\nfunction $488c6ddbf4ef74c2$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {\n if (signDisplay === \"auto\") return numberFormat.format(num);\n else if (signDisplay === \"never\") return numberFormat.format(Math.abs(num));\n else {\n let needsPositiveSign = false;\n if (signDisplay === \"always\") needsPositiveSign = num > 0 || Object.is(num, 0);\n else if (signDisplay === \"exceptZero\") {\n if (Object.is(num, -0) || Object.is(num, 0)) num = Math.abs(num);\n else needsPositiveSign = num > 0;\n }\n if (needsPositiveSign) {\n let negative = numberFormat.format(-num);\n let noSign = numberFormat.format(num);\n // ignore RTL/LTR marker character\n let minus = negative.replace(noSign, \"\").replace(/\\u200e|\\u061C/, \"\");\n if ([\n ...minus\n ].length !== 1) console.warn(\"@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case\");\n let positive = negative.replace(noSign, \"!!!\").replace(minus, \"+\").replace(\"!!!\", noSign);\n return positive;\n } else return numberFormat.format(num);\n }\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX = new RegExp(\"^.*\\\\(.*\\\\).*$\");\nconst $6c7bd7858deea686$var$NUMBERING_SYSTEMS = [\n \"latn\",\n \"arab\",\n \"hanidec\"\n];\nclass $6c7bd7858deea686$export$cd11ab140839f11d {\n /**\n * Parses the given string to a number. Returns NaN if a valid number could not be parsed.\n */ parse(value) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).parse(value);\n }\n /**\n * Returns whether the given string could potentially be a valid number. This should be used to\n * validate user input as the user types. If a `minValue` or `maxValue` is provided, the validity\n * of the minus/plus sign characters can be checked.\n */ isValidPartialNumber(value, minValue, maxValue) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).isValidPartialNumber(value, minValue, maxValue);\n }\n /**\n * Returns a numbering system for which the given string is valid in the current locale.\n * If no numbering system could be detected, the default numbering system for the current\n * locale is returned.\n */ getNumberingSystem(value) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).options.numberingSystem;\n }\n constructor(locale, options = {}){\n this.locale = locale;\n this.options = options;\n }\n}\nconst $6c7bd7858deea686$var$numberParserCache = new Map();\nfunction $6c7bd7858deea686$var$getNumberParserImpl(locale, options, value) {\n // First try the default numbering system for the provided locale\n let defaultParser = $6c7bd7858deea686$var$getCachedNumberParser(locale, options);\n // If that doesn't match, and the locale doesn't include a hard coded numbering system,\n // try each of the other supported numbering systems until we find one that matches.\n if (!locale.includes(\"-nu-\") && !defaultParser.isValidPartialNumber(value)) {\n for (let numberingSystem of $6c7bd7858deea686$var$NUMBERING_SYSTEMS)if (numberingSystem !== defaultParser.options.numberingSystem) {\n let parser = $6c7bd7858deea686$var$getCachedNumberParser(locale + (locale.includes(\"-u-\") ? \"-nu-\" : \"-u-nu-\") + numberingSystem, options);\n if (parser.isValidPartialNumber(value)) return parser;\n }\n }\n return defaultParser;\n}\nfunction $6c7bd7858deea686$var$getCachedNumberParser(locale, options) {\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : \"\");\n let parser = $6c7bd7858deea686$var$numberParserCache.get(cacheKey);\n if (!parser) {\n parser = new $6c7bd7858deea686$var$NumberParserImpl(locale, options);\n $6c7bd7858deea686$var$numberParserCache.set(cacheKey, parser);\n }\n return parser;\n}\n// The actual number parser implementation. Instances of this class are cached\n// based on the locale, options, and detected numbering system.\nclass $6c7bd7858deea686$var$NumberParserImpl {\n parse(value) {\n // to parse the number, we need to remove anything that isn't actually part of the number, for example we want '-10.40' not '-10.40 USD'\n let fullySanitizedValue = this.sanitize(value);\n // Remove group characters, and replace decimal points and numerals with ASCII values.\n fullySanitizedValue = $6c7bd7858deea686$var$replaceAll(fullySanitizedValue, this.symbols.group, \"\").replace(this.symbols.decimal, \".\").replace(this.symbols.minusSign, \"-\").replace(this.symbols.numeral, this.symbols.index);\n let newValue = fullySanitizedValue ? +fullySanitizedValue : NaN;\n if (isNaN(newValue)) return NaN;\n // accounting will always be stripped to a positive number, so if it's accounting and has a () around everything, then we need to make it negative again\n if (this.options.currencySign === \"accounting\" && $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX.test(value)) newValue = -1 * newValue;\n // when reading the number, if it's a percent, then it should be interpreted as being divided by 100\n if (this.options.style === \"percent\") {\n newValue /= 100;\n var _this_options_maximumFractionDigits;\n // after dividing to get the percent value, javascript may get .0210999999 instead of .0211, so fix the number of fraction digits\n newValue = +newValue.toFixed(((_this_options_maximumFractionDigits = this.options.maximumFractionDigits) !== null && _this_options_maximumFractionDigits !== void 0 ? _this_options_maximumFractionDigits : 0) + 2);\n }\n return newValue;\n }\n sanitize(value) {\n // Remove literals and whitespace, which are allowed anywhere in the string\n value = value.replace(this.symbols.literals, \"\");\n // Replace the ASCII minus sign with the minus sign used in the current locale\n // so that both are allowed in case the user's keyboard doesn't have the locale's minus sign.\n value = value.replace(\"-\", this.symbols.minusSign);\n // In arab numeral system, their decimal character is 1643, but most keyboards don't type that\n // instead they use the , (44) character or apparently the (1548) character.\n if (this.options.numberingSystem === \"arab\") {\n value = value.replace(\",\", this.symbols.decimal);\n value = value.replace(String.fromCharCode(1548), this.symbols.decimal);\n value = $6c7bd7858deea686$var$replaceAll(value, \".\", this.symbols.group);\n }\n // fr-FR group character is char code 8239, but that's not a key on the french keyboard,\n // so allow 'period' as a group char and replace it with a space\n if (this.options.locale === \"fr-FR\") value = $6c7bd7858deea686$var$replaceAll(value, \".\", String.fromCharCode(8239));\n return value;\n }\n isValidPartialNumber(value, minValue = -Infinity, maxValue = Infinity) {\n value = this.sanitize(value);\n // Remove minus or plus sign, which must be at the start of the string.\n if (value.startsWith(this.symbols.minusSign) && minValue < 0) value = value.slice(this.symbols.minusSign.length);\n else if (this.symbols.plusSign && value.startsWith(this.symbols.plusSign) && maxValue > 0) value = value.slice(this.symbols.plusSign.length);\n // Numbers cannot start with a group separator\n if (value.startsWith(this.symbols.group)) return false;\n // Remove numerals, groups, and decimals\n value = $6c7bd7858deea686$var$replaceAll(value, this.symbols.group, \"\").replace(this.symbols.numeral, \"\").replace(this.symbols.decimal, \"\");\n // The number is valid if there are no remaining characters\n return value.length === 0;\n }\n constructor(locale, options = {}){\n this.formatter = new Intl.NumberFormat(locale, options);\n this.options = this.formatter.resolvedOptions();\n this.symbols = $6c7bd7858deea686$var$getSymbols(this.formatter, this.options, options);\n }\n}\nconst $6c7bd7858deea686$var$nonLiteralParts = new Set([\n \"decimal\",\n \"fraction\",\n \"integer\",\n \"minusSign\",\n \"plusSign\",\n \"group\"\n]);\nfunction $6c7bd7858deea686$var$getSymbols(formatter, intlOptions, originalOptions) {\n var _allParts_find, _posAllParts_find, _allParts_find1, _allParts_find2;\n // Note: some locale's don't add a group symbol until there is a ten thousands place\n let allParts = formatter.formatToParts(-10000.111);\n let posAllParts = formatter.formatToParts(10000.111);\n let singularParts = formatter.formatToParts(1);\n var _allParts_find_value;\n let minusSign = (_allParts_find_value = (_allParts_find = allParts.find((p)=>p.type === \"minusSign\")) === null || _allParts_find === void 0 ? void 0 : _allParts_find.value) !== null && _allParts_find_value !== void 0 ? _allParts_find_value : \"-\";\n let plusSign = (_posAllParts_find = posAllParts.find((p)=>p.type === \"plusSign\")) === null || _posAllParts_find === void 0 ? void 0 : _posAllParts_find.value;\n // Safari does not support the signDisplay option, but our number parser polyfills it.\n // If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.\n // @ts-ignore\n if (!plusSign && ((originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === \"exceptZero\" || (originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === \"always\")) plusSign = \"+\";\n let decimal = (_allParts_find1 = allParts.find((p)=>p.type === \"decimal\")) === null || _allParts_find1 === void 0 ? void 0 : _allParts_find1.value;\n let group = (_allParts_find2 = allParts.find((p)=>p.type === \"group\")) === null || _allParts_find2 === void 0 ? void 0 : _allParts_find2.value;\n // this set is also for a regex, it's all literals that might be in the string we want to eventually parse that\n // don't contribute to the numerical value\n let pluralLiterals = allParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));\n let singularLiterals = singularParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));\n let sortedLiterals = [\n ...new Set([\n ...singularLiterals,\n ...pluralLiterals\n ])\n ].sort((a, b)=>b.length - a.length);\n let literals = sortedLiterals.length === 0 ? new RegExp(\"[\\\\p{White_Space}]\", \"gu\") : new RegExp(`${sortedLiterals.join(\"|\")}|[\\\\p{White_Space}]`, \"gu\");\n // These are for replacing non-latn characters with the latn equivalent\n let numerals = [\n ...new Intl.NumberFormat(intlOptions.locale, {\n useGrouping: false\n }).format(9876543210)\n ].reverse();\n let indexes = new Map(numerals.map((d, i)=>[\n d,\n i\n ]));\n let numeral = new RegExp(`[${numerals.join(\"\")}]`, \"g\");\n let index = (d)=>String(indexes.get(d));\n return {\n minusSign: minusSign,\n plusSign: plusSign,\n decimal: decimal,\n group: group,\n literals: literals,\n numeral: numeral,\n index: index\n };\n}\nfunction $6c7bd7858deea686$var$replaceAll(str, find, replace) {\n // @ts-ignore\n if (str.replaceAll) // @ts-ignore\n return str.replaceAll(find, replace);\n return str.split(find).join(replace);\n}\nfunction $6c7bd7858deea686$var$escapeRegex(string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n\n\n\n\nexport {$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 as NumberFormatter, $6c7bd7858deea686$export$cd11ab140839f11d as NumberParser};\n//# sourceMappingURL=module.js.map\n","import $iFADg$react, {useContext as $iFADg$useContext, useState as $iFADg$useState, useEffect as $iFADg$useEffect, useMemo as $iFADg$useMemo, useRef as $iFADg$useRef} from \"react\";\nimport {useIsSSR as $iFADg$useIsSSR} from \"@react-aria/ssr\";\nimport {LocalizedStringDictionary as $iFADg$LocalizedStringDictionary, LocalizedStringFormatter as $iFADg$LocalizedStringFormatter} from \"@internationalized/string\";\nimport {DateFormatter as $iFADg$DateFormatter} from \"@internationalized/date\";\nimport {NumberFormatter as $iFADg$NumberFormatter} from \"@internationalized/number\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // https://en.wikipedia.org/wiki/Right-to-left\nconst $148a7a147e38ea7f$var$RTL_SCRIPTS = new Set([\n \"Arab\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nconst $148a7a147e38ea7f$var$RTL_LANGS = new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction $148a7a147e38ea7f$export$702d680b21cbd764(locale) {\n // If the Intl.Locale API is available, use it to get the script for the locale.\n // This is more accurate than guessing by language, since languages can be written in multiple scripts.\n // @ts-ignore\n if (Intl.Locale) {\n // @ts-ignore\n let script = new Intl.Locale(locale).maximize().script;\n return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(script);\n }\n // If not, just guess by the language (first part of the locale)\n let lang = locale.split(\"-\")[0];\n return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {\n // @ts-ignore\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n try {\n // @ts-ignore\n Intl.DateTimeFormat.supportedLocalesOf([\n locale\n ]);\n } catch (_err) {\n locale = \"en-US\";\n }\n return {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? \"rtl\" : \"ltr\"\n };\n}\nlet $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\nlet $1e5a04cdaf7d1af8$var$listeners = new Set();\nfunction $1e5a04cdaf7d1af8$var$updateLocale() {\n $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\n for (let listener of $1e5a04cdaf7d1af8$var$listeners)listener($1e5a04cdaf7d1af8$var$currentLocale);\n}\nfunction $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {\n let isSSR = (0, $iFADg$useIsSSR)();\n let [defaultLocale, setDefaultLocale] = (0, $iFADg$useState)($1e5a04cdaf7d1af8$var$currentLocale);\n (0, $iFADg$useEffect)(()=>{\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener(\"languagechange\", $1e5a04cdaf7d1af8$var$updateLocale);\n $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);\n return ()=>{\n $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener(\"languagechange\", $1e5a04cdaf7d1af8$var$updateLocale);\n };\n }, []);\n // We cannot determine the browser's language on the server, so default to\n // en-US. This will be updated after hydration on the client to the correct value.\n if (isSSR) return {\n locale: \"en-US\",\n direction: \"ltr\"\n };\n return defaultLocale;\n}\n\n\n\nconst $18f2051aff69b9bf$var$I18nContext = /*#__PURE__*/ (0, $iFADg$react).createContext(null);\nfunction $18f2051aff69b9bf$export$a54013f0d02a8f82(props) {\n let { locale: locale , children: children } = props;\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let value = locale ? {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? \"rtl\" : \"ltr\"\n } : defaultLocale;\n return /*#__PURE__*/ (0, $iFADg$react).createElement($18f2051aff69b9bf$var$I18nContext.Provider, {\n value: value\n }, children);\n}\nfunction $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let context = (0, $iFADg$useContext)($18f2051aff69b9bf$var$I18nContext);\n return context || defaultLocale;\n}\n\n\nvar $2aa2084a6c2b6b4f$exports = {};\n\"use strict\";\n\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $fca6afa0e843324b$var$cache = new WeakMap();\nfunction $fca6afa0e843324b$var$getCachedDictionary(strings) {\n let dictionary = $fca6afa0e843324b$var$cache.get(strings);\n if (!dictionary) {\n dictionary = new (0, $iFADg$LocalizedStringDictionary)(strings);\n $fca6afa0e843324b$var$cache.set(strings, dictionary);\n }\n return dictionary;\n}\nfunction $fca6afa0e843324b$export$f12b703ca79dfbb1(strings) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n let dictionary = (0, $iFADg$useMemo)(()=>$fca6afa0e843324b$var$getCachedDictionary(strings), [\n strings\n ]);\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$LocalizedStringFormatter)(locale, dictionary), [\n locale,\n dictionary\n ]);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $33bf17300c498528$export$a2f47a3d2973640(options = {}) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n // @ts-ignore\n return (0, $iFADg$useMemo)(()=>new Intl.ListFormat(locale, options), [\n locale,\n options\n ]);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $896ba0a80a8f4d36$export$85fd5fdf27bacc79(options) {\n // Reuse last options object if it is shallowly equal, which allows the useMemo result to also be reused.\n let lastOptions = (0, $iFADg$useRef)(null);\n if (options && lastOptions.current && $896ba0a80a8f4d36$var$isEqual(options, lastOptions.current)) options = lastOptions.current;\n lastOptions.current = options;\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$DateFormatter)(locale, options), [\n locale,\n options\n ]);\n}\nfunction $896ba0a80a8f4d36$var$isEqual(a, b) {\n if (a === b) return true;\n let aKeys = Object.keys(a);\n let bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) return false;\n for (let key of aKeys){\n if (b[key] !== a[key]) return false;\n }\n return true;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n return (0, $iFADg$useMemo)(()=>new (0, $iFADg$NumberFormatter)(locale, options), [\n locale,\n options\n ]);\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nlet $325a3faab7a68acd$var$cache = new Map();\nfunction $325a3faab7a68acd$export$a16aca283550c30d(options) {\n let { locale: locale } = (0, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : \"\");\n if ($325a3faab7a68acd$var$cache.has(cacheKey)) return $325a3faab7a68acd$var$cache.get(cacheKey);\n let formatter = new Intl.Collator(locale, options);\n $325a3faab7a68acd$var$cache.set(cacheKey, formatter);\n return formatter;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $bb77f239b46e8c72$export$3274cf84b703fff(options) {\n let collator = (0, $325a3faab7a68acd$export$a16aca283550c30d)({\n usage: \"search\",\n ...options\n });\n // TODO(later): these methods don't currently support the ignorePunctuation option.\n return {\n startsWith (string, substring) {\n if (substring.length === 0) return true;\n // Normalize both strings so we can slice safely\n // TODO: take into account the ignorePunctuation option as well...\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n },\n endsWith (string, substring) {\n if (substring.length === 0) return true;\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n return collator.compare(string.slice(-substring.length), substring) === 0;\n },\n contains (string, substring) {\n if (substring.length === 0) return true;\n string = string.normalize(\"NFC\");\n substring = substring.normalize(\"NFC\");\n let scan = 0;\n let sliceLen = substring.length;\n for(; scan + sliceLen <= string.length; scan++){\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) return true;\n }\n return false;\n }\n };\n}\n\n\n\n\nexport {$18f2051aff69b9bf$export$a54013f0d02a8f82 as I18nProvider, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 as useLocale, $fca6afa0e843324b$export$f12b703ca79dfbb1 as useLocalizedStringFormatter, $33bf17300c498528$export$a2f47a3d2973640 as useListFormatter, $896ba0a80a8f4d36$export$85fd5fdf27bacc79 as useDateFormatter, $a916eb452884faea$export$b7a616150fdb9f44 as useNumberFormatter, $325a3faab7a68acd$export$a16aca283550c30d as useCollator, $bb77f239b46e8c72$export$3274cf84b703fff as useFilter};\n//# sourceMappingURL=real-module.js.map\n","import {useLink as $i081u$useLink} from \"@react-aria/link\";\nimport {filterDOMProps as $i081u$filterDOMProps} from \"@react-aria/utils\";\nimport {useLocalizedStringFormatter as $i081u$useLocalizedStringFormatter} from \"@react-aria/i18n\";\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $dafd15390222438a$export$452b38fce62c9384(props, ref) {\n let { isCurrent: isCurrent , isDisabled: isDisabled , \"aria-current\": ariaCurrent , elementType: elementType = \"a\" , ...otherProps } = props;\n let { linkProps: linkProps } = (0, $i081u$useLink)({\n isDisabled: isDisabled || isCurrent,\n elementType: elementType,\n ...otherProps\n }, ref);\n let isHeading = /^h[1-6]$/.test(elementType);\n let itemProps = {};\n if (!isHeading) itemProps = linkProps;\n if (isCurrent) {\n itemProps[\"aria-current\"] = ariaCurrent || \"page\";\n // isCurrent sets isDisabled === true for the current item,\n // so we have to restore the tabIndex in order to support autoFocus.\n itemProps.tabIndex = props.autoFocus ? -1 : undefined;\n }\n return {\n itemProps: {\n \"aria-disabled\": isDisabled,\n ...itemProps\n }\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nvar $28dc7e2f5ed40c80$exports = {};\nvar $b91590b2dc47de39$exports = {};\n$b91590b2dc47de39$exports = {\n \"breadcrumbs\": `عناصر الواجهة`\n};\n\n\nvar $55b0693b2cf3fe91$exports = {};\n$55b0693b2cf3fe91$exports = {\n \"breadcrumbs\": `Трохи хляб`\n};\n\n\nvar $6ec1ed7729e948cc$exports = {};\n$6ec1ed7729e948cc$exports = {\n \"breadcrumbs\": `Popis cesty`\n};\n\n\nvar $5a41bb2baa6861e4$exports = {};\n$5a41bb2baa6861e4$exports = {\n \"breadcrumbs\": `Brødkrummer`\n};\n\n\nvar $f28bbea439e87eca$exports = {};\n$f28bbea439e87eca$exports = {\n \"breadcrumbs\": `Breadcrumbs`\n};\n\n\nvar $b3eca51cb720961a$exports = {};\n$b3eca51cb720961a$exports = {\n \"breadcrumbs\": `Πλοηγήσεις breadcrumb`\n};\n\n\nvar $0b39b205118db415$exports = {};\n$0b39b205118db415$exports = {\n \"breadcrumbs\": `Breadcrumbs`\n};\n\n\nvar $f467c0ee7bfb0950$exports = {};\n$f467c0ee7bfb0950$exports = {\n \"breadcrumbs\": `Migas de pan`\n};\n\n\nvar $ab711d2ffb4cdf3d$exports = {};\n$ab711d2ffb4cdf3d$exports = {\n \"breadcrumbs\": `Lingiread`\n};\n\n\nvar $b63105d663e6f9d5$exports = {};\n$b63105d663e6f9d5$exports = {\n \"breadcrumbs\": `Navigointilinkit`\n};\n\n\nvar $9d2ed7be7fcdc2a1$exports = {};\n$9d2ed7be7fcdc2a1$exports = {\n \"breadcrumbs\": `Chemin de navigation`\n};\n\n\nvar $c5704294d85c7b5d$exports = {};\n$c5704294d85c7b5d$exports = {\n \"breadcrumbs\": `שבילי ניווט`\n};\n\n\nvar $20c975671d6bbc63$exports = {};\n$20c975671d6bbc63$exports = {\n \"breadcrumbs\": `Navigacijski putovi`\n};\n\n\nvar $2569ca3917233115$exports = {};\n$2569ca3917233115$exports = {\n \"breadcrumbs\": `Morzsamenü`\n};\n\n\nvar $caa152f7f8e96c85$exports = {};\n$caa152f7f8e96c85$exports = {\n \"breadcrumbs\": `Breadcrumb`\n};\n\n\nvar $cbc6af0cc98fad10$exports = {};\n$cbc6af0cc98fad10$exports = {\n \"breadcrumbs\": `パンくずリスト`\n};\n\n\nvar $ad9be5d332b4d607$exports = {};\n$ad9be5d332b4d607$exports = {\n \"breadcrumbs\": `탐색 표시`\n};\n\n\nvar $659de19a00ff9617$exports = {};\n$659de19a00ff9617$exports = {\n \"breadcrumbs\": `Naršymo kelias`\n};\n\n\nvar $173e9fb4d14fe309$exports = {};\n$173e9fb4d14fe309$exports = {\n \"breadcrumbs\": `Atpakaļceļi`\n};\n\n\nvar $d8e2640a066567a9$exports = {};\n$d8e2640a066567a9$exports = {\n \"breadcrumbs\": `Navigasjonsstier`\n};\n\n\nvar $d71fd764236c0d12$exports = {};\n$d71fd764236c0d12$exports = {\n \"breadcrumbs\": `Broodkruimels`\n};\n\n\nvar $f4ad3faf9f4aaec6$exports = {};\n$f4ad3faf9f4aaec6$exports = {\n \"breadcrumbs\": `Struktura nawigacyjna`\n};\n\n\nvar $9703be9d55d8e9c2$exports = {};\n$9703be9d55d8e9c2$exports = {\n \"breadcrumbs\": `Caminho detalhado`\n};\n\n\nvar $7e23baec8a14f309$exports = {};\n$7e23baec8a14f309$exports = {\n \"breadcrumbs\": `Categorias`\n};\n\n\nvar $568f95594049d56e$exports = {};\n$568f95594049d56e$exports = {\n \"breadcrumbs\": `Miez de pâine`\n};\n\n\nvar $625df06cecc70764$exports = {};\n$625df06cecc70764$exports = {\n \"breadcrumbs\": `Навигация`\n};\n\n\nvar $b5a67525f3a2f594$exports = {};\n$b5a67525f3a2f594$exports = {\n \"breadcrumbs\": `Navigačné prvky Breadcrumbs`\n};\n\n\nvar $16125922964febca$exports = {};\n$16125922964febca$exports = {\n \"breadcrumbs\": `Drobtine`\n};\n\n\nvar $de104bf355206bcf$exports = {};\n$de104bf355206bcf$exports = {\n \"breadcrumbs\": `Putanje navigacije`\n};\n\n\nvar $d5ab76bcbadc9c07$exports = {};\n$d5ab76bcbadc9c07$exports = {\n \"breadcrumbs\": `Sökvägar`\n};\n\n\nvar $a6a1af5968159b55$exports = {};\n$a6a1af5968159b55$exports = {\n \"breadcrumbs\": `İçerik haritaları`\n};\n\n\nvar $5204a30f0d17ffec$exports = {};\n$5204a30f0d17ffec$exports = {\n \"breadcrumbs\": `Навігаційна стежка`\n};\n\n\nvar $8d15e736e12d3dfd$exports = {};\n$8d15e736e12d3dfd$exports = {\n \"breadcrumbs\": `导航栏`\n};\n\n\nvar $f8c49dd804b75140$exports = {};\n$f8c49dd804b75140$exports = {\n \"breadcrumbs\": `導覽列`\n};\n\n\n$28dc7e2f5ed40c80$exports = {\n \"ar-AE\": $b91590b2dc47de39$exports,\n \"bg-BG\": $55b0693b2cf3fe91$exports,\n \"cs-CZ\": $6ec1ed7729e948cc$exports,\n \"da-DK\": $5a41bb2baa6861e4$exports,\n \"de-DE\": $f28bbea439e87eca$exports,\n \"el-GR\": $b3eca51cb720961a$exports,\n \"en-US\": $0b39b205118db415$exports,\n \"es-ES\": $f467c0ee7bfb0950$exports,\n \"et-EE\": $ab711d2ffb4cdf3d$exports,\n \"fi-FI\": $b63105d663e6f9d5$exports,\n \"fr-FR\": $9d2ed7be7fcdc2a1$exports,\n \"he-IL\": $c5704294d85c7b5d$exports,\n \"hr-HR\": $20c975671d6bbc63$exports,\n \"hu-HU\": $2569ca3917233115$exports,\n \"it-IT\": $caa152f7f8e96c85$exports,\n \"ja-JP\": $cbc6af0cc98fad10$exports,\n \"ko-KR\": $ad9be5d332b4d607$exports,\n \"lt-LT\": $659de19a00ff9617$exports,\n \"lv-LV\": $173e9fb4d14fe309$exports,\n \"nb-NO\": $d8e2640a066567a9$exports,\n \"nl-NL\": $d71fd764236c0d12$exports,\n \"pl-PL\": $f4ad3faf9f4aaec6$exports,\n \"pt-BR\": $9703be9d55d8e9c2$exports,\n \"pt-PT\": $7e23baec8a14f309$exports,\n \"ro-RO\": $568f95594049d56e$exports,\n \"ru-RU\": $625df06cecc70764$exports,\n \"sk-SK\": $b5a67525f3a2f594$exports,\n \"sl-SI\": $16125922964febca$exports,\n \"sr-SP\": $de104bf355206bcf$exports,\n \"sv-SE\": $d5ab76bcbadc9c07$exports,\n \"tr-TR\": $a6a1af5968159b55$exports,\n \"uk-UA\": $5204a30f0d17ffec$exports,\n \"zh-CN\": $8d15e736e12d3dfd$exports,\n \"zh-TW\": $f8c49dd804b75140$exports\n};\n\n\n\nfunction $848231d7a2b3998e$export$8cefe241bd876ca0(props) {\n let { \"aria-label\": ariaLabel , ...otherProps } = props;\n let strings = (0, $i081u$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($28dc7e2f5ed40c80$exports))));\n return {\n navProps: {\n ...(0, $i081u$filterDOMProps)(otherProps, {\n labelable: true\n }),\n \"aria-label\": ariaLabel || strings.format(\"breadcrumbs\")\n }\n };\n}\n\n\n\n\nexport {$dafd15390222438a$export$452b38fce62c9384 as useBreadcrumbItem, $848231d7a2b3998e$export$8cefe241bd876ca0 as useBreadcrumbs};\n//# sourceMappingURL=module.js.map\n","function getSide(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n const commonAlign = reference[length] / 2 - floating[length] / 2;\n const side = getSide(placement);\n const isVertical = mainAxis === 'x';\n let coords;\n\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n\n case 'end':\n coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: { ...middlewareData[name],\n ...data\n }\n };\n\n if (process.env.NODE_ENV !== \"production\") {\n if (resetCount > 50) {\n console.warn(['Floating UI: The middleware lifecycle appears to be running in an', 'infinite loop. This is usually caused by a `reset` continually', 'being returned without a break condition.'].join(' '));\n }\n }\n\n if (reset && resetCount <= 50) {\n resetCount++;\n\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(middlewareArguments, options) {\n var _await$platform$isEle;\n\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)),\n strategy\n }) : rects[elementContext]);\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\n/**\n * Positions an inner element of the floating element such that it is centered\n * to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const axis = getMainAxisFromPlacement(placement);\n const alignment = getAlignment(placement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n\n if (clientSize === 0) {\n clientSize = rects.floating[length];\n }\n\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max); // Make sure that arrow points at the reference\n\n const alignmentPadding = alignment === 'start' ? paddingObject[minProp] : paddingObject[maxProp];\n const shouldAddOffset = alignmentPadding > 0 && center !== offset && rects.reference[length] <= rects.floating[length];\n const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0;\n return {\n [axis]: coords[axis] - alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n\n const alignment = getAlignment(placement);\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-start\", side + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\n\n/**\n * Automatically chooses the `placement` which has the most space available.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP = (_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.index) != null ? _middlewareData$autoP : 0;\n const currentPlacement = placements[currentIndex];\n\n if (currentPlacement == null) {\n return {};\n }\n\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP3 = (_middlewareData$autoP4 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP4.overflows) != null ? _middlewareData$autoP3 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n const resetPlacement = placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement;\n\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\n/**\n * Changes the placement of the floating element to one that will fit if the\n * initially specified `placement` does not.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const side = getSide(placement);\n const isBasePlacement = side === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip2;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0].placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (_temp) {\n let {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = _temp === void 0 ? {} : _temp;\n return {\n name: 'hide',\n\n async fn(middlewareArguments) {\n const {\n rects\n } = middlewareArguments;\n\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(middlewareArguments, { ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n\n case 'escaped':\n {\n const overflow = await detectOverflow(middlewareArguments, { ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n\n default:\n {\n return {};\n }\n }\n }\n\n };\n};\n\nasync function convertValueToCoords(middlewareArguments, value) {\n const {\n placement,\n platform,\n elements\n } = middlewareArguments;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getMainAxisFromPlacement(placement) === 'x';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const\n\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n/**\n * Displaces the floating element from its reference element.\n * @see https://floating-ui.com/docs/offset\n */\n\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n async fn(middlewareArguments) {\n const {\n x,\n y\n } = middlewareArguments;\n const diffCoords = await convertValueToCoords(middlewareArguments, value);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\n/**\n * Shifts the floating element in order to keep it in view when it will overflow\n * a clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getSide(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\n/**\n * Provides data to change the size of the floating element. For instance,\n * prevent it from overflowing its clipping boundary or match the width of the\n * reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n const {\n placement,\n rects,\n platform,\n elements\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n let heightSide;\n let widthSide;\n\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n availableHeight: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n availableWidth: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n const prevDimensions = await platform.getDimensions(elements.floating);\n apply == null ? void 0 : apply({ ...middlewareArguments,\n ...dimensions\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n\n if (prevDimensions.width !== nextDimensions.width || prevDimensions.height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n const fallback = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)),\n strategy\n }) : rects.reference);\n const clientRects = (_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) != null ? _await$platform$getCl : [];\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return value && value.document && value.location && value.alert && value.setInterval;\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction getUAString() {\n const uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(item => item.brand + \"/\" + item.version).join(' ');\n }\n\n return navigator.userAgent;\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n // Browsers without `ShadowRoot` support\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isOverflowElement(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = /firefox/i.test(getUAString());\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat)\n css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\nfunction isLayoutViewport() {\n // Not Safari\n return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways\n // • Always-visible scrollbar or not\n // • Width of <html>, etc.\n // const vV = win.visualViewport;\n // return vV ? Math.abs(win.innerWidth / vV.scale - vV.width) < 0.5 : true;\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy) {\n var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;\n\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n const win = isElement(element) ? getWindow(element) : window;\n const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n const x = (clientRect.left + (addVisualOffsets ? (_win$visualViewport$o = (_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null ? _win$visualViewport$o : 0 : 0)) / scaleX;\n const y = (clientRect.top + (addVisualOffsets ? (_win$visualViewport$o2 = (_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null ? _win$visualViewport$o2 : 0 : 0)) / scaleY;\n const width = clientRect.width / scaleX;\n const height = clientRect.height / scaleY;\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, // @ts-ignore - checked above (TS 4.1 compat)\n isOffsetParentAnElement && isScaled(offsetParent), strategy === 'fixed');\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n if (isHTMLElement(element)) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n\n const rect = getBoundingClientRect(element);\n return {\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n\n if (['html', 'body', '#document'].includes(getNodeName(parentNode))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n\n return getNearestOverflowAncestor(parentNode);\n}\n\nfunction getOverflowAncestors(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollableAncestor);\n const target = isBody ? [win].concat(win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []) : scrollableAncestor;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getOverflowAncestors(target));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, false, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingAncestor(element, clippingParent, strategy) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element, strategy));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent, strategy);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping ancestor\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingAncestors(element) {\n const clippingAncestors = getOverflowAncestors(element);\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array<Element>\n\n\n return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors\n\n\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const mainClippingAncestors = boundary === 'clippingAncestors' ? getClippingAncestors(element) : [].concat(boundary);\n const clippingAncestors = [...mainClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nconst platform = {\n getClippingRect,\n convertOffsetParentRelativeRectToViewportRelativeRect,\n isElement,\n getDimensions,\n getOffsetParent,\n getDocumentElement,\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n getClientRects: element => Array.from(element.getClientRects()),\n isRTL: element => getComputedStyle$1(element).direction === 'rtl'\n};\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n ancestorScroll: _ancestorScroll = true,\n ancestorResize: _ancestorResize = true,\n elementResize = true,\n animationFrame = false\n } = options;\n const ancestorScroll = _ancestorScroll && !animationFrame;\n const ancestorResize = _ancestorResize && !animationFrame;\n const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n let observer = null;\n\n if (elementResize) {\n let initialUpdate = true;\n observer = new ResizeObserver(() => {\n if (!initialUpdate) {\n update();\n }\n\n initialUpdate = false;\n });\n isElement(reference) && !animationFrame && observer.observe(reference);\n observer.observe(floating);\n }\n\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n\n if (animationFrame) {\n frameLoop();\n }\n\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n\n update();\n return () => {\n var _observer;\n\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n (_observer = observer) == null ? void 0 : _observer.disconnect();\n observer = null;\n\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { autoUpdate, computePosition, getOverflowAncestors };\n","import { computePosition, arrow as arrow$1 } from '@floating-ui/dom';\nexport * from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n\n let length, i, keys;\n\n if (a && b && typeof a == 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n keys = Object.keys(a);\n length = keys.length;\n\n if (length !== Object.keys(b).length) {\n return false;\n }\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return a !== a && b !== b;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\nfunction useFloating(_temp) {\n let {\n middleware,\n placement = 'bottom',\n strategy = 'absolute',\n whileElementsMounted\n } = _temp === void 0 ? {} : _temp;\n const reference = React.useRef(null);\n const floating = React.useRef(null);\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const cleanupRef = React.useRef(null);\n const [data, setData] = React.useState({\n // Setting these to `null` will allow the consumer to determine if\n // `computePosition()` has run yet\n x: null,\n y: null,\n strategy,\n placement,\n middlewareData: {}\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n\n if (!deepEqual(latestMiddleware == null ? void 0 : latestMiddleware.map(_ref => {\n let {\n options\n } = _ref;\n return options;\n }), middleware == null ? void 0 : middleware.map(_ref2 => {\n let {\n options\n } = _ref2;\n return options;\n }))) {\n setLatestMiddleware(middleware);\n }\n\n const update = React.useCallback(() => {\n if (!reference.current || !floating.current) {\n return;\n }\n\n computePosition(reference.current, floating.current, {\n middleware: latestMiddleware,\n placement,\n strategy\n }).then(data => {\n if (isMountedRef.current) {\n ReactDOM.flushSync(() => {\n setData(data);\n });\n }\n });\n }, [latestMiddleware, placement, strategy]);\n index(() => {\n // Skip first update\n if (isMountedRef.current) {\n update();\n }\n }, [update]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n const runElementMountCallback = React.useCallback(() => {\n if (typeof cleanupRef.current === 'function') {\n cleanupRef.current();\n cleanupRef.current = null;\n }\n\n if (reference.current && floating.current) {\n if (whileElementsMountedRef.current) {\n const cleanupFn = whileElementsMountedRef.current(reference.current, floating.current, update);\n cleanupRef.current = cleanupFn;\n } else {\n update();\n }\n }\n }, [update, whileElementsMountedRef]);\n const setReference = React.useCallback(node => {\n reference.current = node;\n runElementMountCallback();\n }, [runElementMountCallback]);\n const setFloating = React.useCallback(node => {\n floating.current = node;\n runElementMountCallback();\n }, [runElementMountCallback]);\n const refs = React.useMemo(() => ({\n reference,\n floating\n }), []);\n return React.useMemo(() => ({ ...data,\n update,\n refs,\n reference: setReference,\n floating: setFloating\n }), [data, update, refs, setReference, setFloating]);\n}\n\n/**\n * Positions an inner element of the floating element such that it is centered\n * to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\n\nconst arrow = options => {\n const {\n element,\n padding\n } = options;\n\n function isRef(value) {\n return Object.prototype.hasOwnProperty.call(value, 'current');\n }\n\n return {\n name: 'arrow',\n options,\n\n fn(args) {\n if (isRef(element)) {\n if (element.current != null) {\n return arrow$1({\n element: element.current,\n padding\n }).fn(args);\n }\n\n return {};\n } else if (element) {\n return arrow$1({\n element,\n padding\n }).fn(args);\n }\n\n return {};\n }\n\n };\n};\n\nexport { arrow, useFloating };\n","import $jbnEx$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $jbnEx$forwardRef, createElement as $jbnEx$createElement} from \"react\";\nimport {Primitive as $jbnEx$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Arrow\n * -----------------------------------------------------------------------------------------------*/ const $7e8f5cd07187803e$var$NAME = 'Arrow';\nconst $7e8f5cd07187803e$export$21b07c8f274aebd5 = /*#__PURE__*/ $jbnEx$forwardRef((props, forwardedRef)=>{\n const { children: children , width: width = 10 , height: height = 5 , ...arrowProps } = props;\n return /*#__PURE__*/ $jbnEx$createElement($jbnEx$Primitive.svg, $jbnEx$babelruntimehelpersesmextends({}, arrowProps, {\n ref: forwardedRef,\n width: width,\n height: height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\"\n }), props.asChild ? children : /*#__PURE__*/ $jbnEx$createElement(\"polygon\", {\n points: \"0,0 30,0 15,10\"\n }));\n});\n/*#__PURE__*/ Object.assign($7e8f5cd07187803e$export$21b07c8f274aebd5, {\n displayName: $7e8f5cd07187803e$var$NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $7e8f5cd07187803e$export$be92b6f5f03c0fe9 = $7e8f5cd07187803e$export$21b07c8f274aebd5;\n\n\n\n\nexport {$7e8f5cd07187803e$export$21b07c8f274aebd5 as Arrow, $7e8f5cd07187803e$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import {useState as $9gyGR$useState} from \"react\";\nimport {useLayoutEffect as $9gyGR$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\nfunction $db6c3485150b8e66$export$1ab7ae714698c4b8(element) {\n const [size, setSize] = $9gyGR$useState(undefined);\n $9gyGR$useLayoutEffect(()=>{\n if (element) {\n // provide size as early as possible\n setSize({\n width: element.offsetWidth,\n height: element.offsetHeight\n });\n const resizeObserver = new ResizeObserver((entries)=>{\n if (!Array.isArray(entries)) return;\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length) return;\n const entry = entries[0];\n let width;\n let height;\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry['borderBoxSize']; // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize['inlineSize'];\n height = borderSize['blockSize'];\n } else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({\n width: width,\n height: height\n });\n });\n resizeObserver.observe(element, {\n box: 'border-box'\n });\n return ()=>resizeObserver.unobserve(element)\n ;\n } else // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n setSize(undefined);\n }, [\n element\n ]);\n return size;\n}\n\n\n\n\nexport {$db6c3485150b8e66$export$1ab7ae714698c4b8 as useSize};\n//# sourceMappingURL=index.module.js.map\n","import $kY93V$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $kY93V$useState, createElement as $kY93V$createElement, forwardRef as $kY93V$forwardRef, useRef as $kY93V$useRef, useEffect as $kY93V$useEffect, useLayoutEffect as $kY93V$useLayoutEffect} from \"react\";\nimport {useFloating as $kY93V$useFloating, autoUpdate as $kY93V$autoUpdate, offset as $kY93V$offset, shift as $kY93V$shift, limitShift as $kY93V$limitShift, arrow as $kY93V$arrow, flip as $kY93V$flip, hide as $kY93V$hide} from \"@floating-ui/react-dom\";\nimport {Root as $kY93V$Root} from \"@radix-ui/react-arrow\";\nimport {useComposedRefs as $kY93V$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $kY93V$createContextScope} from \"@radix-ui/react-context\";\nimport {Primitive as $kY93V$Primitive} from \"@radix-ui/react-primitive\";\nimport {useLayoutEffect as $kY93V$useLayoutEffect1} from \"@radix-ui/react-use-layout-effect\";\nimport {useSize as $kY93V$useSize} from \"@radix-ui/react-use-size\";\n\n\n\n\n\n\n\n\n\n\nconst $cf1ac5d9fe0e8206$export$36f0086da09c4b9f = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nconst $cf1ac5d9fe0e8206$export$3671ffab7b302fc9 = [\n 'start',\n 'center',\n 'end'\n];\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$POPPER_NAME = 'Popper';\nconst [$cf1ac5d9fe0e8206$var$createPopperContext, $cf1ac5d9fe0e8206$export$722aac194ae923] = $kY93V$createContextScope($cf1ac5d9fe0e8206$var$POPPER_NAME);\nconst [$cf1ac5d9fe0e8206$var$PopperProvider, $cf1ac5d9fe0e8206$var$usePopperContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$POPPER_NAME);\nconst $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9 = (props)=>{\n const { __scopePopper: __scopePopper , children: children } = props;\n const [anchor, setAnchor] = $kY93V$useState(null);\n return /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PopperProvider, {\n scope: __scopePopper,\n anchor: anchor,\n onAnchorChange: setAnchor\n }, children);\n};\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$badac9ada3a0bdf9, {\n displayName: $cf1ac5d9fe0e8206$var$POPPER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$ANCHOR_NAME = 'PopperAnchor';\nconst $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{\n const { __scopePopper: __scopePopper , virtualRef: virtualRef , ...anchorProps } = props;\n const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$ANCHOR_NAME, __scopePopper);\n const ref = $kY93V$useRef(null);\n const composedRefs = $kY93V$useComposedRefs(forwardedRef, ref);\n $kY93V$useEffect(()=>{\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange((virtualRef === null || virtualRef === void 0 ? void 0 : virtualRef.current) || ref.current);\n });\n return virtualRef ? null : /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, $kY93V$babelruntimehelpersesmextends({}, anchorProps, {\n ref: composedRefs\n }));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d, {\n displayName: $cf1ac5d9fe0e8206$var$ANCHOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$CONTENT_NAME = 'PopperContent';\nconst [$cf1ac5d9fe0e8206$var$PopperContentProvider, $cf1ac5d9fe0e8206$var$useContentContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME);\nconst [$cf1ac5d9fe0e8206$var$PositionContextProvider, $cf1ac5d9fe0e8206$var$usePositionContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, {\n hasParent: false,\n positionUpdateFns: new Set()\n});\nconst $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{\n var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$hide, _middlewareData$trans, _middlewareData$trans2;\n const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionBoundary: collisionBoundary = [] , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , ...contentProps } = props;\n const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);\n const [content, setContent] = $kY93V$useState(null);\n const composedRefs = $kY93V$useComposedRefs(forwardedRef, (node)=>setContent(node)\n );\n const [arrow, setArrow] = $kY93V$useState(null);\n const arrowSize = $kY93V$useSize(arrow);\n const arrowWidth = (_arrowSize$width = arrowSize === null || arrowSize === void 0 ? void 0 : arrowSize.width) !== null && _arrowSize$width !== void 0 ? _arrowSize$width : 0;\n const arrowHeight = (_arrowSize$height = arrowSize === null || arrowSize === void 0 ? void 0 : arrowSize.height) !== null && _arrowSize$height !== void 0 ? _arrowSize$height : 0;\n const desiredPlacement = side + (align !== 'center' ? '-' + align : '');\n const collisionPadding = typeof collisionPaddingProp === 'number' ? collisionPaddingProp : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...collisionPaddingProp\n };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [\n collisionBoundary\n ];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter($cf1ac5d9fe0e8206$var$isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { reference: reference , floating: floating , strategy: strategy , x: x , y: y , placement: placement , middlewareData: middlewareData , update: update } = $kY93V$useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: $kY93V$autoUpdate,\n middleware: [\n $kY93V$offset({\n mainAxis: sideOffset + arrowHeight,\n alignmentAxis: alignOffset\n }),\n avoidCollisions ? $kY93V$shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === 'partial' ? $kY93V$limitShift() : undefined,\n ...detectOverflowOptions\n }) : undefined,\n arrow ? $kY93V$arrow({\n element: arrow,\n padding: arrowPadding\n }) : undefined,\n avoidCollisions ? $kY93V$flip({\n ...detectOverflowOptions\n }) : undefined,\n $cf1ac5d9fe0e8206$var$transformOrigin({\n arrowWidth: arrowWidth,\n arrowHeight: arrowHeight\n }),\n hideWhenDetached ? $kY93V$hide({\n strategy: 'referenceHidden'\n }) : undefined\n ].filter($cf1ac5d9fe0e8206$var$isDefined)\n }); // assign the reference dynamically once `Content` has mounted so we can collocate the logic\n $kY93V$useLayoutEffect1(()=>{\n reference(context.anchor);\n }, [\n reference,\n context.anchor\n ]);\n const isPlaced = x !== null && y !== null;\n const [placedSide, placedAlign] = $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement);\n const arrowX = (_middlewareData$arrow = middlewareData.arrow) === null || _middlewareData$arrow === void 0 ? void 0 : _middlewareData$arrow.x;\n const arrowY = (_middlewareData$arrow2 = middlewareData.arrow) === null || _middlewareData$arrow2 === void 0 ? void 0 : _middlewareData$arrow2.y;\n const cannotCenterArrow = ((_middlewareData$arrow3 = middlewareData.arrow) === null || _middlewareData$arrow3 === void 0 ? void 0 : _middlewareData$arrow3.centerOffset) !== 0;\n const [contentZIndex, setContentZIndex] = $kY93V$useState();\n $kY93V$useLayoutEffect1(()=>{\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [\n content\n ]);\n const { hasParent: hasParent , positionUpdateFns: positionUpdateFns } = $cf1ac5d9fe0e8206$var$usePositionContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);\n const isRoot = !hasParent;\n $kY93V$useLayoutEffect(()=>{\n if (!isRoot) {\n positionUpdateFns.add(update);\n return ()=>{\n positionUpdateFns.delete(update);\n };\n }\n }, [\n isRoot,\n positionUpdateFns,\n update\n ]); // when nested contents are rendered in portals, they are appended out of order causing\n // children to be positioned incorrectly if initially open.\n // we need to re-compute the positioning once the parent has finally been placed.\n // https://github.com/floating-ui/floating-ui/issues/1531\n $kY93V$useLayoutEffect(()=>{\n if (isRoot && isPlaced) Array.from(positionUpdateFns).reverse().forEach((fn)=>requestAnimationFrame(fn)\n );\n }, [\n isRoot,\n isPlaced,\n positionUpdateFns\n ]);\n const commonProps = {\n 'data-side': placedSide,\n 'data-align': placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPlaced ? 'none' : undefined,\n // hide the content if using the hide middleware and should be hidden\n opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined\n }\n };\n return /*#__PURE__*/ $kY93V$createElement(\"div\", {\n ref: floating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n position: strategy,\n left: 0,\n top: 0,\n transform: isPlaced ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)` : 'translate3d(0, -200%, 0)',\n // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin']: [\n (_middlewareData$trans = middlewareData.transformOrigin) === null || _middlewareData$trans === void 0 ? void 0 : _middlewareData$trans.x,\n (_middlewareData$trans2 = middlewareData.transformOrigin) === null || _middlewareData$trans2 === void 0 ? void 0 : _middlewareData$trans2.y\n ].join(' ')\n }\n }, /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PopperContentProvider, {\n scope: __scopePopper,\n placedSide: placedSide,\n onArrowChange: setArrow,\n arrowX: arrowX,\n arrowY: arrowY,\n shouldHideArrow: cannotCenterArrow\n }, isRoot ? /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PositionContextProvider, {\n scope: __scopePopper,\n hasParent: true,\n positionUpdateFns: positionUpdateFns\n }, /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, commonProps)) : /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, commonProps)));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc, {\n displayName: $cf1ac5d9fe0e8206$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$ARROW_NAME = 'PopperArrow';\nconst $cf1ac5d9fe0e8206$var$OPPOSITE_SIDE = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right'\n};\nconst $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $kY93V$forwardRef(function $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0(props, forwardedRef) {\n const { __scopePopper: __scopePopper , ...arrowProps } = props;\n const contentContext = $cf1ac5d9fe0e8206$var$useContentContext($cf1ac5d9fe0e8206$var$ARROW_NAME, __scopePopper);\n const baseSide = $cf1ac5d9fe0e8206$var$OPPOSITE_SIDE[contentContext.placedSide];\n return(/*#__PURE__*/ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n $kY93V$createElement(\"span\", {\n ref: contentContext.onArrowChange,\n style: {\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0'\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)'\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined\n }\n }, /*#__PURE__*/ $kY93V$createElement($kY93V$Root, $kY93V$babelruntimehelpersesmextends({}, arrowProps, {\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block'\n }\n }))));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0, {\n displayName: $cf1ac5d9fe0e8206$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $cf1ac5d9fe0e8206$var$isDefined(value) {\n return value !== undefined;\n}\nfunction $cf1ac5d9fe0e8206$var$isNotNull(value) {\n return value !== null;\n}\nconst $cf1ac5d9fe0e8206$var$transformOrigin = (options)=>({\n name: 'transformOrigin',\n options: options,\n fn (data) {\n var _middlewareData$arrow4, _middlewareData$arrow5, _middlewareData$arrow6, _middlewareData$arrow7, _middlewareData$arrow8;\n const { placement: placement , rects: rects , middlewareData: middlewareData } = data;\n const cannotCenterArrow = ((_middlewareData$arrow4 = middlewareData.arrow) === null || _middlewareData$arrow4 === void 0 ? void 0 : _middlewareData$arrow4.centerOffset) !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement);\n const noArrowAlign = {\n start: '0%',\n center: '50%',\n end: '100%'\n }[placedAlign];\n const arrowXCenter = ((_middlewareData$arrow5 = (_middlewareData$arrow6 = middlewareData.arrow) === null || _middlewareData$arrow6 === void 0 ? void 0 : _middlewareData$arrow6.x) !== null && _middlewareData$arrow5 !== void 0 ? _middlewareData$arrow5 : 0) + arrowWidth / 2;\n const arrowYCenter = ((_middlewareData$arrow7 = (_middlewareData$arrow8 = middlewareData.arrow) === null || _middlewareData$arrow8 === void 0 ? void 0 : _middlewareData$arrow8.y) !== null && _middlewareData$arrow7 !== void 0 ? _middlewareData$arrow7 : 0) + arrowHeight / 2;\n let x = '';\n let y = '';\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return {\n data: {\n x: x,\n y: y\n }\n };\n }\n })\n;\nfunction $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement) {\n const [side, align = 'center'] = placement.split('-');\n return [\n side,\n align\n ];\n}\nconst $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9 = $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9;\nconst $cf1ac5d9fe0e8206$export$b688253958b8dfe7 = $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d;\nconst $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 = $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc;\nconst $cf1ac5d9fe0e8206$export$21b07c8f274aebd5 = $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0;\n\n\n\n\nexport {$cf1ac5d9fe0e8206$export$722aac194ae923 as createPopperScope, $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9 as Popper, $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d as PopperAnchor, $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc as PopperContent, $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 as PopperArrow, $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9 as Root, $cf1ac5d9fe0e8206$export$b688253958b8dfe7 as Anchor, $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 as Content, $cf1ac5d9fe0e8206$export$21b07c8f274aebd5 as Arrow, $cf1ac5d9fe0e8206$export$36f0086da09c4b9f as SIDE_OPTIONS, $cf1ac5d9fe0e8206$export$3671ffab7b302fc9 as ALIGN_OPTIONS};\n//# sourceMappingURL=index.module.js.map\n","import $am6gm$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useRef as $am6gm$useRef, useState as $am6gm$useState, createElement as $am6gm$createElement, useCallback as $am6gm$useCallback, forwardRef as $am6gm$forwardRef, useEffect as $am6gm$useEffect} from \"react\";\nimport {composeEventHandlers as $am6gm$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $am6gm$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $am6gm$createContextScope} from \"@radix-ui/react-context\";\nimport {DismissableLayer as $am6gm$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {useFocusGuards as $am6gm$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {FocusScope as $am6gm$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {useId as $am6gm$useId} from \"@radix-ui/react-id\";\nimport {createPopperScope as $am6gm$createPopperScope, Root as $am6gm$Root, Anchor as $am6gm$Anchor, Content as $am6gm$Content, Arrow as $am6gm$Arrow} from \"@radix-ui/react-popper\";\nimport {Portal as $am6gm$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $am6gm$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $am6gm$Primitive} from \"@radix-ui/react-primitive\";\nimport {Slot as $am6gm$Slot} from \"@radix-ui/react-slot\";\nimport {useControllableState as $am6gm$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {hideOthers as $am6gm$hideOthers} from \"aria-hidden\";\nimport {RemoveScroll as $am6gm$RemoveScroll} from \"react-remove-scroll\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Popover\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$POPOVER_NAME = 'Popover';\nconst [$cb5cc270b50c6fcd$var$createPopoverContext, $cb5cc270b50c6fcd$export$c8393c9e73286932] = $am6gm$createContextScope($cb5cc270b50c6fcd$var$POPOVER_NAME, [\n $am6gm$createPopperScope\n]);\nconst $cb5cc270b50c6fcd$var$usePopperScope = $am6gm$createPopperScope();\nconst [$cb5cc270b50c6fcd$var$PopoverProvider, $cb5cc270b50c6fcd$var$usePopoverContext] = $cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$POPOVER_NAME);\nconst $cb5cc270b50c6fcd$export$5b6b19405a83ff9d = (props)=>{\n const { __scopePopover: __scopePopover , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , modal: modal = false } = props;\n const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);\n const triggerRef = $am6gm$useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = $am6gm$useState(false);\n const [open = false, setOpen] = $am6gm$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $am6gm$createElement($am6gm$Root, popperScope, /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PopoverProvider, {\n scope: __scopePopover,\n contentId: $am6gm$useId(),\n triggerRef: triggerRef,\n open: open,\n onOpenChange: setOpen,\n onOpenToggle: $am6gm$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n )\n , [\n setOpen\n ]),\n hasCustomAnchor: hasCustomAnchor,\n onCustomAnchorAdd: $am6gm$useCallback(()=>setHasCustomAnchor(true)\n , []),\n onCustomAnchorRemove: $am6gm$useCallback(()=>setHasCustomAnchor(false)\n , []),\n modal: modal\n }, children));\n};\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$5b6b19405a83ff9d, {\n displayName: $cb5cc270b50c6fcd$var$POPOVER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverAnchor\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$ANCHOR_NAME = 'PopoverAnchor';\nconst $cb5cc270b50c6fcd$export$96e5381f42521a79 = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const { __scopePopover: __scopePopover , ...anchorProps } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$ANCHOR_NAME, __scopePopover);\n const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);\n const { onCustomAnchorAdd: onCustomAnchorAdd , onCustomAnchorRemove: onCustomAnchorRemove } = context;\n $am6gm$useEffect(()=>{\n onCustomAnchorAdd();\n return ()=>onCustomAnchorRemove()\n ;\n }, [\n onCustomAnchorAdd,\n onCustomAnchorRemove\n ]);\n return /*#__PURE__*/ $am6gm$createElement($am6gm$Anchor, $am6gm$babelruntimehelpersesmextends({}, popperScope, anchorProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$96e5381f42521a79, {\n displayName: $cb5cc270b50c6fcd$var$ANCHOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverTrigger\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$TRIGGER_NAME = 'PopoverTrigger';\nconst $cb5cc270b50c6fcd$export$7dacb05d26466c3 = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const { __scopePopover: __scopePopover , ...triggerProps } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$TRIGGER_NAME, __scopePopover);\n const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);\n const composedTriggerRef = $am6gm$useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /*#__PURE__*/ $am6gm$createElement($am6gm$Primitive.button, $am6gm$babelruntimehelpersesmextends({\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": $cb5cc270b50c6fcd$var$getState(context.open)\n }, triggerProps, {\n ref: composedTriggerRef,\n onClick: $am6gm$composeEventHandlers(props.onClick, context.onOpenToggle)\n }));\n return context.hasCustomAnchor ? trigger : /*#__PURE__*/ $am6gm$createElement($am6gm$Anchor, $am6gm$babelruntimehelpersesmextends({\n asChild: true\n }, popperScope), trigger);\n});\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$7dacb05d26466c3, {\n displayName: $cb5cc270b50c6fcd$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverPortal\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PORTAL_NAME = 'PopoverPortal';\nconst [$cb5cc270b50c6fcd$var$PortalProvider, $cb5cc270b50c6fcd$var$usePortalContext] = $cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME, {\n forceMount: undefined\n});\nconst $cb5cc270b50c6fcd$export$dd679ffb4362d2d4 = (props)=>{\n const { __scopePopover: __scopePopover , forceMount: forceMount , children: children , container: container } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME, __scopePopover);\n return /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PortalProvider, {\n scope: __scopePopover,\n forceMount: forceMount\n }, /*#__PURE__*/ $am6gm$createElement($am6gm$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $am6gm$createElement($am6gm$Portal, {\n asChild: true,\n container: container\n }, children)));\n};\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$dd679ffb4362d2d4, {\n displayName: $cb5cc270b50c6fcd$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverContent\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$CONTENT_NAME = 'PopoverContent';\nconst $cb5cc270b50c6fcd$export$d7e1f420b25549ff = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const portalContext = $cb5cc270b50c6fcd$var$usePortalContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);\n const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);\n return /*#__PURE__*/ $am6gm$createElement($am6gm$Presence, {\n present: forceMount || context.open\n }, context.modal ? /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PopoverContentModal, $am6gm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })) : /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PopoverContentNonModal, $am6gm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$d7e1f420b25549ff, {\n displayName: $cb5cc270b50c6fcd$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PopoverContentModal = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);\n const contentRef = $am6gm$useRef(null);\n const composedRefs = $am6gm$useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = $am6gm$useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n $am6gm$useEffect(()=>{\n const content = contentRef.current;\n if (content) return $am6gm$hideOthers(content);\n }, []);\n return /*#__PURE__*/ $am6gm$createElement($am6gm$RemoveScroll, {\n as: $am6gm$Slot,\n allowPinchZoom: true\n }, /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PopoverContentImpl, $am6gm$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs // we make sure we're not trapping once it's been closed\n ,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: $am6gm$composeEventHandlers(props.onCloseAutoFocus, (event)=>{\n var _context$triggerRef$c;\n event.preventDefault();\n if (!isRightClickOutsideRef.current) (_context$triggerRef$c = context.triggerRef.current) === null || _context$triggerRef$c === void 0 || _context$triggerRef$c.focus();\n }),\n onPointerDownOutside: $am6gm$composeEventHandlers(props.onPointerDownOutside, (event)=>{\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n }, {\n checkForDefaultPrevented: false\n }) // When focus is trapped, a `focusout` event may still happen.\n ,\n onFocusOutside: $am6gm$composeEventHandlers(props.onFocusOutside, (event)=>event.preventDefault()\n , {\n checkForDefaultPrevented: false\n })\n })));\n});\nconst $cb5cc270b50c6fcd$var$PopoverContentNonModal = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = $am6gm$useRef(false);\n return /*#__PURE__*/ $am6gm$createElement($cb5cc270b50c6fcd$var$PopoverContentImpl, $am6gm$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event)=>{\n var _props$onCloseAutoFoc;\n (_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);\n if (!event.defaultPrevented) {\n var _context$triggerRef$c2;\n if (!hasInteractedOutsideRef.current) (_context$triggerRef$c2 = context.triggerRef.current) === null || _context$triggerRef$c2 === void 0 || _context$triggerRef$c2.focus(); // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event)=>{\n var _props$onInteractOuts, _context$triggerRef$c3;\n (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);\n if (!event.defaultPrevented) hasInteractedOutsideRef.current = true; // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n //\n // We use `onInteractOutside` as some browsers also\n // focus on pointer down, creating the same issue.\n const target = event.target;\n const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);\n if (targetIsTrigger) event.preventDefault();\n }\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$PopoverContentImpl = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const { __scopePopover: __scopePopover , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , disableOutsidePointerEvents: disableOutsidePointerEvents , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , ...contentProps } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME, __scopePopover);\n const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover); // Make sure the whole tree has focus guards as our `Popover` may be\n // the last element in the DOM (beacuse of the `Portal`)\n $am6gm$useFocusGuards();\n return /*#__PURE__*/ $am6gm$createElement($am6gm$FocusScope, {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus\n }, /*#__PURE__*/ $am6gm$createElement($am6gm$DismissableLayer, {\n asChild: true,\n disableOutsidePointerEvents: disableOutsidePointerEvents,\n onInteractOutside: onInteractOutside,\n onEscapeKeyDown: onEscapeKeyDown,\n onPointerDownOutside: onPointerDownOutside,\n onFocusOutside: onFocusOutside,\n onDismiss: ()=>context.onOpenChange(false)\n }, /*#__PURE__*/ $am6gm$createElement($am6gm$Content, $am6gm$babelruntimehelpersesmextends({\n \"data-state\": $cb5cc270b50c6fcd$var$getState(context.open),\n role: \"dialog\",\n id: context.contentId\n }, popperScope, contentProps, {\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-popover-content-transform-origin']: 'var(--radix-popper-transform-origin)'\n }\n }))));\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverClose\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$CLOSE_NAME = 'PopoverClose';\nconst $cb5cc270b50c6fcd$export$d6ac43ebaa40d53e = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const { __scopePopover: __scopePopover , ...closeProps } = props;\n const context = $cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CLOSE_NAME, __scopePopover);\n return /*#__PURE__*/ $am6gm$createElement($am6gm$Primitive.button, $am6gm$babelruntimehelpersesmextends({\n type: \"button\"\n }, closeProps, {\n ref: forwardedRef,\n onClick: $am6gm$composeEventHandlers(props.onClick, ()=>context.onOpenChange(false)\n )\n }));\n});\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$d6ac43ebaa40d53e, {\n displayName: $cb5cc270b50c6fcd$var$CLOSE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopoverArrow\n * -----------------------------------------------------------------------------------------------*/ const $cb5cc270b50c6fcd$var$ARROW_NAME = 'PopoverArrow';\nconst $cb5cc270b50c6fcd$export$3152841115e061b2 = /*#__PURE__*/ $am6gm$forwardRef((props, forwardedRef)=>{\n const { __scopePopover: __scopePopover , ...arrowProps } = props;\n const popperScope = $cb5cc270b50c6fcd$var$usePopperScope(__scopePopover);\n return /*#__PURE__*/ $am6gm$createElement($am6gm$Arrow, $am6gm$babelruntimehelpersesmextends({}, popperScope, arrowProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cb5cc270b50c6fcd$export$3152841115e061b2, {\n displayName: $cb5cc270b50c6fcd$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $cb5cc270b50c6fcd$var$getState(open) {\n return open ? 'open' : 'closed';\n}\nconst $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9 = $cb5cc270b50c6fcd$export$5b6b19405a83ff9d;\nconst $cb5cc270b50c6fcd$export$b688253958b8dfe7 = $cb5cc270b50c6fcd$export$96e5381f42521a79;\nconst $cb5cc270b50c6fcd$export$41fb9f06171c75f4 = $cb5cc270b50c6fcd$export$7dacb05d26466c3;\nconst $cb5cc270b50c6fcd$export$602eac185826482c = $cb5cc270b50c6fcd$export$dd679ffb4362d2d4;\nconst $cb5cc270b50c6fcd$export$7c6e2c02157bb7d2 = $cb5cc270b50c6fcd$export$d7e1f420b25549ff;\nconst $cb5cc270b50c6fcd$export$f39c2d165cd861fe = $cb5cc270b50c6fcd$export$d6ac43ebaa40d53e;\nconst $cb5cc270b50c6fcd$export$21b07c8f274aebd5 = $cb5cc270b50c6fcd$export$3152841115e061b2;\n\n\n\n\nexport {$cb5cc270b50c6fcd$export$c8393c9e73286932 as createPopoverScope, $cb5cc270b50c6fcd$export$5b6b19405a83ff9d as Popover, $cb5cc270b50c6fcd$export$96e5381f42521a79 as PopoverAnchor, $cb5cc270b50c6fcd$export$7dacb05d26466c3 as PopoverTrigger, $cb5cc270b50c6fcd$export$dd679ffb4362d2d4 as PopoverPortal, $cb5cc270b50c6fcd$export$d7e1f420b25549ff as PopoverContent, $cb5cc270b50c6fcd$export$d6ac43ebaa40d53e as PopoverClose, $cb5cc270b50c6fcd$export$3152841115e061b2 as PopoverArrow, $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9 as Root, $cb5cc270b50c6fcd$export$b688253958b8dfe7 as Anchor, $cb5cc270b50c6fcd$export$41fb9f06171c75f4 as Trigger, $cb5cc270b50c6fcd$export$602eac185826482c as Portal, $cb5cc270b50c6fcd$export$7c6e2c02157bb7d2 as Content, $cb5cc270b50c6fcd$export$f39c2d165cd861fe as Close, $cb5cc270b50c6fcd$export$21b07c8f274aebd5 as Arrow};\n//# sourceMappingURL=index.module.js.map\n","import React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\n\nconst StyledContent = styled(PopoverPrimitive.Content)`\n border-radius: ${tokens.border_radius_400};\n padding: 8px;\n width: 260px;\n background-color: white;\n box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px,\n hsl(206 22% 7% / 20%) 0px 10px 20px -15px;\n`;\n\nconst StyledArrow = styled(PopoverPrimitive.Arrow)`\n fill: white;\n`;\n\nfunction Content({ children, ...props }: PopoverPrimitive.PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <StyledContent {...props}>\n {children}\n <StyledArrow />\n </StyledContent>\n </PopoverPrimitive.Portal>\n );\n}\n\nconst StyledClose = styled(PopoverPrimitive.Close)`\n all: unset;\n font-family: inherit;\n border-radius: 100%;\n height: 25px;\n width: 25px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: grey;\n position: absolute;\n top: 5px;\n right: 5px;\n`;\n\n// Exports\nexport const Popover = PopoverPrimitive.Root;\nexport const PopoverTrigger = PopoverPrimitive.Trigger;\nexport const PopoverContent = Content;\nexport const PopoverClose = StyledClose;\n","export default \"data:image/svg+xml;base64,PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8cGF0aCBkPSIgTTE5IDE1bC02IDYtMS40Mi0xLjQyTDE1LjE3IDE2SDRWNGgydjEwaDkuMTdsLTMuNTktMy41OEwxMyA5bDYgNnoiIGZpbGw9ImhzbGEoMCwgMCUsIDAlLCAwLjEyKSI+PC9wYXRoPgo8L3N2Zz4=\"","/* eslint-disable react/jsx-props-no-spreading */\nimport { Children, forwardRef, type PropsWithChildren } from 'react';\nimport {\n useBreadcrumbItem,\n useBreadcrumbs,\n type AriaBreadcrumbItemProps,\n type AriaBreadcrumbsProps,\n} from '@react-aria/breadcrumbs';\nimport styled from 'styled-components';\nimport { PopoverContent } from '@radix-ui/react-popover';\nimport { isFragment } from 'react-is';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { useObjectRef } from '@react-aria/utils';\nimport type {\n ComponentPropsWithoutStyles,\n RenameMisprefixedProps,\n} from 'helpers/typeHelpers';\nimport { Popover, PopoverTrigger } from '../Popover/Popover';\n// @ts-expect-error\nimport subArrowIcon from './sub-arrow.svg';\n\nconst BreadcrumbPopoverContent = styled(PopoverContent)`\n isolation: isolate;\n min-width: 210px;\n padding: ${tokens.sizing_350};\n background: ${tokens.color_background_white_standard}; /* Static / Background / Standard */\n box-shadow: ${tokens.elevation_interactive_high};\n border-radius: ${tokens.border_radius_800};\n\n &:focus {\n outline: 1px solid ${tokens.color_black};\n }\n`;\n\nconst BreadcrumbList = styled.ol`\n font-family: ${tokens.font_family_sans};\n display: flex;\n list-style: none;\n gap: ${tokens.sizing_200};\n\n flex-direction: row;\n padding-inline-start: 0;\n margin-inline-start: 0;\n margin-block: 0;\n\n & > li:not(:last-of-type)::after {\n content: '/';\n }\n\n & > li:last-of-type > a {\n color: ${tokens.color_text_strong};\n }\n`;\n\nconst BreadcrumbTruncatedList = styled(BreadcrumbList)`\n flex-direction: column;\n color: ${tokens.color_text_weak};\n\n & > li:last-of-type > a {\n color: inherit;\n }\n\n & > ol ol {\n margin-left: 12px;\n }\n\n & > ol li:first-of-type::before {\n content: '';\n background-image: url(${subArrowIcon});\n display: block;\n height: 1em;\n width: 1em;\n margin-left: 2px;\n background-position: initial;\n background-size: initial;\n background-repeat: initial;\n }\n`;\n\nconst BreadcrumbListItem = styled.li`\n color: ${tokens.color_text_weak};\n display: flex;\n align-items: center;\n gap: ${tokens.sizing_200};\n`;\n\n// BreadCrumbAnchor?\nconst BreadcrumbLink = styled.a`\n text-decoration: none;\n color: ${tokens.color_text_weak};\n font-style: normal;\n font-weight: 500;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_114};\n letter-spacing: ${tokens.letter_spacing_tight};\n cursor: pointer;\n border-radius: ${tokens.border_radius_400};\n padding: 2px 4px;\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear; // ??\n transition-duration: ${tokens.transition_duration_100};\n\n /* &[data-state~='current'] { */\n\n /* &[data-state~='disabled'] {\n color: ${tokens.color_text_strong};\n } */\n\n &:hover {\n background-color: ${tokens.color_overlay_secondary_hover}; /* Interactive / Overlay / Secondary / Hover */\n }\n\n &:active {\n background-color: ${tokens.color_overlay_secondary_pressed}; /* Interactive / Overlay / Secondary / Pressed */\n }\n\n &:focus {\n outline: 1px solid ${tokens.color_black};\n }\n\n &[data-state='disabled'] {\n color: ${tokens.color_fill_primary_disabled};\n }\n`;\n\nconst BreadcrumbTruncateButton = styled.button`\n appearance: none;\n cursor: pointer;\n touch-action: none;\n border: none;\n\n background-color: ${tokens.color_white};\n color: ${tokens.color_text_weak};\n border-radius: ${tokens.border_radius_400};\n padding: 2px 4px;\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear; // ??\n transition-duration: ${tokens.transition_duration_100};\n\n &:focus {\n outline: 1px solid ${tokens.color_black};\n }\n\n &:hover {\n background-color: ${tokens.color_overlay_secondary_hover}; /* Interactive / Overlay / Secondary / Hover */\n }\n\n &:active {\n background-color: ${tokens.color_overlay_secondary_pressed}; /* Interactive / Overlay / Secondary / Pressed */\n }\n`;\n\n// recursive comp\nfunction TruncatedListItems({\n truncatedItems,\n}: {\n truncatedItems: (\n | React.ReactChild\n | React.ReactFragment\n | React.ReactPortal\n )[];\n}) {\n if (truncatedItems.length > 1) {\n return (\n <BreadcrumbTruncatedList>\n {truncatedItems.slice(0, 1)}\n <TruncatedListItems truncatedItems={truncatedItems.slice(1)} />\n </BreadcrumbTruncatedList>\n );\n }\n\n return <BreadcrumbTruncatedList>{truncatedItems}</BreadcrumbTruncatedList>;\n}\n\nfunction TruncatedBreadcrumbs({\n truncatedItems,\n}: {\n truncatedItems: (\n | React.ReactChild\n | React.ReactFragment\n | React.ReactPortal\n )[];\n}) {\n return (\n <BreadcrumbListItem>\n <Popover>\n <PopoverTrigger asChild>\n <BreadcrumbTruncateButton type='button'>…</BreadcrumbTruncateButton>\n </PopoverTrigger>\n <BreadcrumbPopoverContent align='end'>\n <TruncatedListItems truncatedItems={truncatedItems} />\n </BreadcrumbPopoverContent>\n </Popover>\n </BreadcrumbListItem>\n );\n}\n\n/* React.Children is in maintenance mode.\n * ”The problem with using Children methods to change children behavior is that they only work for one\n * level of nesting of components. If we wrap one of our children in another component, we lose composability.”\n * — https://www.smashingmagazine.com/2021/08/react-children-iteration-methods/\n */\nexport const Breadcrumbs = forwardRef<\n HTMLOListElement,\n PropsWithChildren<AriaBreadcrumbsProps>\n>(({ children, ...props }, forwardedRef) => {\n const { navProps } = useBreadcrumbs(props);\n\n if (isFragment(children)) {\n console.warn(\n 'Passing a React fragment to Breadcrumbs will make it not work correctly!',\n );\n // or fail hard?\n }\n\n const childrenArray = Children.toArray(children);\n\n const maxLength = 3;\n const truncate = childrenArray.length > maxLength;\n\n if (truncate) {\n const firstItem = childrenArray[0];\n const lastItems = childrenArray.slice(-2);\n const truncatedItems = childrenArray.slice(1, -2);\n\n return (\n // <BreadCrumbContext.Provider value={childrenArray.length}>\n <nav {...navProps}>\n <BreadcrumbList ref={forwardedRef}>\n {firstItem}\n <TruncatedBreadcrumbs truncatedItems={truncatedItems} />\n {lastItems}\n </BreadcrumbList>\n </nav>\n // </BreadCrumbContext.Provider>\n );\n }\n\n return (\n <nav {...navProps}>\n <BreadcrumbList ref={forwardedRef}>{childrenArray}</BreadcrumbList>\n </nav>\n );\n});\nBreadcrumbs.displayName = 'Breadcrumbs';\n\nexport type BreadcrumbItemProps = RenameMisprefixedProps<\n AriaBreadcrumbItemProps,\n 'is',\n 'isDisabled'\n> &\n ComponentPropsWithoutStyles<'a'> & { as?: string; navigate?: any };\n\nexport const BreadcrumbItem = forwardRef<\n HTMLAnchorElement,\n BreadcrumbItemProps\n>((props, forwardedRef) => {\n const { disabled, as, navigate, ...remainingProps } = props;\n\n const ref = useObjectRef(forwardedRef);\n\n const { itemProps } = useBreadcrumbItem(\n {\n isDisabled: disabled,\n ...remainingProps,\n elementType: as,\n onPress: navigate, // navigate is to make it work with as react-router <Link />\n },\n ref,\n );\n const { children, href } = props; // isCurrent,\n\n return (\n <BreadcrumbListItem>\n {/* @ts-expect-error type struggles */}\n <BreadcrumbLink\n // @ts-expect-error\n as={as}\n {...itemProps}\n ref={ref}\n href={href}\n data-state={disabled && 'disabled'}\n >\n {children}\n </BreadcrumbLink>\n </BreadcrumbListItem>\n );\n});\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n","import {mergeProps as $cE0pI$mergeProps, filterDOMProps as $cE0pI$filterDOMProps, chain as $cE0pI$chain} from \"@react-aria/utils\";\nimport {useFocusable as $cE0pI$useFocusable} from \"@react-aria/focus\";\nimport {usePress as $cE0pI$usePress} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {\n let { elementType: elementType = \"button\" , isDisabled: isDisabled , onPress: onPress , onPressStart: onPressStart , onPressEnd: onPressEnd , onPressChange: onPressChange , preventFocusOnPress: // @ts-ignore - undocumented\n preventFocusOnPress , allowFocusWhenDisabled: // @ts-ignore - undocumented\n allowFocusWhenDisabled , // @ts-ignore\n onClick: deprecatedOnClick , href: href , target: target , rel: rel , type: type = \"button\" } = props;\n let additionalProps;\n if (elementType === \"button\") additionalProps = {\n type: type,\n disabled: isDisabled\n };\n else additionalProps = {\n role: \"button\",\n tabIndex: isDisabled ? undefined : 0,\n href: elementType === \"a\" && isDisabled ? undefined : href,\n target: elementType === \"a\" ? target : undefined,\n type: elementType === \"input\" ? type : undefined,\n disabled: elementType === \"input\" ? isDisabled : undefined,\n \"aria-disabled\": !isDisabled || elementType === \"input\" ? undefined : isDisabled,\n rel: elementType === \"a\" ? rel : undefined\n };\n let { pressProps: pressProps , isPressed: isPressed } = (0, $cE0pI$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n isDisabled: isDisabled,\n preventFocusOnPress: preventFocusOnPress,\n ref: ref\n });\n let { focusableProps: focusableProps } = (0, $cE0pI$useFocusable)(props, ref);\n if (allowFocusWhenDisabled) focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n let buttonProps = (0, $cE0pI$mergeProps)(focusableProps, pressProps, (0, $cE0pI$filterDOMProps)(props, {\n labelable: true\n }));\n return {\n isPressed: isPressed,\n buttonProps: (0, $cE0pI$mergeProps)(additionalProps, buttonProps, {\n \"aria-haspopup\": props[\"aria-haspopup\"],\n \"aria-expanded\": props[\"aria-expanded\"],\n \"aria-controls\": props[\"aria-controls\"],\n \"aria-pressed\": props[\"aria-pressed\"],\n onClick: (e)=>{\n if (deprecatedOnClick) {\n deprecatedOnClick(e);\n console.warn(\"onClick is deprecated, please use onPress\");\n }\n }\n })\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $55f54f7887471b58$export$51e84d46ca0bc451(props, state, ref) {\n const { isSelected: isSelected } = state;\n const { isPressed: isPressed , buttonProps: buttonProps } = (0, $701a24aa0da5b062$export$ea18c227d4417cc3)({\n ...props,\n onPress: (0, $cE0pI$chain)(state.toggle, props.onPress)\n }, ref);\n return {\n isPressed: isPressed,\n buttonProps: (0, $cE0pI$mergeProps)(buttonProps, {\n \"aria-pressed\": isSelected\n })\n };\n}\n\n\n\n\nexport {$701a24aa0da5b062$export$ea18c227d4417cc3 as useButton, $55f54f7887471b58$export$51e84d46ca0bc451 as useToggleButton};\n//# sourceMappingURL=module.js.map\n","import tokens from '@theroutingcompany/design-tokens';\nimport styled from 'styled-components';\nimport type { ButtonBaseProps } from './Button';\n\nconst padding = {\n small: `${tokens.spacing_200} ${tokens.spacing_300}`,\n large: `${tokens.spacing_300} ${tokens.spacing_400}`,\n} as const;\n\nexport const ButtonBase = styled.button<ButtonBaseProps>`\n appearance: none;\n border-radius: ${tokens.border_radius_400};\n border: 1px solid transparent;\n padding: ${({ paddingSize }) => padding[paddingSize]};\n font-family: ${tokens.font_family_inter};\n cursor: pointer;\n white-space: nowrap;\n max-width: ${tokens.spacing_900}; // not sure about this\n font-size: ${tokens.font_size_100};\n letter-spacing: ${tokens.letter_spacing_tight};\n // flex-shrink: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n touch-action: none;\n -webkit-tap-highlight-color: transparent;\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear; // ??\n transition-duration: ${tokens.transition_duration_100};\n\n // Not sure about this?\n &:focus-visible {\n outline: none;\n }\n\n &[data-state~='focused'] {\n outline-color: ${tokens.color_black};\n outline-style: solid;\n outline-width: 1px; // TODO make token?\n outline-offset: 2px;\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { ButtonBase } from '../ButtonBase';\n\nconst PrimaryButton = styled(ButtonBase)`\n background: white;\n color: hsl(0, 0%, 7.84%);\n border: 1px solid ${tokens.color_outline_secondary_enabled};\n\n &:hover {\n background: ${tokens.color_overlay_secondary_hover}; /* Interactive / Overlay / Secondary / Enabled */\n color: ${tokens.color_fill_primary_hover};\n border-color: ${tokens.color_outline_secondary_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_overlay_secondary_pressed};\n color: ${tokens.color_outline_secondary_pressed};\n border-color: ${tokens.color_outline_secondary_pressed};\n }\n\n &:disabled {\n color: ${tokens.color_fill_secondary_disabled};\n border-color: ${tokens.color_outline_secondary_disabled};\n }\n`;\n\nconst DangerButton = styled(ButtonBase)`\n background: white;\n color: ${tokens.color_fill_danger_enabled};\n border: 1px solid ${tokens.color_outline_danger_enabled};\n\n &:hover {\n color: ${tokens.color_fill_danger_hover};\n background: hsla(10.519, 67.54%, 55.29%, 0.06);\n }\n\n &[data-state~='pressed'] {\n background-color: hsla(10.52, 67.54%, 55.29%, 0.18);\n color: ${tokens.color_fill_danger_pressed};\n }\n\n &:disabled {\n color: ${tokens.color_fill_danger_disabled};\n }\n`;\n\nconst InverseButton = styled(ButtonBase)`\n background: ${tokens.color_overlay_inverse_enabled};\n border-color: ${tokens.color_outline_inverse_enabled};\n color: ${tokens.color_fill_inverse_enabled};\n\n &:hover {\n background: ${tokens.color_overlay_inverse_hover};\n border-color: ${tokens.color_outline_inverse_hover};\n color: ${tokens.color_fill_inverse_hover};\n }\n\n &:focus {\n background: ${tokens.color_overlay_inverse_hover};\n border-color: ${tokens.color_outline_inverse_hover};\n color: ${tokens.color_fill_inverse_hover};\n /* TODO put in tokens Interactive / Focus / Outside */\n box-shadow: 0px 0px 0px 2px white, 0px 0px 0px 4px black;\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_overlay_inverse_pressed};\n color: ${tokens.color_outline_inverse_pressed};\n }\n\n &:disabled {\n background-color: transparent;\n color: ${tokens.color_outline_inverse_disabled};\n }\n`;\n\nexport const mediumEmphasisButtons = {\n primary: PrimaryButton,\n danger: DangerButton,\n inverse: InverseButton,\n} as const;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { ButtonBase } from '../ButtonBase';\n\nconst PrimaryButton = styled(ButtonBase)`\n background: hsla(\n 217.35,\n 81.6%,\n 51%,\n 0\n ); /* Interactive / Overlay / Primary / Enabled */\n border-color: transparent;\n color: hsl(0, 0%, 7.845%);\n\n &:hover {\n background: ${tokens.color_overlay_secondary_hover};\n color: ${tokens.color_fill_primary_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_overlay_secondary_pressed};\n color: ${tokens.color_fill_primary_pressed};\n }\n\n &:disabled {\n color: ${tokens.color_fill_primary_disabled};\n }\n`;\n\nconst DangerButton = styled(ButtonBase)`\n color: ${tokens.color_fill_danger_enabled};\n background-color: hsla(217.35294117647058, 81.6%, 50.98039215686274%, 0);\n\n &:hover {\n color: ${tokens.color_fill_danger_hover};\n background: ${tokens.color_overlay_secondary_hover};\n }\n\n &:focus {\n border-color: ${tokens.color_outline_danger_enabled};\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_overlay_secondary_pressed};\n color: ${tokens.color_fill_danger_pressed};\n border-color: transparent;\n }\n\n &:disabled {\n color: ${tokens.color_fill_danger_disabled};\n }\n`;\n\nconst InverseButton = styled(ButtonBase)`\n background: ${tokens.color_overlay_inverse_enabled};\n border-color: transparent;\n color: ${tokens.color_fill_inverse_enabled};\n\n &:hover {\n background: ${tokens.color_overlay_inverse_hover};\n color: ${tokens.color_fill_inverse_hover};\n }\n\n &:focus {\n background: ${tokens.color_overlay_inverse_hover};\n /* TODO put in tokens Interactive / Focus / Outside */\n box-shadow: 0px 0px 0px 2px white, 0px 0px 0px 4px black;\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_overlay_inverse_pressed};\n color: ${tokens.color_fill_inverse_pressed};\n }\n\n &:disabled {\n background-color: ${tokens.color_fill_inverse_disabled};\n color: ${tokens.color_outline_inverse_disabled};\n }\n`;\n\nexport const lowEmphasisButtons = {\n primary: PrimaryButton,\n danger: DangerButton,\n inverse: InverseButton,\n} as const;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\n\nimport tokens from '@theroutingcompany/design-tokens';\nimport { ButtonBase } from '../ButtonBase';\n\nconst PrimaryButton = styled(ButtonBase)`\n background: ${tokens.color_fill_primary_enabled};\n color: ${tokens.color_white};\n\n &:hover {\n background: ${tokens.color_fill_primary_hover};\n color: ${tokens.color_fill_inverse_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_fill_primary_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_primary_disabled};\n color: ${tokens.color_fill_inverse_pressed};\n }\n`;\n\nconst SecondaryButton = styled(ButtonBase)`\n background: ${tokens.color_fill_secondary_enabled};\n color: ${tokens.color_fill_primary_enabled};\n\n &:hover {\n background: ${tokens.color_fill_secondary_hover};\n color: ${tokens.color_fill_primary_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_fill_secondary_pressed};\n color: ${tokens.color_fill_primary_enabled};\n }\n\n &:disabled {\n background: ${tokens.color_fill_secondary_disabled};\n }\n`;\n\nconst DangerButton = styled(ButtonBase)`\n background: ${tokens.color_fill_danger_enabled};\n color: ${tokens.color_white};\n\n &:hover {\n color: ${tokens.color_fill_inverse_hover};\n background: ${tokens.color_fill_danger_hover};\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_fill_danger_pressed};\n color: ${tokens.color_fill_inverse_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_danger_disabled};\n }\n`;\n\nconst InverseButton = styled(ButtonBase)`\n background: ${tokens.color_white};\n\n &:hover {\n background-color: ${tokens.color_fill_inverse_hover};\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_fill_inverse_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_inverse_disabled};\n }\n`;\n\nexport const highEmphasisButtons = {\n primary: PrimaryButton,\n secondary: SecondaryButton,\n danger: DangerButton,\n inverse: InverseButton,\n} as const;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport {\n forwardRef,\n type ComponentPropsWithRef,\n type PropsWithChildren,\n} from 'react';\nimport { useButton, type AriaButtonProps } from '@react-aria/button';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useObjectRef } from '@react-aria/utils';\n\nimport type { RenameMisprefixedProps } from 'helpers';\nimport { mediumEmphasisButtons } from './MediumEmphasisButton/MediumEmphasisButton';\nimport { lowEmphasisButtons } from './LowEmphasisButton/LowEmphasisButton';\nimport { highEmphasisButtons } from './HighEmphasisButton/HighEmphasisButton';\n\ntype Variant = 'primary' | 'secondary' | 'danger' | 'inverse';\ntype Size = 'small' | 'large';\n\ntype ButtonDesignProps =\n | {\n emphasis?: 'low';\n variant?: 'primary' | 'danger' | 'inverse';\n size?: Size;\n }\n | {\n emphasis?: 'medium';\n variant?: 'primary' | 'danger' | 'inverse';\n size?: Size;\n }\n | {\n emphasis?: 'high';\n variant?: Variant;\n size?: Size;\n };\n\nexport type ButtonBaseProps = { paddingSize: Size };\n\nconst emphases = {\n low: lowEmphasisButtons,\n medium: mediumEmphasisButtons,\n high: highEmphasisButtons,\n};\n\ntype ReactAriaProps = RenameMisprefixedProps<\n AriaButtonProps,\n 'is',\n 'isDisabled'\n>;\n\nexport type ButtonProps = PropsWithChildren<ButtonDesignProps> &\n ComponentPropsWithRef<'button'> &\n ReactAriaProps; // Not sure whether certain props of these two clash\n\n// TODO rename react-aria boolean names to plain html attr names\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, forwardedRef) => {\n const {\n size = 'small',\n variant = 'primary',\n emphasis = 'high',\n disabled: isDisabled = false,\n onClick,\n autoFocus,\n children,\n ...remainingProps\n } = props;\n\n const ref = useObjectRef(forwardedRef); // https://github.com/adobe/react-spectrum/issues/834\n\n const { buttonProps, isPressed } = useButton(\n // @ts-expect-error\n { onPress: onClick, isDisabled, autoFocus, ...remainingProps }, // TODO look into TS error\n ref,\n );\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n\n // Validate size & variant here and warn if incorrect? Rely only on TS?\n const focusState = isFocusVisible ? 'focused' : undefined;\n const pressedState = isPressed ? 'pressed' : undefined;\n const dataState = [focusState, pressedState].filter(Boolean).join(' ');\n\n const variantButton = emphases[emphasis];\n const ButtonComp = variantButton[variant]; // With incorrect variant this leads to a runtime error. Fail in incorrect variant or add: ?? \"button\" as fallback\n\n return (\n <ButtonComp\n ref={ref}\n data-state={dataState}\n paddingSize={size} // use a CSS variable?\n {...remainingProps}\n {...buttonProps}\n {...focusProps}\n >\n {children}\n </ButtonComp>\n );\n },\n);\nButton.displayName = 'Button';\n","import {useRef as $8LvvK$useRef, useMemo as $8LvvK$useMemo} from \"react\";\n\n\nfunction $010c2913dbd2fe3d$export$5cae361ad82dce8b(value) {\n const ref = $8LvvK$useRef({\n value: value,\n previous: value\n }); // We compare values before making an update to ensure that\n // a change has been made. This ensures the previous value is\n // persisted correctly between renders.\n return $8LvvK$useMemo(()=>{\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [\n value\n ]);\n}\n\n\n\n\nexport {$010c2913dbd2fe3d$export$5cae361ad82dce8b as usePrevious};\n//# sourceMappingURL=index.module.js.map\n","import $1bpvS$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $1bpvS$forwardRef, useState as $1bpvS$useState, useRef as $1bpvS$useRef, createElement as $1bpvS$createElement, useEffect as $1bpvS$useEffect} from \"react\";\nimport {useComposedRefs as $1bpvS$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $1bpvS$createContextScope} from \"@radix-ui/react-context\";\nimport {composeEventHandlers as $1bpvS$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useControllableState as $1bpvS$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {usePrevious as $1bpvS$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {useSize as $1bpvS$useSize} from \"@radix-ui/react-use-size\";\nimport {Presence as $1bpvS$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $1bpvS$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox\n * -----------------------------------------------------------------------------------------------*/ const $e698a72e93240346$var$CHECKBOX_NAME = 'Checkbox';\nconst [$e698a72e93240346$var$createCheckboxContext, $e698a72e93240346$export$b566c4ff5488ea01] = $1bpvS$createContextScope($e698a72e93240346$var$CHECKBOX_NAME);\nconst [$e698a72e93240346$var$CheckboxProvider, $e698a72e93240346$var$useCheckboxContext] = $e698a72e93240346$var$createCheckboxContext($e698a72e93240346$var$CHECKBOX_NAME);\nconst $e698a72e93240346$export$48513f6b9f8ce62d = /*#__PURE__*/ $1bpvS$forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox: __scopeCheckbox , name: name , checked: checkedProp , defaultChecked: defaultChecked , required: required , disabled: disabled , value: value = 'on' , onCheckedChange: onCheckedChange , ...checkboxProps } = props;\n const [button, setButton] = $1bpvS$useState(null);\n const composedRefs = $1bpvS$useComposedRefs(forwardedRef, (node)=>setButton(node)\n );\n const hasConsumerStoppedPropagationRef = $1bpvS$useRef(false); // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n const [checked = false, setChecked] = $1bpvS$useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /*#__PURE__*/ $1bpvS$createElement($e698a72e93240346$var$CheckboxProvider, {\n scope: __scopeCheckbox,\n state: checked,\n disabled: disabled\n }, /*#__PURE__*/ $1bpvS$createElement($1bpvS$Primitive.button, $1bpvS$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": $e698a72e93240346$var$isIndeterminate(checked) ? 'mixed' : checked,\n \"aria-required\": required,\n \"data-state\": $e698a72e93240346$var$getState(checked),\n \"data-disabled\": disabled ? '' : undefined,\n disabled: disabled,\n value: value\n }, checkboxProps, {\n ref: composedRefs,\n onKeyDown: $1bpvS$composeEventHandlers(props.onKeyDown, (event)=>{\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n }),\n onClick: $1bpvS$composeEventHandlers(props.onClick, (event)=>{\n setChecked((prevChecked)=>$e698a72e93240346$var$isIndeterminate(prevChecked) ? true : !prevChecked\n );\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); // if checkbox is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect checkbox updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n })), isFormControl && /*#__PURE__*/ $1bpvS$createElement($e698a72e93240346$var$BubbleInput, {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name: name,\n value: value,\n checked: checked,\n required: required,\n disabled: disabled // We transform because the input is absolutely positioned but we have\n ,\n style: {\n transform: 'translateX(-100%)'\n }\n }));\n});\n/*#__PURE__*/ Object.assign($e698a72e93240346$export$48513f6b9f8ce62d, {\n displayName: $e698a72e93240346$var$CHECKBOX_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * CheckboxIndicator\n * -----------------------------------------------------------------------------------------------*/ const $e698a72e93240346$var$INDICATOR_NAME = 'CheckboxIndicator';\nconst $e698a72e93240346$export$59aad738f51d1c05 = /*#__PURE__*/ $1bpvS$forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox: __scopeCheckbox , forceMount: forceMount , ...indicatorProps } = props;\n const context = $e698a72e93240346$var$useCheckboxContext($e698a72e93240346$var$INDICATOR_NAME, __scopeCheckbox);\n return /*#__PURE__*/ $1bpvS$createElement($1bpvS$Presence, {\n present: forceMount || $e698a72e93240346$var$isIndeterminate(context.state) || context.state === true\n }, /*#__PURE__*/ $1bpvS$createElement($1bpvS$Primitive.span, $1bpvS$babelruntimehelpersesmextends({\n \"data-state\": $e698a72e93240346$var$getState(context.state),\n \"data-disabled\": context.disabled ? '' : undefined\n }, indicatorProps, {\n ref: forwardedRef,\n style: {\n pointerEvents: 'none',\n ...props.style\n }\n })));\n});\n/*#__PURE__*/ Object.assign($e698a72e93240346$export$59aad738f51d1c05, {\n displayName: $e698a72e93240346$var$INDICATOR_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $e698a72e93240346$var$BubbleInput = (props)=>{\n const { control: control , checked: checked , bubbles: bubbles = true , ...inputProps } = props;\n const ref = $1bpvS$useRef(null);\n const prevChecked = $1bpvS$usePrevious(checked);\n const controlSize = $1bpvS$useSize(control); // Bubble checked change to parents (e.g form change event)\n $1bpvS$useEffect(()=>{\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked');\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', {\n bubbles: bubbles\n });\n input.indeterminate = $e698a72e93240346$var$isIndeterminate(checked);\n setChecked.call(input, $e698a72e93240346$var$isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [\n prevChecked,\n checked,\n bubbles\n ]);\n return /*#__PURE__*/ $1bpvS$createElement(\"input\", $1bpvS$babelruntimehelpersesmextends({\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: $e698a72e93240346$var$isIndeterminate(checked) ? false : checked\n }, inputProps, {\n tabIndex: -1,\n ref: ref,\n style: {\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0\n }\n }));\n};\nfunction $e698a72e93240346$var$isIndeterminate(checked) {\n return checked === 'indeterminate';\n}\nfunction $e698a72e93240346$var$getState(checked) {\n return $e698a72e93240346$var$isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\nconst $e698a72e93240346$export$be92b6f5f03c0fe9 = $e698a72e93240346$export$48513f6b9f8ce62d;\nconst $e698a72e93240346$export$adb584737d712b70 = $e698a72e93240346$export$59aad738f51d1c05;\n\n\n\n\nexport {$e698a72e93240346$export$b566c4ff5488ea01 as createCheckboxScope, $e698a72e93240346$export$48513f6b9f8ce62d as Checkbox, $e698a72e93240346$export$59aad738f51d1c05 as CheckboxIndicator, $e698a72e93240346$export$be92b6f5f03c0fe9 as Root, $e698a72e93240346$export$adb584737d712b70 as Indicator};\n//# sourceMappingURL=index.module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport { createContext, useContext } from 'react';\nimport type { ComponentPropsWithoutStyles } from 'helpers/typeHelpers';\n\n// !!!!!!!!!!!!!!!!\n// The context makes storybook fail for some yet unknown reason\n// !!!!!!!!!!!!!!!!\nconst FieldsetContext = createContext(false);\nFieldsetContext.displayName = 'FieldsetContext';\n\nexport const StyledFieldSet = styled.fieldset`\n padding: 0;\n border: none;\n`;\n\n/** Adding disabled to <fieldset> will disable all inputs inside it HTML wise,\n * the problem is that React won't know about that they the input components are disabled (prop-wise)\n * This 'compound component' makes it known to child input components via React context (for example for react-aria input hooks)\n */\nexport function Fieldset({\n children,\n disabled,\n ...fieldsetProps\n}: ComponentPropsWithoutStyles<'fieldset'>) {\n // Nested fieldsets are disabled if any parent fieldset is disabled.\n const disabledByFieldset = useFieldset();\n\n const isDisabled = disabledByFieldset || Boolean(disabled);\n\n return (\n <FieldsetContext.Provider value={isDisabled}>\n <StyledFieldSet disabled={disabled} {...fieldsetProps}>\n {children}\n </StyledFieldSet>\n </FieldsetContext.Provider>\n );\n}\n\nexport function useFieldset() {\n // If React can’t find any providers of that particular context in the parent tree,\n // the context value returned by useContext() will be equal to the default value that specified when, in this case false.\n return useContext(FieldsetContext);\n}\n","import {useSlotId as $iD7q0$useSlotId, mergeProps as $iD7q0$mergeProps, useId as $iD7q0$useId, useLabels as $iD7q0$useLabels} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $d191a55c9702f145$export$8467354a121f1b9f(props) {\n let { id: id , label: label , \"aria-labelledby\": ariaLabelledby , \"aria-label\": ariaLabel , labelElementType: labelElementType = \"label\" } = props;\n id = (0, $iD7q0$useId)(id);\n let labelId = (0, $iD7q0$useId)();\n let labelProps = {};\n if (label) {\n ariaLabelledby = ariaLabelledby ? `${ariaLabelledby} ${labelId}` : labelId;\n labelProps = {\n id: labelId,\n htmlFor: labelElementType === \"label\" ? id : undefined\n };\n } else if (!ariaLabelledby && !ariaLabel) console.warn(\"If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility\");\n let fieldProps = (0, $iD7q0$useLabels)({\n id: id,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps\n };\n}\n\n\n\nfunction $2baaea4c71418dea$export$294aa081a6c6f55d(props) {\n let { description: description , errorMessage: errorMessage , validationState: validationState } = props;\n let { labelProps: labelProps , fieldProps: fieldProps } = (0, $d191a55c9702f145$export$8467354a121f1b9f)(props);\n let descriptionId = (0, $iD7q0$useSlotId)([\n Boolean(description),\n Boolean(errorMessage),\n validationState\n ]);\n let errorMessageId = (0, $iD7q0$useSlotId)([\n Boolean(description),\n Boolean(errorMessage),\n validationState\n ]);\n fieldProps = (0, $iD7q0$mergeProps)(fieldProps, {\n \"aria-describedby\": [\n descriptionId,\n // Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268\n errorMessageId,\n props[\"aria-describedby\"]\n ].filter(Boolean).join(\" \") || undefined\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps,\n descriptionProps: {\n id: descriptionId\n },\n errorMessageProps: {\n id: errorMessageId\n }\n };\n}\n\n\n\n\n\nexport {$2baaea4c71418dea$export$294aa081a6c6f55d as useField, $d191a55c9702f145$export$8467354a121f1b9f as useLabel};\n//# sourceMappingURL=module.js.map\n","import {filterDOMProps as $kOq5K$filterDOMProps, mergeProps as $kOq5K$mergeProps} from \"@react-aria/utils\";\nimport {useField as $kOq5K$useField} from \"@react-aria/label\";\nimport {useFocusable as $kOq5K$useFocusable} from \"@react-aria/focus\";\nimport {useRef as $kOq5K$useRef, useEffect as $kOq5K$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {\n let { inputElementType: inputElementType = \"input\" , isDisabled: isDisabled = false , isRequired: isRequired = false , isReadOnly: isReadOnly = false , validationState: validationState , type: type = \"text\" , onChange: onChange = ()=>{} } = props;\n let { focusableProps: focusableProps } = (0, $kOq5K$useFocusable)(props, ref);\n let { labelProps: labelProps , fieldProps: fieldProps , descriptionProps: descriptionProps , errorMessageProps: errorMessageProps } = (0, $kOq5K$useField)(props);\n let domProps = (0, $kOq5K$filterDOMProps)(props, {\n labelable: true\n });\n const inputOnlyProps = {\n type: type,\n pattern: props.pattern\n };\n return {\n labelProps: labelProps,\n inputProps: (0, $kOq5K$mergeProps)(domProps, inputElementType === \"input\" && inputOnlyProps, {\n disabled: isDisabled,\n readOnly: isReadOnly,\n \"aria-required\": isRequired || undefined,\n \"aria-invalid\": validationState === \"invalid\" || undefined,\n \"aria-errormessage\": props[\"aria-errormessage\"],\n \"aria-activedescendant\": props[\"aria-activedescendant\"],\n \"aria-autocomplete\": props[\"aria-autocomplete\"],\n \"aria-haspopup\": props[\"aria-haspopup\"],\n value: props.value,\n defaultValue: props.value ? undefined : props.defaultValue,\n onChange: (e)=>onChange(e.target.value),\n autoComplete: props.autoComplete,\n maxLength: props.maxLength,\n minLength: props.minLength,\n name: props.name,\n placeholder: props.placeholder,\n inputMode: props.inputMode,\n // Clipboard events\n onCopy: props.onCopy,\n onCut: props.onCut,\n onPaste: props.onPaste,\n // Composition events\n onCompositionEnd: props.onCompositionEnd,\n onCompositionStart: props.onCompositionStart,\n onCompositionUpdate: props.onCompositionUpdate,\n // Selection events\n onSelect: props.onSelect,\n // Input events\n onBeforeInput: props.onBeforeInput,\n onInput: props.onInput,\n ...focusableProps,\n ...fieldProps\n }),\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps\n };\n}\n\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $d841c8010a73d545$var$supportsNativeBeforeInputEvent() {\n return typeof window !== \"undefined\" && window.InputEvent && // @ts-ignore\n typeof InputEvent.prototype.getTargetRanges === \"function\";\n}\nfunction $d841c8010a73d545$export$4f384c9210e583c3(props, state, inputRef) {\n let stateRef = (0, $kOq5K$useRef)(state);\n stateRef.current = state;\n // All browsers implement the 'beforeinput' event natively except Firefox\n // (currently behind a flag as of Firefox 84). React's polyfill does not\n // run in all cases that the native event fires, e.g. when deleting text.\n // Use the native event if available so that we can prevent invalid deletions.\n // We do not attempt to polyfill this in Firefox since it would be very complicated,\n // the benefit of doing so is fairly minor, and it's going to be natively supported soon.\n (0, $kOq5K$useEffect)(()=>{\n if (!$d841c8010a73d545$var$supportsNativeBeforeInputEvent()) return;\n let input = inputRef.current;\n let onBeforeInput = (e)=>{\n let state = stateRef.current;\n // Compute the next value of the input if the event is allowed to proceed.\n // See https://www.w3.org/TR/input-events-2/#interface-InputEvent-Attributes for a full list of input types.\n let nextValue;\n switch(e.inputType){\n case \"historyUndo\":\n case \"historyRedo\":\n // Explicitly allow undo/redo. e.data is null in this case, but there's no need to validate,\n // because presumably the input would have already been validated previously.\n return;\n case \"deleteContent\":\n case \"deleteByCut\":\n case \"deleteByDrag\":\n nextValue = input.value.slice(0, input.selectionStart) + input.value.slice(input.selectionEnd);\n break;\n case \"deleteContentForward\":\n // This is potentially incorrect, since the browser may actually delete more than a single UTF-16\n // character. In reality, a full Unicode grapheme cluster consisting of multiple UTF-16 characters\n // or code points may be deleted. However, in our currently supported locales, there are no such cases.\n // If we support additional locales in the future, this may need to change.\n nextValue = input.selectionEnd === input.selectionStart ? input.value.slice(0, input.selectionStart) + input.value.slice(input.selectionEnd + 1) : input.value.slice(0, input.selectionStart) + input.value.slice(input.selectionEnd);\n break;\n case \"deleteContentBackward\":\n nextValue = input.selectionEnd === input.selectionStart ? input.value.slice(0, input.selectionStart - 1) + input.value.slice(input.selectionStart) : input.value.slice(0, input.selectionStart) + input.value.slice(input.selectionEnd);\n break;\n case \"deleteSoftLineBackward\":\n case \"deleteHardLineBackward\":\n nextValue = input.value.slice(input.selectionStart);\n break;\n default:\n if (e.data != null) nextValue = input.value.slice(0, input.selectionStart) + e.data + input.value.slice(input.selectionEnd);\n break;\n }\n // If we did not compute a value, or the new value is invalid, prevent the event\n // so that the browser does not update the input text, move the selection, or add to\n // the undo/redo stack.\n if (nextValue == null || !state.validate(nextValue)) e.preventDefault();\n };\n input.addEventListener(\"beforeinput\", onBeforeInput, false);\n return ()=>{\n input.removeEventListener(\"beforeinput\", onBeforeInput, false);\n };\n }, [\n inputRef,\n stateRef\n ]);\n let onBeforeInput = !$d841c8010a73d545$var$supportsNativeBeforeInputEvent() ? (e)=>{\n let nextValue = e.target.value.slice(0, e.target.selectionStart) + e.data + e.target.value.slice(e.target.selectionEnd);\n if (!state.validate(nextValue)) e.preventDefault();\n } : null;\n let { labelProps: labelProps , inputProps: textFieldProps , descriptionProps: descriptionProps , errorMessageProps: errorMessageProps } = (0, $2d73ec29415bd339$export$712718f7aec83d5)(props, inputRef);\n let compositionStartState = (0, $kOq5K$useRef)(null);\n return {\n inputProps: (0, $kOq5K$mergeProps)(textFieldProps, {\n onBeforeInput: onBeforeInput,\n onCompositionStart () {\n // Chrome does not implement Input Events Level 2, which specifies the insertFromComposition\n // and deleteByComposition inputType values for the beforeinput event. These are meant to occur\n // at the end of a composition (e.g. Pinyin IME, Android auto correct, etc.), and crucially, are\n // cancelable. The insertCompositionText and deleteCompositionText input types are not cancelable,\n // nor would we want to cancel them because the input from the user is incomplete at that point.\n // In Safari, insertFromComposition/deleteFromComposition will fire, however, allowing us to cancel\n // the final composition result if it is invalid. As a fallback for Chrome and Firefox, which either\n // don't support Input Events Level 2, or beforeinput at all, we store the state of the input when\n // the compositionstart event fires, and undo the changes in compositionend (below) if it is invalid.\n // Unfortunately, this messes up the undo/redo stack, but until insertFromComposition/deleteByComposition\n // are implemented, there is no other way to prevent composed input.\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=1022204\n let { value: value , selectionStart: selectionStart , selectionEnd: selectionEnd } = inputRef.current;\n compositionStartState.current = {\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n };\n },\n onCompositionEnd () {\n if (!state.validate(inputRef.current.value)) {\n // Restore the input value in the DOM immediately so we can synchronously update the selection position.\n // But also update the value in React state as well so it is correct for future updates.\n let { value: value , selectionStart: selectionStart , selectionEnd: selectionEnd } = compositionStartState.current;\n inputRef.current.value = value;\n inputRef.current.setSelectionRange(selectionStart, selectionEnd);\n state.setInputValue(value);\n }\n }\n }),\n labelProps: labelProps,\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps\n };\n}\n\n\n\n\nexport {$2d73ec29415bd339$export$712718f7aec83d5 as useTextField, $d841c8010a73d545$export$4f384c9210e583c3 as useFormattedTextField};\n//# sourceMappingURL=module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\nimport type { ComponentPropsWithoutStyles } from 'helpers/typeHelpers';\n\n// Make a FormLabel component with display: flex?\n\nconst LabelBase = styled.label`\n font-family: ${tokens.font_family_sans};\n margin: 0;\n font-style: normal;\n display: var(--label-display); /* make it a prop? inline, inline flex */\n gap: 9.33px;\n align-items: center;\n font-weight: var(--label-font-weight, 400);\n color: ${tokens.color_background_black_standard};\n`;\n\nconst SmallLabel = styled(LabelBase)`\n font-size: ${tokens.font_size_label_small};\n letter-spacing: ${tokens.letter_spacing_label_small};\n line-height: ${tokens.line_height_label_small};\n`;\n\nconst LargeLabel = styled(LabelBase)`\n font-size: ${tokens.font_size_label_large};\n letter-spacing: ${tokens.letter_spacing_label_large};\n line-height: ${tokens.line_height_label_large};\n`;\n\nconst MediumLabel = styled(LabelBase)`\n font-size: ${tokens.font_size_label_medium};\n letter-spacing: ${tokens.letter_spacing_label_medium};\n line-height: ${tokens.line_height_label_medium};\n`;\n\nconst labelComps = {\n small: SmallLabel,\n medium: MediumLabel,\n large: LargeLabel,\n};\n\ninterface LabelProps extends ComponentPropsWithoutStyles<'label'> {\n size?: 'small' | 'medium' | 'large';\n bold?: boolean;\n display?: 'flex' | 'inline-flex' | 'inline' | 'black';\n}\n\nexport function Label({\n children,\n bold,\n size = 'small',\n display = 'inline',\n ...labelProps\n}: LabelProps) {\n const LabelComp = labelComps[size];\n const fontWeight = bold ? 500 : 400;\n\n // useLabel\n\n return (\n <LabelComp\n {...labelProps}\n // @ts-expect-error\n style={{ '--label-font-weight': fontWeight, '--label-display': display }}\n >\n {children}\n </LabelComp>\n );\n}\n\n// TooltipIconLabel\n/* export function LabelWithTooltip({ children }) {\n return (\n <Label display=\"flex\">\n {children}\n <IconTooltip></IconTooltip>\n </Label>\n );\n} */\n","import styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\n\nexport type InputSize = 'small' | 'large';\n\nexport type InputBaseProps = {\n paddingSize?: InputSize;\n};\n\n// Hmmmm\nconst padding = {\n small: '7px 8px',\n large: '11px 12px',\n} as const;\n\nexport const InputBase = styled.input<InputBaseProps>`\n padding: ${({ paddingSize = 'small' }) =>\n padding[paddingSize]}; // add default?\n appearance: none;\n border: 1px solid ${tokens.color_outline_secondary_enabled};\n border-radius: ${tokens.border_radius_400};\n line-height: ${tokens.line_height_body_medium};\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear;\n transition-duration: ${tokens.transition_duration_100};\n\n resize: none; // TODO make this toggleable with a prop\n font-family: ${tokens.font_family_inter};\n\n &::placeholder {\n font-weight: 400;\n color: ${tokens.color_text_weak};\n font-size: ${tokens.font_size_100};\n }\n\n &:hover {\n background-color: ${tokens.color_overlay_secondary_hover};\n border-color: ${tokens.color_outline_secondary_hover};\n }\n\n &[data-state='invalid'],\n &:invalid {\n border-color: ${tokens.color_outline_danger_enabled};\n }\n\n /* TODO! */\n /* :read-only Ask designers? */\n\n /* &:active too? */\n &:focus {\n background-color: ${tokens.color_overlay_secondary_enabled};\n outline: 1px solid ${tokens.color_black};\n /* border-color: ${tokens.color_black}; */\n }\n\n &:disabled {\n /* border-color: ${tokens.color_outline_secondary_disabled}; */\n color: ${tokens.color_fill_primary_disabled};\n cursor: not-allowed;\n border-color: revert;\n }\n\n &:disabled::placeholder {\n color: ${tokens.color_fill_primary_disabled};\n }\n`;\n\nexport const InputWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n gap: ${tokens.sizing_200};\n position: relative;\n font-family: ${tokens.font_family_inter};\n font-style: normal;\n font-weight: 400;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_129};\n border-radius: ${tokens.border_radius_400};\n letter-spacing: ${tokens.letter_spacing_tight};\n\n /* display: flex; */\n /* align-items: center; */\n /* max-width: 300px; make configurable with prop? */\n`;\n\nexport const InputErrorMessage = styled.div`\n display: flex;\n align-items: center;\n gap: 5.33px; // TODO update sizing this is 1/3rem\n color: ${tokens.color_text_sentiment_negative};\n font-size: ${tokens.font_size_50};\n font-family: ${tokens.font_family_sans};\n /* max-height? with overflow-x? */\n\n & > svg {\n font-size: ${tokens.font_size_200};\n line-height: 0;\n /* display: inline-flex;\n align-self: center; */\n }\n`;\n\nexport const InputDescription = styled.div`\n color: ${tokens.color_text_weak};\n font-size: ${tokens.font_size_50};\n line-height: ${tokens.line_height_133};\n font-family: ${tokens.font_family_sans};\n /* max-height? with overflow-x? */\n`;\n\nexport const EndIconWrapper = styled.div`\n position: absolute;\n right: 8px;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n`;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport {\n cloneElement,\n forwardRef,\n isValidElement,\n type ReactNode,\n} from 'react';\nimport { useTextField, type AriaTextFieldOptions } from '@react-aria/textfield';\nimport { useObjectRef } from '@react-aria/utils';\nimport { Error as ErrorIcon } from '@material-ui/icons';\n\nimport { Label } from 'components/Label/Label';\nimport { useFieldset } from 'components/Fieldset/Fieldset';\nimport type {\n ComponentPropsWithoutStyles,\n RenameBooleanProps,\n} from 'helpers/typeHelpers';\nimport {\n InputBase,\n InputDescription,\n InputErrorMessage,\n InputWrapper,\n type InputBaseProps,\n} from '../InputBase';\n\ntype ReactAriaInputProps = Omit<\n RenameBooleanProps<AriaTextFieldOptions<'input'>>,\n 'inputElementType'\n>;\n\nexport type TextInputProps = ReactAriaInputProps &\n InputBaseProps &\n ComponentPropsWithoutStyles<'input'>;\n\n// make startIcon and endIcon a prop?\n// follow react-aria naming scheme or plain DOM attribute names? (DOM attributes!)\n// Make it possible to pass label element?\n// rename size? It's also a native input attribute, see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-size\n// Restrict 'type' attribute in types?\n// if an errorMessage is passed display invalid state. Add data-state='invalid'? Trigger it natively if possible?\n// Add props for description and errormesssage divs?\n// Custom description and errormesssage components?\n// Allow custom icon in error message?\n\n// Maybe just make a seperate TextArea input to avoid the type tangel\n/**\n * 1. With custom label element as prop\n * ```jsx\n * <TextInput label={<Label>Label text</Label>} />\n * ```\n *\n * 2. With string label as prop\n * ```jsx\n * <TextInput label=\"Label text\" />\n * ```\n *\n * 3. Wrapped by <label>\n * ```jsx\n * <label>\n * Label text\n * <TextInput />\n * </label>\n * ```\n */\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n (props, forwardedRef) => {\n const {\n errorMessage,\n description,\n disabled,\n readOnly,\n required,\n paddingSize = 'small', // size is also native input attribute https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size\n label,\n validationState,\n placeholder = 'Enter text...',\n ...remainingProps\n } = props;\n\n const inputRef = useObjectRef(forwardedRef);\n const disabledByFieldset = useFieldset();\n const isDisabled = disabled || disabledByFieldset;\n\n const { labelProps, descriptionProps, inputProps, errorMessageProps } =\n useTextField(\n {\n ...remainingProps,\n isDisabled,\n isReadOnly: readOnly,\n isRequired: required,\n placeholder,\n label,\n },\n inputRef,\n );\n\n let labelEl: ReactNode = null;\n\n if (typeof label === 'string') {\n labelEl = <Label {...labelProps}>{label}</Label>;\n } else if (isValidElement(label)) {\n // has to be <label> tho, not sure about the cloneElement approach\n labelEl = cloneElement(label, { ...labelProps });\n }\n\n return (\n // TODO Use a <Flex> component instead of <InputWrapper/> here? Make InputWrapper extend a Flex comp: const InputWrapper = styled(Flex)\n <InputWrapper>\n {labelEl}\n <InputBase\n data-state={validationState}\n paddingSize={paddingSize}\n ref={inputRef}\n placeholder='Enter...'\n type='text'\n {...inputProps}\n />\n {errorMessage && (\n <InputErrorMessage {...errorMessageProps}>\n <ErrorIcon />\n {errorMessage}\n </InputErrorMessage>\n )}\n {description && (\n <InputDescription {...descriptionProps}>\n {description}\n </InputDescription>\n )}\n </InputWrapper>\n );\n },\n);\nTextInput.displayName = 'TextInput';\n","import $8wepK$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $8wepK$useState, useRef as $8wepK$useRef, useEffect as $8wepK$useEffect, createElement as $8wepK$createElement, useCallback as $8wepK$useCallback, useMemo as $8wepK$useMemo, forwardRef as $8wepK$forwardRef} from \"react\";\nimport {composeEventHandlers as $8wepK$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $8wepK$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $8wepK$createContextScope} from \"@radix-ui/react-context\";\nimport {DismissableLayer as $8wepK$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {useId as $8wepK$useId} from \"@radix-ui/react-id\";\nimport {createPopperScope as $8wepK$createPopperScope, Root as $8wepK$Root, Anchor as $8wepK$Anchor, Content as $8wepK$Content, Arrow as $8wepK$Arrow} from \"@radix-ui/react-popper\";\nimport {Portal as $8wepK$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $8wepK$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $8wepK$Primitive} from \"@radix-ui/react-primitive\";\nimport {Slottable as $8wepK$Slottable} from \"@radix-ui/react-slot\";\nimport {useControllableState as $8wepK$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {Root as $8wepK$Root1} from \"@radix-ui/react-visually-hidden\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst [$a093c7e1ec25a057$var$createTooltipContext, $a093c7e1ec25a057$export$1c540a2224f0d865] = $8wepK$createContextScope('Tooltip', [\n $8wepK$createPopperScope\n]);\nconst $a093c7e1ec25a057$var$usePopperScope = $8wepK$createPopperScope();\n/* -------------------------------------------------------------------------------------------------\n * TooltipProvider\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$PROVIDER_NAME = 'TooltipProvider';\nconst $a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION = 700;\nconst $a093c7e1ec25a057$var$TOOLTIP_OPEN = 'tooltip.open';\nconst [$a093c7e1ec25a057$var$TooltipProviderContextProvider, $a093c7e1ec25a057$var$useTooltipProviderContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PROVIDER_NAME);\nconst $a093c7e1ec25a057$export$f78649fb9ca566b8 = (props)=>{\n const { __scopeTooltip: __scopeTooltip , delayDuration: delayDuration = $a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION , skipDelayDuration: skipDelayDuration = 300 , disableHoverableContent: disableHoverableContent = false , children: children } = props;\n const [isOpenDelayed, setIsOpenDelayed] = $8wepK$useState(true);\n const isPointerInTransitRef = $8wepK$useRef(false);\n const skipDelayTimerRef = $8wepK$useRef(0);\n $8wepK$useEffect(()=>{\n const skipDelayTimer = skipDelayTimerRef.current;\n return ()=>window.clearTimeout(skipDelayTimer)\n ;\n }, []);\n return /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$TooltipProviderContextProvider, {\n scope: __scopeTooltip,\n isOpenDelayed: isOpenDelayed,\n delayDuration: delayDuration,\n onOpen: $8wepK$useCallback(()=>{\n window.clearTimeout(skipDelayTimerRef.current);\n setIsOpenDelayed(false);\n }, []),\n onClose: $8wepK$useCallback(()=>{\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(()=>setIsOpenDelayed(true)\n , skipDelayDuration);\n }, [\n skipDelayDuration\n ]),\n isPointerInTransitRef: isPointerInTransitRef,\n onPointerInTransitChange: $8wepK$useCallback((inTransit)=>{\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent: disableHoverableContent\n }, children);\n};\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$f78649fb9ca566b8, {\n displayName: $a093c7e1ec25a057$var$PROVIDER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$TOOLTIP_NAME = 'Tooltip';\nconst [$a093c7e1ec25a057$var$TooltipContextProvider, $a093c7e1ec25a057$var$useTooltipContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME);\nconst $a093c7e1ec25a057$export$28c660c63b792dea = (props)=>{\n const { __scopeTooltip: __scopeTooltip , children: children , open: openProp , defaultOpen: defaultOpen = false , onOpenChange: onOpenChange , disableHoverableContent: disableHoverableContentProp , delayDuration: delayDurationProp } = props;\n const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = $8wepK$useState(null);\n const contentId = $8wepK$useId();\n const openTimerRef = $8wepK$useRef(0);\n const disableHoverableContent = disableHoverableContentProp !== null && disableHoverableContentProp !== void 0 ? disableHoverableContentProp : providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp !== null && delayDurationProp !== void 0 ? delayDurationProp : providerContext.delayDuration;\n const wasOpenDelayedRef = $8wepK$useRef(false);\n const [open1 = false, setOpen] = $8wepK$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: (open)=>{\n if (open) {\n providerContext.onOpen(); // as `onChange` is called within a lifecycle method we\n // avoid dispatching via `dispatchDiscreteCustomEvent`.\n document.dispatchEvent(new CustomEvent($a093c7e1ec25a057$var$TOOLTIP_OPEN));\n } else providerContext.onClose();\n onOpenChange === null || onOpenChange === void 0 || onOpenChange(open);\n }\n });\n const stateAttribute = $8wepK$useMemo(()=>{\n return open1 ? wasOpenDelayedRef.current ? 'delayed-open' : 'instant-open' : 'closed';\n }, [\n open1\n ]);\n const handleOpen = $8wepK$useCallback(()=>{\n window.clearTimeout(openTimerRef.current);\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [\n setOpen\n ]);\n const handleClose = $8wepK$useCallback(()=>{\n window.clearTimeout(openTimerRef.current);\n setOpen(false);\n }, [\n setOpen\n ]);\n const handleDelayedOpen = $8wepK$useCallback(()=>{\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(()=>{\n wasOpenDelayedRef.current = true;\n setOpen(true);\n }, delayDuration);\n }, [\n delayDuration,\n setOpen\n ]);\n $8wepK$useEffect(()=>{\n return ()=>window.clearTimeout(openTimerRef.current)\n ;\n }, []);\n return /*#__PURE__*/ $8wepK$createElement($8wepK$Root, popperScope, /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$TooltipContextProvider, {\n scope: __scopeTooltip,\n contentId: contentId,\n open: open1,\n stateAttribute: stateAttribute,\n trigger: trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: $8wepK$useCallback(()=>{\n if (providerContext.isOpenDelayed) handleDelayedOpen();\n else handleOpen();\n }, [\n providerContext.isOpenDelayed,\n handleDelayedOpen,\n handleOpen\n ]),\n onTriggerLeave: $8wepK$useCallback(()=>{\n if (disableHoverableContent) handleClose();\n else // Clear the timer in case the pointer leaves the trigger before the tooltip is opened.\n window.clearTimeout(openTimerRef.current);\n }, [\n handleClose,\n disableHoverableContent\n ]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent: disableHoverableContent\n }, children));\n};\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$28c660c63b792dea, {\n displayName: $a093c7e1ec25a057$var$TOOLTIP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipTrigger\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$TRIGGER_NAME = 'TooltipTrigger';\nconst $a093c7e1ec25a057$export$8c610744efcf8a1d = /*#__PURE__*/ $8wepK$forwardRef((props, forwardedRef)=>{\n const { __scopeTooltip: __scopeTooltip , ...triggerProps } = props;\n const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$TRIGGER_NAME, __scopeTooltip);\n const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TRIGGER_NAME, __scopeTooltip);\n const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n const ref = $8wepK$useRef(null);\n const composedRefs = $8wepK$useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = $8wepK$useRef(false);\n const hasPointerMoveOpenedRef = $8wepK$useRef(false);\n const handlePointerUp = $8wepK$useCallback(()=>isPointerDownRef.current = false\n , []);\n $8wepK$useEffect(()=>{\n return ()=>document.removeEventListener('pointerup', handlePointerUp)\n ;\n }, [\n handlePointerUp\n ]);\n return /*#__PURE__*/ $8wepK$createElement($8wepK$Anchor, $8wepK$babelruntimehelpersesmextends({\n asChild: true\n }, popperScope), /*#__PURE__*/ $8wepK$createElement($8wepK$Primitive.button, $8wepK$babelruntimehelpersesmextends({\n // We purposefully avoid adding `type=button` here because tooltip triggers are also\n // commonly anchors and the anchor `type` attribute signifies MIME type.\n \"aria-describedby\": context.open ? context.contentId : undefined,\n \"data-state\": context.stateAttribute\n }, triggerProps, {\n ref: composedRefs,\n onPointerMove: $8wepK$composeEventHandlers(props.onPointerMove, (event)=>{\n if (event.pointerType === 'touch') return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: $8wepK$composeEventHandlers(props.onPointerLeave, ()=>{\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: $8wepK$composeEventHandlers(props.onPointerDown, ()=>{\n isPointerDownRef.current = true;\n document.addEventListener('pointerup', handlePointerUp, {\n once: true\n });\n }),\n onFocus: $8wepK$composeEventHandlers(props.onFocus, ()=>{\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: $8wepK$composeEventHandlers(props.onBlur, context.onClose),\n onClick: $8wepK$composeEventHandlers(props.onClick, context.onClose)\n })));\n});\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$8c610744efcf8a1d, {\n displayName: $a093c7e1ec25a057$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipPortal\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$PORTAL_NAME = 'TooltipPortal';\nconst [$a093c7e1ec25a057$var$PortalProvider, $a093c7e1ec25a057$var$usePortalContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME, {\n forceMount: undefined\n});\nconst $a093c7e1ec25a057$export$7b36b8f925ab7497 = (props)=>{\n const { __scopeTooltip: __scopeTooltip , forceMount: forceMount , children: children , container: container } = props;\n const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME, __scopeTooltip);\n return /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$PortalProvider, {\n scope: __scopeTooltip,\n forceMount: forceMount\n }, /*#__PURE__*/ $8wepK$createElement($8wepK$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $8wepK$createElement($8wepK$Portal, {\n asChild: true,\n container: container\n }, children)));\n};\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$7b36b8f925ab7497, {\n displayName: $a093c7e1ec25a057$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipContent\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$CONTENT_NAME = 'TooltipContent';\nconst $a093c7e1ec25a057$export$e9003e2be37ec060 = /*#__PURE__*/ $8wepK$forwardRef((props, forwardedRef)=>{\n const portalContext = $a093c7e1ec25a057$var$usePortalContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n const { forceMount: forceMount = portalContext.forceMount , side: side = 'top' , ...contentProps } = props;\n const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n return /*#__PURE__*/ $8wepK$createElement($8wepK$Presence, {\n present: forceMount || context.open\n }, context.disableHoverableContent ? /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$TooltipContentImpl, $8wepK$babelruntimehelpersesmextends({\n side: side\n }, contentProps, {\n ref: forwardedRef\n })) : /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$TooltipContentHoverable, $8wepK$babelruntimehelpersesmextends({\n side: side\n }, contentProps, {\n ref: forwardedRef\n })));\n});\nconst $a093c7e1ec25a057$var$TooltipContentHoverable = /*#__PURE__*/ $8wepK$forwardRef((props, forwardedRef)=>{\n const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n const ref = $8wepK$useRef(null);\n const composedRefs = $8wepK$useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = $8wepK$useState(null);\n const { trigger: trigger , onClose: onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange: onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = $8wepK$useCallback(()=>{\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [\n onPointerInTransitChange\n ]);\n const handleCreateGraceArea = $8wepK$useCallback((event, hoverTarget)=>{\n const currentTarget = event.currentTarget;\n const exitPoint = {\n x: event.clientX,\n y: event.clientY\n };\n const exitSide = $a093c7e1ec25a057$var$getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const bleed = exitSide === 'right' || exitSide === 'bottom' ? -5 : 5;\n const isXAxis = exitSide === 'right' || exitSide === 'left';\n const startPoint = isXAxis ? {\n x: event.clientX + bleed,\n y: event.clientY\n } : {\n x: event.clientX,\n y: event.clientY + bleed\n };\n const hoverTargetPoints = $a093c7e1ec25a057$var$getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = $a093c7e1ec25a057$var$getHull([\n startPoint,\n ...hoverTargetPoints\n ]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n }, [\n onPointerInTransitChange\n ]);\n $8wepK$useEffect(()=>{\n return ()=>handleRemoveGraceArea()\n ;\n }, [\n handleRemoveGraceArea\n ]);\n $8wepK$useEffect(()=>{\n if (trigger && content) {\n const handleTriggerLeave = (event)=>handleCreateGraceArea(event, content)\n ;\n const handleContentLeave = (event)=>handleCreateGraceArea(event, trigger)\n ;\n trigger.addEventListener('pointerleave', handleTriggerLeave);\n content.addEventListener('pointerleave', handleContentLeave);\n return ()=>{\n trigger.removeEventListener('pointerleave', handleTriggerLeave);\n content.removeEventListener('pointerleave', handleContentLeave);\n };\n }\n }, [\n trigger,\n content,\n handleCreateGraceArea,\n handleRemoveGraceArea\n ]);\n $8wepK$useEffect(()=>{\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event)=>{\n const target = event.target;\n const pointerPosition = {\n x: event.clientX,\n y: event.clientY\n };\n const hasEnteredTarget = (trigger === null || trigger === void 0 ? void 0 : trigger.contains(target)) || (content === null || content === void 0 ? void 0 : content.contains(target));\n const isPointerOutsideGraceArea = !$a093c7e1ec25a057$var$isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) handleRemoveGraceArea();\n else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener('pointermove', handleTrackPointerGrace);\n return ()=>document.removeEventListener('pointermove', handleTrackPointerGrace)\n ;\n }\n }, [\n trigger,\n content,\n pointerGraceArea,\n onClose,\n handleRemoveGraceArea\n ]);\n return /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$TooltipContentImpl, $8wepK$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs\n }));\n});\nconst [$a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider, $a093c7e1ec25a057$var$useVisuallyHiddenContentContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME, {\n isInside: false\n});\nconst $a093c7e1ec25a057$var$TooltipContentImpl = /*#__PURE__*/ $8wepK$forwardRef((props, forwardedRef)=>{\n const { __scopeTooltip: __scopeTooltip , children: children , 'aria-label': ariaLabel , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , ...contentProps } = props;\n const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, __scopeTooltip);\n const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n const { onClose: onClose } = context; // Close this tooltip if another one opens\n $8wepK$useEffect(()=>{\n document.addEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN, onClose);\n return ()=>document.removeEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN, onClose)\n ;\n }, [\n onClose\n ]); // Close the tooltip if the trigger is scrolled\n $8wepK$useEffect(()=>{\n if (context.trigger) {\n const handleScroll = (event)=>{\n const target = event.target;\n if (target !== null && target !== void 0 && target.contains(context.trigger)) onClose();\n };\n window.addEventListener('scroll', handleScroll, {\n capture: true\n });\n return ()=>window.removeEventListener('scroll', handleScroll, {\n capture: true\n })\n ;\n }\n }, [\n context.trigger,\n onClose\n ]);\n return /*#__PURE__*/ $8wepK$createElement($8wepK$DismissableLayer, {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown: onEscapeKeyDown,\n onPointerDownOutside: onPointerDownOutside,\n onFocusOutside: (event)=>event.preventDefault()\n ,\n onDismiss: onClose\n }, /*#__PURE__*/ $8wepK$createElement($8wepK$Content, $8wepK$babelruntimehelpersesmextends({\n \"data-state\": context.stateAttribute\n }, popperScope, contentProps, {\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-tooltip-content-transform-origin']: 'var(--radix-popper-transform-origin)'\n }\n }), /*#__PURE__*/ $8wepK$createElement($8wepK$Slottable, null, children), /*#__PURE__*/ $8wepK$createElement($a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider, {\n scope: __scopeTooltip,\n isInside: true\n }, /*#__PURE__*/ $8wepK$createElement($8wepK$Root1, {\n id: context.contentId,\n role: \"tooltip\"\n }, ariaLabel || children))));\n});\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$e9003e2be37ec060, {\n displayName: $a093c7e1ec25a057$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipArrow\n * -----------------------------------------------------------------------------------------------*/ const $a093c7e1ec25a057$var$ARROW_NAME = 'TooltipArrow';\nconst $a093c7e1ec25a057$export$c27ee0ad710f7559 = /*#__PURE__*/ $8wepK$forwardRef((props, forwardedRef)=>{\n const { __scopeTooltip: __scopeTooltip , ...arrowProps } = props;\n const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = $a093c7e1ec25a057$var$useVisuallyHiddenContentContext($a093c7e1ec25a057$var$ARROW_NAME, __scopeTooltip); // if the arrow is inside the `VisuallyHidden`, we don't want to render it all to\n // prevent issues in positioning the arrow due to the duplicate\n return visuallyHiddenContentContext.isInside ? null : /*#__PURE__*/ $8wepK$createElement($8wepK$Arrow, $8wepK$babelruntimehelpersesmextends({}, popperScope, arrowProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($a093c7e1ec25a057$export$c27ee0ad710f7559, {\n displayName: $a093c7e1ec25a057$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $a093c7e1ec25a057$var$getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch(Math.min(top, bottom, right, left)){\n case left:\n return 'left';\n case right:\n return 'right';\n case top:\n return 'top';\n case bottom:\n return 'bottom';\n default:\n return null;\n }\n}\nfunction $a093c7e1ec25a057$var$getPointsFromRect(rect) {\n const { top: top , right: right , bottom: bottom , left: left } = rect;\n return [\n {\n x: left,\n y: top\n },\n {\n x: right,\n y: top\n },\n {\n x: right,\n y: bottom\n },\n {\n x: left,\n y: bottom\n }\n ];\n} // Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction $a093c7e1ec25a057$var$isPointInPolygon(point, polygon) {\n const { x: x , y: y } = point;\n let inside = false;\n for(let i = 0, j = polygon.length - 1; i < polygon.length; j = i++){\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y; // prettier-ignore\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n} // Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction $a093c7e1ec25a057$var$getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b)=>{\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return $a093c7e1ec25a057$var$getHullPresorted(newPoints);\n} // Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction $a093c7e1ec25a057$var$getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for(let i = 0; i < points.length; i++){\n const p = points[i];\n while(upperHull.length >= 2){\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for(let i1 = points.length - 1; i1 >= 0; i1--){\n const p = points[i1];\n while(lowerHull.length >= 2){\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) return upperHull;\n else return upperHull.concat(lowerHull);\n}\nconst $a093c7e1ec25a057$export$2881499e37b75b9a = $a093c7e1ec25a057$export$f78649fb9ca566b8;\nconst $a093c7e1ec25a057$export$be92b6f5f03c0fe9 = $a093c7e1ec25a057$export$28c660c63b792dea;\nconst $a093c7e1ec25a057$export$41fb9f06171c75f4 = $a093c7e1ec25a057$export$8c610744efcf8a1d;\nconst $a093c7e1ec25a057$export$602eac185826482c = $a093c7e1ec25a057$export$7b36b8f925ab7497;\nconst $a093c7e1ec25a057$export$7c6e2c02157bb7d2 = $a093c7e1ec25a057$export$e9003e2be37ec060;\nconst $a093c7e1ec25a057$export$21b07c8f274aebd5 = $a093c7e1ec25a057$export$c27ee0ad710f7559;\n\n\n\n\nexport {$a093c7e1ec25a057$export$1c540a2224f0d865 as createTooltipScope, $a093c7e1ec25a057$export$f78649fb9ca566b8 as TooltipProvider, $a093c7e1ec25a057$export$28c660c63b792dea as Tooltip, $a093c7e1ec25a057$export$8c610744efcf8a1d as TooltipTrigger, $a093c7e1ec25a057$export$7b36b8f925ab7497 as TooltipPortal, $a093c7e1ec25a057$export$e9003e2be37ec060 as TooltipContent, $a093c7e1ec25a057$export$c27ee0ad710f7559 as TooltipArrow, $a093c7e1ec25a057$export$2881499e37b75b9a as Provider, $a093c7e1ec25a057$export$be92b6f5f03c0fe9 as Root, $a093c7e1ec25a057$export$41fb9f06171c75f4 as Trigger, $a093c7e1ec25a057$export$602eac185826482c as Portal, $a093c7e1ec25a057$export$7c6e2c02157bb7d2 as Content, $a093c7e1ec25a057$export$21b07c8f274aebd5 as Arrow};\n//# sourceMappingURL=index.module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport tokens from '@theroutingcompany/design-tokens';\n\nexport type {\n TooltipContentProps,\n TooltipProps,\n} from '@radix-ui/react-tooltip'; // reexport all props?\n\nconst StyledContent = styled(TooltipPrimitive.Content)`\n padding: ${tokens.sizing_200} ${tokens.sizing_200};\n /* user-select: none; // TODO not sure about this */\n background: ${tokens.color_background_black_standard};\n color: ${tokens.color_text_white_standard};\n border-radius: ${tokens.border_radius_400};\n font-size: ${tokens.font_size_50};\n line-height: ${tokens.line_height_133}; /* identical to box height 16px, or 133% */\n font-family: ${tokens.font_family_inter};\n max-width: ${tokens.sizing_1000}; // TODO ask designers?\n z-index: 100; // TODO get from tokens\n`;\n\nconst StyledArrow = styled(TooltipPrimitive.Arrow)`\n fill: 'white';\n`;\n\n// default sideOffset?\nfunction Content({ children, ...props }: TooltipPrimitive.TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal>\n <StyledContent {...props}>\n {children}\n <StyledArrow />\n </StyledContent>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport const TooltipTrigger = styled(TooltipPrimitive.Trigger)`\n appearance: none;\n padding: 0;\n border: none;\n background-color: unset;\n line-height: 0;\n`;\n\nexport const TooltipProvider = TooltipPrimitive.Provider;\nexport const Tooltip = TooltipPrimitive.Root;\n\nexport const TooltipContent = Content;\n\n// TODO export an easier premade tooltip component too?\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { Help as HelpIcon } from '@material-ui/icons';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { AccessibleIcon } from 'components/AccessibleIcon/AccessibleIcon';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from './Tooltip';\n\nconst IconTooltipTrigger = styled(TooltipTrigger)`\n color: ${tokens.color_text_white_weak};\n margin-left: ${tokens.spacing_100}; // not sure if this is a good idea\n\n & > svg {\n font-size: 0.9rem;\n /* ${tokens.font_size_200}; */\n line-height: 0;\n color: ${tokens.color_text_white_weak};\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear;\n transition-duration: ${tokens.transition_duration_100};\n }\n\n &:hover > svg {\n color: ${tokens.color_fill_primary_pressed};\n }\n\n /* TODO check these colors with designers */\n &:not([data-state='closed']) > svg {\n color: steelblue;\n /* color: ${tokens.color_fill_primary_hover}; */\n }\n`;\n\ntype IconTooltipProps = {\n children: ReactNode;\n label?: string;\n icon?: ReactNode;\n};\n\nexport function IconTooltip({\n children,\n icon = <HelpIcon />,\n label = 'More info',\n}: IconTooltipProps) {\n // Restrict childtypes? Check if an img or svg is passed as icon? Is that even possible?\n\n return (\n <TooltipProvider>\n <Tooltip>\n <IconTooltipTrigger>\n <AccessibleIcon label={label}>{icon}</AccessibleIcon>\n </IconTooltipTrigger>\n <TooltipContent sideOffset={5}>{children}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $319e236875307eab$var$liveAnnouncer = null;\nfunction $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = \"assertive\", timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();\n $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $319e236875307eab$export$d10ae4f68404609a(assertiveness) {\n if ($319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $319e236875307eab$export$d8686216b8b81b2f() {\n if ($319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer.destroy();\n $319e236875307eab$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $319e236875307eab$var$LiveAnnouncer {\n createLog(ariaLive) {\n let node = document.createElement(\"div\");\n node.setAttribute(\"role\", \"log\");\n node.setAttribute(\"aria-live\", ariaLive);\n node.setAttribute(\"aria-relevant\", \"additions\");\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = \"assertive\", timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!this.node) return;\n let node = document.createElement(\"div\");\n node.textContent = message;\n if (assertiveness === \"assertive\") this.assertiveLog.appendChild(node);\n else this.politeLog.appendChild(node);\n if (message !== \"\") setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if (!assertiveness || assertiveness === \"assertive\") this.assertiveLog.innerHTML = \"\";\n if (!assertiveness || assertiveness === \"polite\") this.politeLog.innerHTML = \"\";\n }\n constructor(){\n this.node = document.createElement(\"div\");\n this.node.dataset.liveAnnouncer = \"true\";\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n height: 1,\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: 1,\n whiteSpace: \"nowrap\"\n });\n this.assertiveLog = this.createLog(\"assertive\");\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog(\"polite\");\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n}\n\n\n\n\nexport {$319e236875307eab$export$a9b970dcc4ae71a9 as announce, $319e236875307eab$export$d10ae4f68404609a as clearAnnouncer, $319e236875307eab$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=module.js.map\n","import {announce as $glIEW$announce} from \"@react-aria/live-announcer\";\nimport {useRef as $glIEW$useRef, useEffect as $glIEW$useEffect, useCallback as $glIEW$useCallback} from \"react\";\nimport {useGlobalListeners as $glIEW$useGlobalListeners} from \"@react-aria/utils\";\nimport {useLocalizedStringFormatter as $glIEW$useLocalizedStringFormatter} from \"@react-aria/i18n\";\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nvar $c6208a7792e31a37$exports = {};\nvar $ed6aae4e5f766f1e$exports = {};\n$ed6aae4e5f766f1e$exports = {\n \"Empty\": `فارغ`\n};\n\n\nvar $38854e2b175151fa$exports = {};\n$38854e2b175151fa$exports = {\n \"Empty\": `Изпразни`\n};\n\n\nvar $15b25ab20f3945b2$exports = {};\n$15b25ab20f3945b2$exports = {\n \"Empty\": `Prázdné`\n};\n\n\nvar $692a4298b6b649a2$exports = {};\n$692a4298b6b649a2$exports = {\n \"Empty\": `Tom`\n};\n\n\nvar $1c6e1539193f1243$exports = {};\n$1c6e1539193f1243$exports = {\n \"Empty\": `Leer`\n};\n\n\nvar $1e8678632c464b6d$exports = {};\n$1e8678632c464b6d$exports = {\n \"Empty\": `Άδειο`\n};\n\n\nvar $4adc85d9bf5b9eed$exports = {};\n$4adc85d9bf5b9eed$exports = {\n \"Empty\": `Empty`\n};\n\n\nvar $41c4b2bb61dafbca$exports = {};\n$41c4b2bb61dafbca$exports = {\n \"Empty\": `Vacío`\n};\n\n\nvar $405f8b24f5dd2a60$exports = {};\n$405f8b24f5dd2a60$exports = {\n \"Empty\": `Tühjenda`\n};\n\n\nvar $7efe3ed02b9b9dd4$exports = {};\n$7efe3ed02b9b9dd4$exports = {\n \"Empty\": `Tyhjä`\n};\n\n\nvar $99fc4c101d92daf3$exports = {};\n$99fc4c101d92daf3$exports = {\n \"Empty\": `Vide`\n};\n\n\nvar $f9e155e6e8cacaa2$exports = {};\n$f9e155e6e8cacaa2$exports = {\n \"Empty\": `ריק`\n};\n\n\nvar $c31b5e8e9a249fd5$exports = {};\n$c31b5e8e9a249fd5$exports = {\n \"Empty\": `Prazno`\n};\n\n\nvar $9c5435bc17499bd9$exports = {};\n$9c5435bc17499bd9$exports = {\n \"Empty\": `Üres`\n};\n\n\nvar $6d1fc8e84d8165e1$exports = {};\n$6d1fc8e84d8165e1$exports = {\n \"Empty\": `Vuoto`\n};\n\n\nvar $46ea6b3641b83e71$exports = {};\n$46ea6b3641b83e71$exports = {\n \"Empty\": `空`\n};\n\n\nvar $0e3cc9a288289dc5$exports = {};\n$0e3cc9a288289dc5$exports = {\n \"Empty\": `비어 있음`\n};\n\n\nvar $4ff2bb25c0089ffb$exports = {};\n$4ff2bb25c0089ffb$exports = {\n \"Empty\": `Tuščias`\n};\n\n\nvar $6cf33cd4c010a2fb$exports = {};\n$6cf33cd4c010a2fb$exports = {\n \"Empty\": `Tukšs`\n};\n\n\nvar $5a9f8486f8b8837e$exports = {};\n$5a9f8486f8b8837e$exports = {\n \"Empty\": `Tom`\n};\n\n\nvar $583f94d807f6ecea$exports = {};\n$583f94d807f6ecea$exports = {\n \"Empty\": `Leeg`\n};\n\n\nvar $cc4dcfeea2b4050d$exports = {};\n$cc4dcfeea2b4050d$exports = {\n \"Empty\": `Pusty`\n};\n\n\nvar $68ac2954d56e12b4$exports = {};\n$68ac2954d56e12b4$exports = {\n \"Empty\": `Vazio`\n};\n\n\nvar $fdb0616f309780b0$exports = {};\n$fdb0616f309780b0$exports = {\n \"Empty\": `Vazio`\n};\n\n\nvar $fe1eccf4ee1d6f52$exports = {};\n$fe1eccf4ee1d6f52$exports = {\n \"Empty\": `Gol`\n};\n\n\nvar $a38b6c4e18725976$exports = {};\n$a38b6c4e18725976$exports = {\n \"Empty\": `Не заполнено`\n};\n\n\nvar $6c14ae2b766b652c$exports = {};\n$6c14ae2b766b652c$exports = {\n \"Empty\": `Prázdne`\n};\n\n\nvar $8f1c9692e16dc5eb$exports = {};\n$8f1c9692e16dc5eb$exports = {\n \"Empty\": `Prazen`\n};\n\n\nvar $d2aa7abea627cafa$exports = {};\n$d2aa7abea627cafa$exports = {\n \"Empty\": `Prazno`\n};\n\n\nvar $676b82e4b56408e6$exports = {};\n$676b82e4b56408e6$exports = {\n \"Empty\": `Tomt`\n};\n\n\nvar $14c9042552d7ce08$exports = {};\n$14c9042552d7ce08$exports = {\n \"Empty\": `Boş`\n};\n\n\nvar $393254ebcb66c9f5$exports = {};\n$393254ebcb66c9f5$exports = {\n \"Empty\": `Пусто`\n};\n\n\nvar $d49d621f310cf6ce$exports = {};\n$d49d621f310cf6ce$exports = {\n \"Empty\": `空`\n};\n\n\nvar $94b60c866ca5dfe6$exports = {};\n$94b60c866ca5dfe6$exports = {\n \"Empty\": `空白`\n};\n\n\n$c6208a7792e31a37$exports = {\n \"ar-AE\": $ed6aae4e5f766f1e$exports,\n \"bg-BG\": $38854e2b175151fa$exports,\n \"cs-CZ\": $15b25ab20f3945b2$exports,\n \"da-DK\": $692a4298b6b649a2$exports,\n \"de-DE\": $1c6e1539193f1243$exports,\n \"el-GR\": $1e8678632c464b6d$exports,\n \"en-US\": $4adc85d9bf5b9eed$exports,\n \"es-ES\": $41c4b2bb61dafbca$exports,\n \"et-EE\": $405f8b24f5dd2a60$exports,\n \"fi-FI\": $7efe3ed02b9b9dd4$exports,\n \"fr-FR\": $99fc4c101d92daf3$exports,\n \"he-IL\": $f9e155e6e8cacaa2$exports,\n \"hr-HR\": $c31b5e8e9a249fd5$exports,\n \"hu-HU\": $9c5435bc17499bd9$exports,\n \"it-IT\": $6d1fc8e84d8165e1$exports,\n \"ja-JP\": $46ea6b3641b83e71$exports,\n \"ko-KR\": $0e3cc9a288289dc5$exports,\n \"lt-LT\": $4ff2bb25c0089ffb$exports,\n \"lv-LV\": $6cf33cd4c010a2fb$exports,\n \"nb-NO\": $5a9f8486f8b8837e$exports,\n \"nl-NL\": $583f94d807f6ecea$exports,\n \"pl-PL\": $cc4dcfeea2b4050d$exports,\n \"pt-BR\": $68ac2954d56e12b4$exports,\n \"pt-PT\": $fdb0616f309780b0$exports,\n \"ro-RO\": $fe1eccf4ee1d6f52$exports,\n \"ru-RU\": $a38b6c4e18725976$exports,\n \"sk-SK\": $6c14ae2b766b652c$exports,\n \"sl-SI\": $8f1c9692e16dc5eb$exports,\n \"sr-SP\": $d2aa7abea627cafa$exports,\n \"sv-SE\": $676b82e4b56408e6$exports,\n \"tr-TR\": $14c9042552d7ce08$exports,\n \"uk-UA\": $393254ebcb66c9f5$exports,\n \"zh-CN\": $d49d621f310cf6ce$exports,\n \"zh-TW\": $94b60c866ca5dfe6$exports\n};\n\n\n\n\n\nfunction $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {\n const _async = (0, $glIEW$useRef)();\n let { value: value , textValue: textValue , minValue: minValue , maxValue: maxValue , isDisabled: isDisabled , isReadOnly: isReadOnly , isRequired: isRequired , onIncrement: onIncrement , onIncrementPage: onIncrementPage , onDecrement: onDecrement , onDecrementPage: onDecrementPage , onDecrementToMin: onDecrementToMin , onIncrementToMax: onIncrementToMax } = props;\n const stringFormatter = (0, $glIEW$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($c6208a7792e31a37$exports))));\n const propsRef = (0, $glIEW$useRef)(props);\n propsRef.current = props;\n const clearAsync = ()=>clearTimeout(_async.current);\n // eslint-disable-next-line arrow-body-style\n (0, $glIEW$useEffect)(()=>{\n return ()=>clearAsync();\n }, []);\n let onKeyDown = (e)=>{\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) return;\n switch(e.key){\n case \"PageUp\":\n if (onIncrementPage) {\n e.preventDefault();\n onIncrementPage();\n break;\n }\n // fallthrough!\n case \"ArrowUp\":\n case \"Up\":\n if (onIncrement) {\n e.preventDefault();\n onIncrement();\n }\n break;\n case \"PageDown\":\n if (onDecrementPage) {\n e.preventDefault();\n onDecrementPage();\n break;\n }\n // fallthrough\n case \"ArrowDown\":\n case \"Down\":\n if (onDecrement) {\n e.preventDefault();\n onDecrement();\n }\n break;\n case \"Home\":\n if (onDecrementToMin) {\n e.preventDefault();\n onDecrementToMin();\n }\n break;\n case \"End\":\n if (onIncrementToMax) {\n e.preventDefault();\n onIncrementToMax();\n }\n break;\n }\n };\n let isFocused = (0, $glIEW$useRef)(false);\n let onFocus = ()=>{\n isFocused.current = true;\n };\n let onBlur = ()=>{\n isFocused.current = false;\n };\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212).\n // This ensures that macOS VoiceOver announces it as \"minus\" even with other characters between the minus sign\n // and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.\n // In addition, replace the empty string with the word \"Empty\" so that iOS VoiceOver does not read \"50%\" for an empty field.\n textValue = textValue === \"\" ? stringFormatter.format(\"Empty\") : (textValue || `${value}`).replace(\"-\", \"−\");\n (0, $glIEW$useEffect)(()=>{\n if (isFocused.current) (0, $glIEW$announce)(textValue, \"assertive\");\n }, [\n textValue\n ]);\n const onIncrementPressStart = (0, $glIEW$useCallback)((initialStepDelay)=>{\n clearAsync();\n propsRef.current.onIncrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(()=>{\n if (isNaN(maxValue) || isNaN(value) || value < maxValue) onIncrementPressStart(60);\n }, initialStepDelay);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n onIncrement,\n maxValue,\n value\n ]);\n const onDecrementPressStart = (0, $glIEW$useCallback)((initialStepDelay)=>{\n clearAsync();\n propsRef.current.onDecrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(()=>{\n if (isNaN(minValue) || isNaN(value) || value > minValue) onDecrementPressStart(60);\n }, initialStepDelay);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n onDecrement,\n minValue,\n value\n ]);\n let cancelContextMenu = (e)=>{\n e.preventDefault();\n };\n let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $glIEW$useGlobalListeners)();\n return {\n spinButtonProps: {\n role: \"spinbutton\",\n \"aria-valuenow\": !isNaN(value) ? value : null,\n \"aria-valuetext\": textValue,\n \"aria-valuemin\": minValue,\n \"aria-valuemax\": maxValue,\n \"aria-disabled\": isDisabled || null,\n \"aria-readonly\": isReadOnly || null,\n \"aria-required\": isRequired || null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur\n },\n incrementButtonProps: {\n onPressStart: ()=>{\n onIncrementPressStart(400);\n addGlobalListener(window, \"contextmenu\", cancelContextMenu);\n },\n onPressEnd: ()=>{\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus: onFocus,\n onBlur: onBlur\n },\n decrementButtonProps: {\n onPressStart: ()=>{\n onDecrementPressStart(400);\n addGlobalListener(window, \"contextmenu\", cancelContextMenu);\n },\n onPressEnd: ()=>{\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\n\n\nexport {$d2e8511e6f209edf$export$e908e06f4b8e3402 as useSpinButton};\n//# sourceMappingURL=module.js.map\n","import {useId as $gfhJl$useId, isIPhone as $gfhJl$isIPhone, isAndroid as $gfhJl$isAndroid, filterDOMProps as $gfhJl$filterDOMProps, mergeProps as $gfhJl$mergeProps, isIOS as $gfhJl$isIOS} from \"@react-aria/utils\";\nimport {useState as $gfhJl$useState, useCallback as $gfhJl$useCallback, useMemo as $gfhJl$useMemo} from \"react\";\nimport {useFocus as $gfhJl$useFocus, useFocusWithin as $gfhJl$useFocusWithin, useScrollWheel as $gfhJl$useScrollWheel} from \"@react-aria/interactions\";\nimport {useFormattedTextField as $gfhJl$useFormattedTextField} from \"@react-aria/textfield\";\nimport {useLocalizedStringFormatter as $gfhJl$useLocalizedStringFormatter, useNumberFormatter as $gfhJl$useNumberFormatter} from \"@react-aria/i18n\";\nimport {useSpinButton as $gfhJl$useSpinButton} from \"@react-aria/spinbutton\";\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nvar $c3ef0f8b54adbb57$exports = {};\nvar $fb78e0f6ab6349ed$exports = {};\n$fb78e0f6ab6349ed$exports = {\n \"decrease\": (args)=>`خفض ${args.fieldLabel}`,\n \"increase\": (args)=>`زيادة ${args.fieldLabel}`,\n \"numberField\": `حقل رقمي`\n};\n\n\nvar $2776acdd9959a647$exports = {};\n$2776acdd9959a647$exports = {\n \"decrease\": (args)=>`Намаляване ${args.fieldLabel}`,\n \"increase\": (args)=>`Усилване ${args.fieldLabel}`,\n \"numberField\": `Номер на полето`\n};\n\n\nvar $741954410a365ad3$exports = {};\n$741954410a365ad3$exports = {\n \"decrease\": (args)=>`Snížit ${args.fieldLabel}`,\n \"increase\": (args)=>`Zvýšit ${args.fieldLabel}`,\n \"numberField\": `Číselné pole`\n};\n\n\nvar $8321ed0f8ab642f0$exports = {};\n$8321ed0f8ab642f0$exports = {\n \"decrease\": (args)=>`Reducer ${args.fieldLabel}`,\n \"increase\": (args)=>`Øg ${args.fieldLabel}`,\n \"numberField\": `Talfelt`\n};\n\n\nvar $92978e0c4ecafa32$exports = {};\n$92978e0c4ecafa32$exports = {\n \"decrease\": (args)=>`${args.fieldLabel} verringern`,\n \"increase\": (args)=>`${args.fieldLabel} erhöhen`,\n \"numberField\": `Nummernfeld`\n};\n\n\nvar $ac5ff71962864a84$exports = {};\n$ac5ff71962864a84$exports = {\n \"decrease\": (args)=>`Μείωση ${args.fieldLabel}`,\n \"increase\": (args)=>`Αύξηση ${args.fieldLabel}`,\n \"numberField\": `Πεδίο αριθμού`\n};\n\n\nvar $efe4685e2440d8be$exports = {};\n$efe4685e2440d8be$exports = {\n \"decrease\": (args)=>`Decrease ${args.fieldLabel}`,\n \"increase\": (args)=>`Increase ${args.fieldLabel}`,\n \"numberField\": `Number field`\n};\n\n\nvar $e50a9a48739b90e1$exports = {};\n$e50a9a48739b90e1$exports = {\n \"decrease\": (args)=>`Reducir ${args.fieldLabel}`,\n \"increase\": (args)=>`Aumentar ${args.fieldLabel}`,\n \"numberField\": `Campo de número`\n};\n\n\nvar $6e0d5294ecbb8ab6$exports = {};\n$6e0d5294ecbb8ab6$exports = {\n \"decrease\": (args)=>`Vähenda ${args.fieldLabel}`,\n \"increase\": (args)=>`Suurenda ${args.fieldLabel}`,\n \"numberField\": `Numbri väli`\n};\n\n\nvar $e7129d65f607f77f$exports = {};\n$e7129d65f607f77f$exports = {\n \"decrease\": (args)=>`Vähennä ${args.fieldLabel}`,\n \"increase\": (args)=>`Lisää ${args.fieldLabel}`,\n \"numberField\": `Numerokenttä`\n};\n\n\nvar $d72adf5b20573e34$exports = {};\n$d72adf5b20573e34$exports = {\n \"decrease\": (args)=>`Diminuer ${args.fieldLabel}`,\n \"increase\": (args)=>`Augmenter ${args.fieldLabel}`,\n \"numberField\": `Champ de nombre`\n};\n\n\nvar $a25c707e88b844a7$exports = {};\n$a25c707e88b844a7$exports = {\n \"decrease\": (args)=>`הקטן ${args.fieldLabel}`,\n \"increase\": (args)=>`הגדל ${args.fieldLabel}`,\n \"numberField\": `שדה מספר`\n};\n\n\nvar $69b41140b9a4ca54$exports = {};\n$69b41140b9a4ca54$exports = {\n \"decrease\": (args)=>`Smanji ${args.fieldLabel}`,\n \"increase\": (args)=>`Povećaj ${args.fieldLabel}`,\n \"numberField\": `Polje broja`\n};\n\n\nvar $81dab28f37f59d1a$exports = {};\n$81dab28f37f59d1a$exports = {\n \"decrease\": (args)=>`${args.fieldLabel} csökkentése`,\n \"increase\": (args)=>`${args.fieldLabel} növelése`,\n \"numberField\": `Számmező`\n};\n\n\nvar $866555b31f2d7711$exports = {};\n$866555b31f2d7711$exports = {\n \"decrease\": (args)=>`Riduci ${args.fieldLabel}`,\n \"increase\": (args)=>`Aumenta ${args.fieldLabel}`,\n \"numberField\": `Campo numero`\n};\n\n\nvar $dafcd55d52b9d371$exports = {};\n$dafcd55d52b9d371$exports = {\n \"decrease\": (args)=>`${args.fieldLabel}を縮小`,\n \"increase\": (args)=>`${args.fieldLabel}を拡大`,\n \"numberField\": `数値フィールド`\n};\n\n\nvar $f090c1f8c5da0145$exports = {};\n$f090c1f8c5da0145$exports = {\n \"decrease\": (args)=>`${args.fieldLabel} 감소`,\n \"increase\": (args)=>`${args.fieldLabel} 증가`,\n \"numberField\": `번호 필드`\n};\n\n\nvar $6f10f3a13360a75c$exports = {};\n$6f10f3a13360a75c$exports = {\n \"decrease\": (args)=>`Sumažinti ${args.fieldLabel}`,\n \"increase\": (args)=>`Padidinti ${args.fieldLabel}`,\n \"numberField\": `Numerio laukas`\n};\n\n\nvar $47432cefd4b7bd1b$exports = {};\n$47432cefd4b7bd1b$exports = {\n \"decrease\": (args)=>`Samazināšana ${args.fieldLabel}`,\n \"increase\": (args)=>`Palielināšana ${args.fieldLabel}`,\n \"numberField\": `Skaitļu lauks`\n};\n\n\nvar $dc578a950a2bf23d$exports = {};\n$dc578a950a2bf23d$exports = {\n \"decrease\": (args)=>`Reduser ${args.fieldLabel}`,\n \"increase\": (args)=>`Øk ${args.fieldLabel}`,\n \"numberField\": `Tallfelt`\n};\n\n\nvar $353f1bfca4dc395a$exports = {};\n$353f1bfca4dc395a$exports = {\n \"decrease\": (args)=>`${args.fieldLabel} verlagen`,\n \"increase\": (args)=>`${args.fieldLabel} verhogen`,\n \"numberField\": `Getalveld`\n};\n\n\nvar $241bc0bbd870e982$exports = {};\n$241bc0bbd870e982$exports = {\n \"decrease\": (args)=>`Zmniejsz ${args.fieldLabel}`,\n \"increase\": (args)=>`Zwiększ ${args.fieldLabel}`,\n \"numberField\": `Pole numeru`\n};\n\n\nvar $da3005c7bd72b0a8$exports = {};\n$da3005c7bd72b0a8$exports = {\n \"decrease\": (args)=>`Diminuir ${args.fieldLabel}`,\n \"increase\": (args)=>`Aumentar ${args.fieldLabel}`,\n \"numberField\": `Campo de número`\n};\n\n\nvar $cf48bfc540882310$exports = {};\n$cf48bfc540882310$exports = {\n \"decrease\": (args)=>`Diminuir ${args.fieldLabel}`,\n \"increase\": (args)=>`Aumentar ${args.fieldLabel}`,\n \"numberField\": `Campo numérico`\n};\n\n\nvar $b63a28c481ab9ee3$exports = {};\n$b63a28c481ab9ee3$exports = {\n \"decrease\": (args)=>`Scădere ${args.fieldLabel}`,\n \"increase\": (args)=>`Creștere ${args.fieldLabel}`,\n \"numberField\": `Câmp numeric`\n};\n\n\nvar $19f9df95c2464ab6$exports = {};\n$19f9df95c2464ab6$exports = {\n \"decrease\": (args)=>`Уменьшение ${args.fieldLabel}`,\n \"increase\": (args)=>`Увеличение ${args.fieldLabel}`,\n \"numberField\": `Числовое поле`\n};\n\n\nvar $b272932a685e8482$exports = {};\n$b272932a685e8482$exports = {\n \"decrease\": (args)=>`Znížiť ${args.fieldLabel}`,\n \"increase\": (args)=>`Zvýšiť ${args.fieldLabel}`,\n \"numberField\": `Číselné pole`\n};\n\n\nvar $cbaf8b5b61f9e544$exports = {};\n$cbaf8b5b61f9e544$exports = {\n \"decrease\": (args)=>`Upadati ${args.fieldLabel}`,\n \"increase\": (args)=>`Povečajte ${args.fieldLabel}`,\n \"numberField\": `Številčno polje`\n};\n\n\nvar $e0a3af6ac1449b2f$exports = {};\n$e0a3af6ac1449b2f$exports = {\n \"decrease\": (args)=>`Decrease ${args.fieldLabel}`,\n \"increase\": (args)=>`Increase ${args.fieldLabel}`,\n \"numberField\": `Number field`\n};\n\n\nvar $71e167d2458a6019$exports = {};\n$71e167d2458a6019$exports = {\n \"decrease\": (args)=>`Minska ${args.fieldLabel}`,\n \"increase\": (args)=>`Öka ${args.fieldLabel}`,\n \"numberField\": `Nummerfält`\n};\n\n\nvar $3719245abc082946$exports = {};\n$3719245abc082946$exports = {\n \"decrease\": (args)=>`${args.fieldLabel} azalt`,\n \"increase\": (args)=>`${args.fieldLabel} arttır`,\n \"numberField\": `Sayı alanı`\n};\n\n\nvar $2ccc589e2f51824d$exports = {};\n$2ccc589e2f51824d$exports = {\n \"decrease\": (args)=>`Зменшити ${args.fieldLabel}`,\n \"increase\": (args)=>`Збільшити ${args.fieldLabel}`,\n \"numberField\": `Поле номера`\n};\n\n\nvar $e1103cb9b4c13942$exports = {};\n$e1103cb9b4c13942$exports = {\n \"decrease\": (args)=>`降低 ${args.fieldLabel}`,\n \"increase\": (args)=>`提高 ${args.fieldLabel}`,\n \"numberField\": `数字字段`\n};\n\n\nvar $448607634f80dccb$exports = {};\n$448607634f80dccb$exports = {\n \"decrease\": (args)=>`縮小 ${args.fieldLabel}`,\n \"increase\": (args)=>`放大 ${args.fieldLabel}`,\n \"numberField\": `數字欄位`\n};\n\n\n$c3ef0f8b54adbb57$exports = {\n \"ar-AE\": $fb78e0f6ab6349ed$exports,\n \"bg-BG\": $2776acdd9959a647$exports,\n \"cs-CZ\": $741954410a365ad3$exports,\n \"da-DK\": $8321ed0f8ab642f0$exports,\n \"de-DE\": $92978e0c4ecafa32$exports,\n \"el-GR\": $ac5ff71962864a84$exports,\n \"en-US\": $efe4685e2440d8be$exports,\n \"es-ES\": $e50a9a48739b90e1$exports,\n \"et-EE\": $6e0d5294ecbb8ab6$exports,\n \"fi-FI\": $e7129d65f607f77f$exports,\n \"fr-FR\": $d72adf5b20573e34$exports,\n \"he-IL\": $a25c707e88b844a7$exports,\n \"hr-HR\": $69b41140b9a4ca54$exports,\n \"hu-HU\": $81dab28f37f59d1a$exports,\n \"it-IT\": $866555b31f2d7711$exports,\n \"ja-JP\": $dafcd55d52b9d371$exports,\n \"ko-KR\": $f090c1f8c5da0145$exports,\n \"lt-LT\": $6f10f3a13360a75c$exports,\n \"lv-LV\": $47432cefd4b7bd1b$exports,\n \"nb-NO\": $dc578a950a2bf23d$exports,\n \"nl-NL\": $353f1bfca4dc395a$exports,\n \"pl-PL\": $241bc0bbd870e982$exports,\n \"pt-BR\": $da3005c7bd72b0a8$exports,\n \"pt-PT\": $cf48bfc540882310$exports,\n \"ro-RO\": $b63a28c481ab9ee3$exports,\n \"ru-RU\": $19f9df95c2464ab6$exports,\n \"sk-SK\": $b272932a685e8482$exports,\n \"sl-SI\": $cbaf8b5b61f9e544$exports,\n \"sr-SP\": $e0a3af6ac1449b2f$exports,\n \"sv-SE\": $71e167d2458a6019$exports,\n \"tr-TR\": $3719245abc082946$exports,\n \"uk-UA\": $2ccc589e2f51824d$exports,\n \"zh-CN\": $e1103cb9b4c13942$exports,\n \"zh-TW\": $448607634f80dccb$exports\n};\n\n\n\n\n\n\n\nfunction $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {\n let { id: id , decrementAriaLabel: decrementAriaLabel , incrementAriaLabel: incrementAriaLabel , isDisabled: isDisabled , isReadOnly: isReadOnly , isRequired: isRequired , minValue: minValue , maxValue: maxValue , autoFocus: autoFocus , validationState: validationState , label: label , formatOptions: formatOptions , onBlur: onBlur = ()=>{} , onFocus: onFocus , onFocusChange: onFocusChange , onKeyDown: onKeyDown , onKeyUp: onKeyUp , description: description , errorMessage: errorMessage , ...otherProps } = props;\n let { increment: increment , incrementToMax: incrementToMax , decrement: decrement , decrementToMin: decrementToMin , numberValue: numberValue , commit: commit } = state;\n const stringFormatter = (0, $gfhJl$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($c3ef0f8b54adbb57$exports))));\n let inputId = (0, $gfhJl$useId)(id);\n let { focusProps: focusProps } = (0, $gfhJl$useFocus)({\n onBlur: ()=>{\n // Set input value to normalized valid value\n commit();\n }\n });\n let { spinButtonProps: spinButtonProps , incrementButtonProps: incButtonProps , decrementButtonProps: decButtonProps } = (0, $gfhJl$useSpinButton)({\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isRequired: isRequired,\n maxValue: maxValue,\n minValue: minValue,\n onIncrement: increment,\n onIncrementToMax: incrementToMax,\n onDecrement: decrement,\n onDecrementToMin: decrementToMin,\n value: numberValue,\n textValue: state.inputValue\n });\n let [focusWithin, setFocusWithin] = (0, $gfhJl$useState)(false);\n let { focusWithinProps: focusWithinProps } = (0, $gfhJl$useFocusWithin)({\n isDisabled: isDisabled,\n onFocusWithinChange: setFocusWithin\n });\n let onWheel = (0, $gfhJl$useCallback)((e)=>{\n // if on a trackpad, users can scroll in both X and Y at once, check the magnitude of the change\n // if it's mostly in the X direction, then just return, the user probably doesn't mean to inc/dec\n // this isn't perfect, events come in fast with small deltas and a part of the scroll may give a false indication\n // especially if the user is scrolling near 45deg\n if (Math.abs(e.deltaY) <= Math.abs(e.deltaX)) return;\n if (e.deltaY > 0) increment();\n else if (e.deltaY < 0) decrement();\n }, [\n decrement,\n increment\n ]);\n // If the input isn't supposed to receive input, disable scrolling.\n let scrollingDisabled = isDisabled || isReadOnly || !focusWithin;\n (0, $gfhJl$useScrollWheel)({\n onScroll: onWheel,\n isDisabled: scrollingDisabled\n }, inputRef);\n // The inputMode attribute influences the software keyboard that is shown on touch devices.\n // Browsers and operating systems are quite inconsistent about what keys are available, however.\n // We choose between numeric and decimal based on whether we allow negative and fractional numbers,\n // and based on testing on various devices to determine what keys are available in each inputMode.\n let numberFormatter = (0, $gfhJl$useNumberFormatter)(formatOptions);\n let intlOptions = (0, $gfhJl$useMemo)(()=>numberFormatter.resolvedOptions(), [\n numberFormatter\n ]);\n let hasDecimals = intlOptions.maximumFractionDigits > 0;\n let hasNegative = isNaN(state.minValue) || state.minValue < 0;\n let inputMode = \"numeric\";\n if ((0, $gfhJl$isIPhone)()) {\n // iPhone doesn't have a minus sign in either numeric or decimal.\n // Note this is only for iPhone, not iPad, which always has both\n // minus and decimal in numeric.\n if (hasNegative) inputMode = \"text\";\n else if (hasDecimals) inputMode = \"decimal\";\n } else if ((0, $gfhJl$isAndroid)()) {\n // Android numeric has both a decimal point and minus key.\n // decimal does not have a minus key.\n if (hasNegative) inputMode = \"numeric\";\n else if (hasDecimals) inputMode = \"decimal\";\n }\n let onChange = (value)=>{\n state.setInputValue(value);\n };\n let domProps = (0, $gfhJl$filterDOMProps)(props);\n let { labelProps: labelProps , inputProps: textFieldProps , descriptionProps: descriptionProps , errorMessageProps: errorMessageProps } = (0, $gfhJl$useFormattedTextField)({\n ...otherProps,\n ...domProps,\n label: label,\n autoFocus: autoFocus,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isRequired: isRequired,\n validationState: validationState,\n value: state.inputValue,\n defaultValue: undefined,\n autoComplete: \"off\",\n \"aria-label\": props[\"aria-label\"] || null,\n \"aria-labelledby\": props[\"aria-labelledby\"] || null,\n id: inputId,\n type: \"text\",\n inputMode: inputMode,\n onChange: onChange,\n onBlur: onBlur,\n onFocus: onFocus,\n onFocusChange: onFocusChange,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n description: description,\n errorMessage: errorMessage\n }, state, inputRef);\n let inputProps = (0, $gfhJl$mergeProps)(spinButtonProps, focusProps, textFieldProps, {\n // override the spinbutton role, we can't focus a spin button with VO\n role: null,\n // ignore aria-roledescription on iOS so that required state will announce when it is present\n \"aria-roledescription\": !(0, $gfhJl$isIOS)() ? stringFormatter.format(\"numberField\") : null,\n \"aria-valuemax\": null,\n \"aria-valuemin\": null,\n \"aria-valuenow\": null,\n \"aria-valuetext\": null,\n autoCorrect: \"off\",\n spellCheck: \"false\"\n });\n let onButtonPressStart = (e)=>{\n // If focus is already on the input, keep it there so we don't hide the\n // software keyboard when tapping the increment/decrement buttons.\n if (document.activeElement === inputRef.current) return;\n // Otherwise, when using a mouse, move focus to the input.\n // On touch, or with a screen reader, focus the button so that the software\n // keyboard does not appear and the screen reader cursor is not moved off the button.\n if (e.pointerType === \"mouse\") inputRef.current.focus();\n else e.target.focus();\n };\n // Determine the label for the increment and decrement buttons. There are 4 cases:\n //\n // 1. With a visible label that is a string: aria-label: `Increase ${props.label}`\n // 2. With a visible label that is JSX: aria-label: 'Increase', aria-labelledby: '${incrementId} ${labelId}'\n // 3. With an aria-label: aria-label: `Increase ${props['aria-label']}`\n // 4. With an aria-labelledby: aria-label: 'Increase', aria-labelledby: `${incrementId} ${props['aria-labelledby']}`\n //\n // (1) and (2) could possibly be combined and both use aria-labelledby. However, placing the label in\n // the aria-label string rather than using aria-labelledby gives more flexibility to translators to change\n // the order or add additional words around the label if needed.\n let fieldLabel = props[\"aria-label\"] || (typeof props.label === \"string\" ? props.label : \"\");\n let ariaLabelledby;\n if (!fieldLabel) ariaLabelledby = props.label != null ? labelProps.id : props[\"aria-labelledby\"];\n let incrementId = (0, $gfhJl$useId)();\n let decrementId = (0, $gfhJl$useId)();\n let incrementButtonProps = (0, $gfhJl$mergeProps)(incButtonProps, {\n \"aria-label\": incrementAriaLabel || stringFormatter.format(\"increase\", {\n fieldLabel: fieldLabel\n }).trim(),\n id: ariaLabelledby && !incrementAriaLabel ? incrementId : null,\n \"aria-labelledby\": ariaLabelledby && !incrementAriaLabel ? `${incrementId} ${ariaLabelledby}` : null,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n isDisabled: !state.canIncrement,\n onPressStart: onButtonPressStart\n });\n let decrementButtonProps = (0, $gfhJl$mergeProps)(decButtonProps, {\n \"aria-label\": decrementAriaLabel || stringFormatter.format(\"decrease\", {\n fieldLabel: fieldLabel\n }).trim(),\n id: ariaLabelledby && !decrementAriaLabel ? decrementId : null,\n \"aria-labelledby\": ariaLabelledby && !decrementAriaLabel ? `${decrementId} ${ariaLabelledby}` : null,\n \"aria-controls\": inputId,\n excludeFromTabOrder: true,\n preventFocusOnPress: true,\n allowFocusWhenDisabled: true,\n isDisabled: !state.canDecrement,\n onPressStart: onButtonPressStart\n });\n return {\n groupProps: {\n role: \"group\",\n \"aria-disabled\": isDisabled,\n \"aria-invalid\": validationState === \"invalid\" ? \"true\" : undefined,\n ...focusWithinProps\n },\n labelProps: labelProps,\n inputProps: inputProps,\n incrementButtonProps: incrementButtonProps,\n decrementButtonProps: decrementButtonProps,\n errorMessageProps: errorMessageProps,\n descriptionProps: descriptionProps\n };\n}\n\n\n\n\nexport {$81397a9303501bda$export$23f548e970bdf099 as useNumberField};\n//# sourceMappingURL=module.js.map\n","import {useControlledState as $vhjCi$useControlledState, clamp as $vhjCi$clamp, snapValueToStep as $vhjCi$snapValueToStep} from \"@react-stately/utils\";\nimport {NumberFormatter as $vhjCi$NumberFormatter, NumberParser as $vhjCi$NumberParser} from \"@internationalized/number\";\nimport {useState as $vhjCi$useState, useMemo as $vhjCi$useMemo, useCallback as $vhjCi$useCallback, useRef as $vhjCi$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {\n let { minValue: minValue , maxValue: maxValue , step: step , formatOptions: formatOptions , value: value , defaultValue: defaultValue , onChange: onChange , locale: locale , isDisabled: isDisabled , isReadOnly: isReadOnly } = props;\n let [numberValue, setNumberValue] = (0, $vhjCi$useControlledState)(value, isNaN(defaultValue) ? NaN : defaultValue, onChange);\n let [inputValue, setInputValue] = (0, $vhjCi$useState)(()=>isNaN(numberValue) ? \"\" : new (0, $vhjCi$NumberFormatter)(locale, formatOptions).format(numberValue));\n let numberParser = (0, $vhjCi$useMemo)(()=>new (0, $vhjCi$NumberParser)(locale, formatOptions), [\n locale,\n formatOptions\n ]);\n let numberingSystem = (0, $vhjCi$useMemo)(()=>numberParser.getNumberingSystem(inputValue), [\n numberParser,\n inputValue\n ]);\n let formatter = (0, $vhjCi$useMemo)(()=>new (0, $vhjCi$NumberFormatter)(locale, {\n ...formatOptions,\n numberingSystem: numberingSystem\n }), [\n locale,\n formatOptions,\n numberingSystem\n ]);\n let intlOptions = (0, $vhjCi$useMemo)(()=>formatter.resolvedOptions(), [\n formatter\n ]);\n let format = (0, $vhjCi$useCallback)((value)=>isNaN(value) || value === null ? \"\" : formatter.format(value), [\n formatter\n ]);\n let clampStep = !isNaN(step) ? step : 1;\n if (intlOptions.style === \"percent\" && isNaN(step)) clampStep = 0.01;\n // Update the input value when the number value or format options change. This is done\n // in a useEffect so that the controlled behavior is correct and we only update the\n // textfield after prop changes.\n let prevValue = (0, $vhjCi$useRef)(numberValue);\n let prevLocale = (0, $vhjCi$useRef)(locale);\n let prevFormatOptions = (0, $vhjCi$useRef)(formatOptions);\n if (!Object.is(numberValue, prevValue.current) || locale !== prevLocale.current || formatOptions !== prevFormatOptions.current) {\n setInputValue(format(numberValue));\n prevValue.current = numberValue;\n prevLocale.current = locale;\n prevFormatOptions.current = formatOptions;\n }\n // Store last parsed value in a ref so it can be used by increment/decrement below\n let parsedValue = (0, $vhjCi$useMemo)(()=>numberParser.parse(inputValue), [\n numberParser,\n inputValue\n ]);\n let parsed = (0, $vhjCi$useRef)(0);\n parsed.current = parsedValue;\n let commit = ()=>{\n // Set to empty state if input value is empty\n if (!inputValue.length) {\n setNumberValue(NaN);\n setInputValue(value === undefined ? \"\" : format(numberValue));\n return;\n }\n // if it failed to parse, then reset input to formatted version of current number\n if (isNaN(parsed.current)) {\n setInputValue(format(numberValue));\n return;\n }\n // Clamp to min and max, round to the nearest step, and round to specified number of digits\n let clampedValue;\n if (isNaN(step)) clampedValue = (0, $vhjCi$clamp)(parsed.current, minValue, maxValue);\n else clampedValue = (0, $vhjCi$snapValueToStep)(parsed.current, minValue, maxValue, step);\n clampedValue = numberParser.parse(format(clampedValue));\n setNumberValue(clampedValue);\n // in a controlled state, the numberValue won't change, so we won't go back to our old input without help\n setInputValue(format(value === undefined ? clampedValue : numberValue));\n };\n let safeNextStep = (operation, minMax)=>{\n let prev = parsed.current;\n if (isNaN(prev)) {\n // if the input is empty, start from the min/max value when incrementing/decrementing,\n // or zero if there is no min/max value defined.\n let newValue = isNaN(minMax) ? 0 : minMax;\n return (0, $vhjCi$snapValueToStep)(newValue, minValue, maxValue, clampStep);\n } else {\n // otherwise, first snap the current value to the nearest step. if it moves in the direction\n // we're going, use that value, otherwise add the step and snap that value.\n let newValue1 = (0, $vhjCi$snapValueToStep)(prev, minValue, maxValue, clampStep);\n if (operation === \"+\" && newValue1 > prev || operation === \"-\" && newValue1 < prev) return newValue1;\n return (0, $vhjCi$snapValueToStep)($de67e98908f0c6ee$var$handleDecimalOperation(operation, prev, clampStep), minValue, maxValue, clampStep);\n }\n };\n let increment = ()=>{\n let newValue = safeNextStep(\"+\", minValue);\n // if we've arrived at the same value that was previously in the state, the\n // input value should be updated to match\n // ex type 4, press increment, highlight the number in the input, type 4 again, press increment\n // you'd be at 5, then incrementing to 5 again, so no re-render would happen and 4 would be left in the input\n if (newValue === numberValue) setInputValue(format(newValue));\n setNumberValue(newValue);\n };\n let decrement = ()=>{\n let newValue = safeNextStep(\"-\", maxValue);\n if (newValue === numberValue) setInputValue(format(newValue));\n setNumberValue(newValue);\n };\n let incrementToMax = ()=>{\n if (maxValue != null) setNumberValue((0, $vhjCi$snapValueToStep)(maxValue, minValue, maxValue, clampStep));\n };\n let decrementToMin = ()=>{\n if (minValue != null) setNumberValue(minValue);\n };\n let canIncrement = (0, $vhjCi$useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || isNaN(maxValue) || (0, $vhjCi$snapValueToStep)(parsedValue, minValue, maxValue, clampStep) > parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation(\"+\", parsedValue, clampStep) <= maxValue), [\n isDisabled,\n isReadOnly,\n minValue,\n maxValue,\n clampStep,\n parsedValue\n ]);\n let canDecrement = (0, $vhjCi$useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || isNaN(minValue) || (0, $vhjCi$snapValueToStep)(parsedValue, minValue, maxValue, clampStep) < parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation(\"-\", parsedValue, clampStep) >= minValue), [\n isDisabled,\n isReadOnly,\n minValue,\n maxValue,\n clampStep,\n parsedValue\n ]);\n let validate = (value)=>numberParser.isValidPartialNumber(value, minValue, maxValue);\n return {\n validate: validate,\n increment: increment,\n incrementToMax: incrementToMax,\n decrement: decrement,\n decrementToMin: decrementToMin,\n canIncrement: canIncrement,\n canDecrement: canDecrement,\n minValue: minValue,\n maxValue: maxValue,\n numberValue: parsedValue,\n setInputValue: setInputValue,\n inputValue: inputValue,\n commit: commit\n };\n}\nfunction $de67e98908f0c6ee$var$handleDecimalOperation(operator, value1, value2) {\n let result = operator === \"+\" ? value1 + value2 : value1 - value2;\n // Check if we have decimals\n if (value1 % 1 !== 0 || value2 % 1 !== 0) {\n const value1Decimal = value1.toString().split(\".\");\n const value2Decimal = value2.toString().split(\".\");\n const value1DecimalLength = value1Decimal[1] && value1Decimal[1].length || 0;\n const value2DecimalLength = value2Decimal[1] && value2Decimal[1].length || 0;\n const multiplier = Math.pow(10, Math.max(value1DecimalLength, value2DecimalLength));\n // Transform the decimals to integers based on the precision\n value1 = Math.round(value1 * multiplier);\n value2 = Math.round(value2 * multiplier);\n // Perform the operation on integers values to make sure we don't get a fancy decimal value\n result = operator === \"+\" ? value1 + value2 : value1 - value2;\n // Transform the integer result back to decimal\n result /= multiplier;\n }\n return result;\n}\n\n\n\n\nexport {$de67e98908f0c6ee$export$7f629e9dc1ecf37c as useNumberFieldState};\n//# sourceMappingURL=module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport {\n Error as ErrorIcon,\n KeyboardArrowDown,\n KeyboardArrowUp,\n} from '@material-ui/icons';\nimport styled from 'styled-components';\nimport { useButton, type AriaButtonProps } from '@react-aria/button';\nimport {\n cloneElement,\n forwardRef,\n isValidElement,\n useRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport {\n useNumberField,\n type AriaNumberFieldProps,\n} from '@react-aria/numberfield';\nimport { useNumberFieldState } from '@react-stately/numberfield';\nimport { useObjectRef } from '@react-aria/utils';\nimport tokens from '@theroutingcompany/design-tokens';\nimport type {\n ComponentPropsWithoutStyles,\n InputValidationProps,\n RenameBooleanProps,\n RenameMissuffixedProps,\n} from 'helpers/typeHelpers';\nimport { Label } from 'components/Label/Label';\nimport { useFieldset } from 'components/Fieldset/Fieldset';\nimport {\n InputBase,\n InputDescription,\n InputErrorMessage,\n InputWrapper,\n type InputBaseProps,\n} from '../InputBase';\n\ntype ReactAriaNumberInputProps = Omit<\n RenameBooleanProps<AriaNumberFieldProps>,\n 'minValue' | 'maxValue'\n> &\n RenameMissuffixedProps<\n AriaNumberFieldProps,\n 'Value',\n 'minValue' | 'maxValue'\n >;\n\ntype ShowStepper = { showStepper?: boolean };\n\nconst NumberGroup = styled.div`\n --border-color: ${tokens.color_outline_secondary_enabled};\n display: inline-grid;\n grid-template:\n 'field increment'\n 'field decrement'/1fr auto;\n border-radius: ${tokens.border_radius_400};\n\n &:hover {\n --border-color: ${tokens.color_outline_secondary_hover};\n background-color: ${tokens.color_overlay_secondary_hover};\n }\n\n &:focus-within {\n background-color: ${tokens.color_overlay_secondary_enabled};\n outline: 1px solid black;\n --border-color: ${tokens.color_black};\n }\n`;\n\nconst NumberInputWithSteppers = styled(InputBase)`\n border-top-right-radius: 0;\n border-color: var(--border-color);\n border-bottom-right-radius: 0;\n border-right-width: 1px;\n border-right-color: transparent;\n grid-area: field;\n margin: 0;\n margin-right: -1px; // to make the borders overlap\n`;\n\n// Move?\nfunction Button(props: AriaButtonProps & ComponentPropsWithoutRef<'button'>) {\n const ref = useRef<HTMLButtonElement>(null);\n const { buttonProps, isPressed } = useButton(props, ref);\n const { children, className } = props;\n\n return (\n // buttonProps from useButton has us covered here\n // eslint-disable-next-line react/button-has-type\n <button\n data-state={isPressed ? 'pressed' : undefined}\n ref={ref}\n {...buttonProps}\n className={className}\n >\n {children}\n </button>\n );\n}\n\nconst StepperButton = styled(Button)`\n display: grid;\n place-items: center;\n color: ${tokens.color_text_weak};\n margin: 0;\n padding: 0;\n width: 20px;\n appearance: none;\n touch-action: none;\n -webkit-tap-highlight-color: transparent;\n border: none;\n border-right: 1px solid var(--border-color);\n border-left-width: 0px;\n border-left-color: transparent;\n\n background-color: white;\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear;\n transition-duration: ${tokens.transition_duration_150};\n outline-width: 0;\n\n &:hover {\n background-color: ${tokens.color_overlay_secondary_hover};\n color: ${tokens.color_fill_primary_hover};\n /* border-color: hotpink; */\n }\n\n &[data-state='pressed'] {\n background: ${tokens.color_fill_secondary_pressed};\n color: ${tokens.color_fill_primary_enabled};\n border-color: transparent;\n outline: none;\n }\n\n &:disabled {\n background-color: ${tokens.color_fill_secondary_disabled};\n cursor: not-allowed;\n color: revert;\n border-color: none;\n }\n\n & > svg {\n line-height: 0;\n font-size: 1rem;\n }\n`;\n\nconst StepperButtonTop = styled(StepperButton)`\n border-radius: unset;\n border-top: 1px solid var(--border-color);\n border-top-right-radius: ${tokens.border_radius_400};\n border-bottom-width: 0.5px;\n grid-area: increment;\n margin-bottom: -0.5px;\n`;\n\nconst StepperButtonBottom = styled(StepperButton)`\n border-radius: unset;\n border-bottom: 1px solid var(--border-color);\n border-bottom-right-radius: ${tokens.border_radius_400};\n border-top-color: transparent;\n border-top-width: 0.5px;\n margin-top: -0.5px;\n grid-area: decrement;\n`;\n\nexport type NumberInputProps = Pick<\n ComponentPropsWithoutStyles<'input'>,\n 'name'\n> &\n ReactAriaNumberInputProps &\n InputBaseProps &\n InputValidationProps &\n ShowStepper;\n\n// Only show steppers when 'step' is passed or seperate prop to toggle them?\n// https://stackoverflow.blog/2022/09/15/why-the-number-input-is-the-worst-input/\n// https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers/\n/**\n * Use cases\n *\n * 1. With custom Label element as prop\n * ```jsx\n * <NumberInput label={<Label>Label text</Label>} />\n * ```\n *\n * 2. With string label as prop\n * ```jsx\n * <NumberInput label=\"Label text\" />\n * ```\n *\n * 3. Wrapped by `<label>`\n * ```jsx\n * <label>\n * Label text\n * <NumberInput />\n * </label>\n * ```\n */\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (props, forwardedRef) => {\n const {\n description,\n disabled,\n readOnly,\n required,\n paddingSize = 'small', // size is also native input attribute https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size\n label,\n errorMessage,\n validationState, // or a boolean prop? invalid?\n placeholder = 'Enter number...',\n showStepper = true,\n min,\n max,\n ...remainingProps\n } = props;\n\n const disabledByFieldset = useFieldset();\n\n const isDisabled = disabled || disabledByFieldset;\n // const { locale } = useLocale();\n const inputRef = useObjectRef(forwardedRef);\n const state = useNumberFieldState({\n ...remainingProps,\n isDisabled,\n isReadOnly: readOnly,\n isRequired: required,\n minValue: min,\n maxValue: max,\n placeholder,\n locale: 'en-US',\n }); // TODO got locale from user settings?\n\n const {\n labelProps,\n groupProps,\n inputProps,\n incrementButtonProps,\n decrementButtonProps,\n descriptionProps,\n errorMessageProps,\n } = useNumberField(\n {\n ...remainingProps,\n isDisabled,\n isReadOnly: readOnly,\n isRequired: required,\n minValue: min,\n maxValue: max,\n placeholder,\n label,\n },\n state,\n inputRef,\n );\n\n let labelEl: ReactNode = null;\n\n // Not sure about using cloneElement here\n // Maybe also opt instead for small context like useFormInput?\n if (typeof label === 'string') {\n labelEl = <Label {...labelProps}>{label}</Label>;\n } else if (isValidElement(label)) {\n labelEl = cloneElement(label, { ...labelProps });\n }\n\n return (\n <InputWrapper>\n {labelEl}\n {showStepper ? (\n <NumberGroup {...groupProps}>\n <NumberInputWithSteppers\n {...inputProps}\n paddingSize={paddingSize}\n ref={inputRef}\n />\n {showStepper ? (\n <>\n <StepperButtonTop {...incrementButtonProps}>\n <KeyboardArrowUp />\n </StepperButtonTop>\n\n <StepperButtonBottom {...decrementButtonProps}>\n <KeyboardArrowDown />\n </StepperButtonBottom>\n </>\n ) : null}\n </NumberGroup>\n ) : (\n <InputBase ref={inputRef} {...inputProps} paddingSize={paddingSize} />\n )}\n {errorMessage && (\n <InputErrorMessage {...errorMessageProps}>\n <ErrorIcon />\n {errorMessage}\n </InputErrorMessage>\n )}\n {description && (\n <InputDescription {...descriptionProps}>\n {description}\n </InputDescription>\n )}\n </InputWrapper>\n );\n },\n);\nNumberInput.displayName = 'NumberInput';\n","/* eslint-disable react/jsx-props-no-spreading */\nimport {\n cloneElement,\n forwardRef,\n isValidElement,\n type ReactNode,\n} from 'react';\nimport { useTextField, type AriaTextFieldOptions } from '@react-aria/textfield';\nimport { useObjectRef } from '@react-aria/utils';\nimport { Error as ErrorIcon } from '@material-ui/icons';\nimport type { RenameBooleanProps } from 'helpers/typeHelpers';\nimport { Label } from 'components/Label/Label';\nimport { useFieldset } from 'components/Fieldset/Fieldset';\nimport {\n InputBase,\n InputDescription,\n InputErrorMessage,\n InputWrapper,\n type InputBaseProps,\n} from '../InputBase';\n\ntype ReactAriaInputProps = Omit<\n RenameBooleanProps<AriaTextFieldOptions<'textarea'>>,\n 'inputElementType'\n>;\n\nexport type TextAreaInputProps = ReactAriaInputProps & InputBaseProps;\n\n// Very similar to TextInput, tried making that component more generic but that quickly became a hard with props and typescript\n// I figure some repetition is better than one very complex component that's hard to use\nexport const TextAreaInput = forwardRef<\n HTMLTextAreaElement,\n TextAreaInputProps\n>((props, forwardedRef) => {\n const {\n errorMessage,\n description,\n disabled,\n readOnly,\n required,\n paddingSize = 'large',\n label,\n validationState,\n placeholder = 'Enter text...',\n ...remainingProps\n } = props;\n\n const inputRef = useObjectRef(forwardedRef);\n const disabledByFieldset = useFieldset();\n const isDisabled = disabled || disabledByFieldset;\n\n const { labelProps, descriptionProps, inputProps, errorMessageProps } =\n useTextField(\n {\n ...remainingProps,\n isDisabled,\n isReadOnly: readOnly,\n isRequired: required,\n placeholder,\n label,\n inputElementType: 'textarea',\n },\n inputRef,\n );\n\n let labelEl: ReactNode = null;\n\n if (typeof label === 'string') {\n labelEl = <Label {...labelProps}>{label}</Label>;\n } else if (isValidElement(label)) {\n // has to be <label> tho, not sure about the cloneElement approach\n labelEl = cloneElement(label, { ...labelProps });\n }\n\n return (\n // TODO Use a <Flex> component instead of <InputWrapper/> here? Make InputWrapper extend a Flex comp: const InputWrapper = styled(Flex)\n <InputWrapper>\n {labelEl}\n <InputBase\n as='textarea'\n data-state={validationState}\n paddingSize={paddingSize}\n ref={inputRef}\n placeholder='Enter...'\n {...inputProps}\n />\n {errorMessage && (\n <InputErrorMessage {...errorMessageProps}>\n <ErrorIcon />\n {errorMessage}\n </InputErrorMessage>\n )}\n {description && (\n <InputDescription {...descriptionProps}>{description}</InputDescription>\n )}\n </InputWrapper>\n );\n});\nTextAreaInput.displayName = 'TextAreaInput';\n","/* eslint-disable react/jsx-props-no-spreading */\nimport {\n createContext,\n useContext,\n type PropsWithChildren,\n type ReactNode,\n forwardRef,\n} from 'react';\nimport { Error as ErrorIcon } from '@material-ui/icons';\nimport {\n useField,\n type AriaFieldProps,\n type FieldAria,\n} from '@react-aria/label';\nimport type {\n ComponentPropsWithoutStyles,\n InputValidationProps,\n} from 'helpers/typeHelpers';\nimport { TextInput } from 'components/Input/TextInput/TextInput';\n\nimport { Label } from 'components/Label/Label';\nimport { IconTooltip } from 'components/Tooltip/IconTooltip';\nimport {\n InputDescription,\n InputErrorMessage,\n InputWrapper,\n} from 'components/Input/InputBase';\n// import { Select } from 'components/Select/Select';\nimport {\n NumberInput,\n type NumberInputProps,\n} from 'components/Input/NumberInput/NumberInput';\nimport {\n TextAreaInput,\n type TextAreaInputProps,\n} from 'components/Input/TextArea/TextArea';\n\ntype FormControlProps = PropsWithChildren<\n {\n tooltipContent?: string;\n tooltipIcon?: ReactNode;\n // labelSuffix?: ReactNode; // Fe for the \"(Optional)\" in the designs\n } & AriaFieldProps\n>;\n\n// rename to FieldPropsContext?\n// adding description and error props in here could make it more flexible, enable user to use custom component for error & description\n// question is do we want that?\nconst FormControlContext = createContext<FieldAria['fieldProps']>({});\nFormControlContext.displayName = 'FormControlContext';\n\n// TODO move to hooks/helpers file?\n/** If in a `<FormControl/>`, read `fieldProps` generated by that FormControl's `useField` hook */\nexport function useFieldProps() {\n return useContext(FormControlContext);\n}\n\n// Forward ref?\nexport function FormControl({\n children,\n label,\n // labelSuffix = null,\n errorMessage,\n description,\n tooltipContent,\n tooltipIcon,\n validationState,\n id,\n ...props\n}: FormControlProps) {\n const { descriptionProps, errorMessageProps, fieldProps, labelProps } =\n useField({\n errorMessage,\n label, // what does react-aria do when a label reactNode is passed?\n description,\n validationState,\n id,\n ...props,\n });\n\n return (\n <FormControlContext.Provider value={fieldProps}>\n <InputWrapper>\n {/* make context with labelProps value, use that context in Label and allow user to compose? */}\n <Label {...labelProps}>\n {label}\n {tooltipContent ? (\n <IconTooltip icon={tooltipIcon}>{tooltipContent}</IconTooltip>\n ) : null}\n {/* {labelSuffix} */}\n </Label>\n {children}\n {description && (\n <InputDescription {...descriptionProps}>\n {description}\n </InputDescription>\n )}\n {errorMessage && (\n <InputErrorMessage {...errorMessageProps}>\n <ErrorIcon />\n {errorMessage}\n </InputErrorMessage>\n )}\n </InputWrapper>\n </FormControlContext.Provider>\n );\n}\n\ntype TextFormControlProps = FormControlProps &\n InputValidationProps &\n ComponentPropsWithoutStyles<'input'>;\n\nexport const TextFormControl = forwardRef<\n HTMLInputElement,\n TextFormControlProps\n>((props, forwardedRef) => {\n const { label, tooltipContent, tooltipIcon, value, ...remainingProps } =\n props;\n\n return (\n // @ts-expect-error Not sure what TS is on about here\n <TextInput\n ref={forwardedRef}\n label={\n <Label>\n {label}\n {tooltipContent ? (\n <IconTooltip icon={tooltipIcon}>{tooltipContent}</IconTooltip>\n ) : null}\n </Label>\n }\n {...remainingProps}\n />\n );\n});\nTextFormControl.displayName = 'TextFormControl';\n\ntype TextAreaFormControlProps = FormControlProps &\n InputValidationProps &\n ComponentPropsWithoutStyles<'textarea'> &\n TextAreaInputProps;\n\nexport const TextAreaFormControl = forwardRef<\n HTMLTextAreaElement,\n TextAreaFormControlProps\n>((props, forwardedRef) => {\n const { label, tooltipContent, tooltipIcon, ...remainingProps } = props;\n\n return (\n <TextAreaInput\n ref={forwardedRef}\n label={\n <Label>\n {label}\n {tooltipContent ? (\n <IconTooltip icon={tooltipIcon}>{tooltipContent}</IconTooltip>\n ) : null}\n </Label>\n }\n {...remainingProps}\n />\n );\n});\nTextAreaFormControl.displayName = 'TextAreaFormControl';\n\ntype NumberFormControlProps = FormControlProps & NumberInputProps;\n\nexport const NumberFormControl = forwardRef<\n HTMLInputElement,\n NumberFormControlProps\n>((props, forwardedRef) => {\n const { label, tooltipContent, tooltipIcon, ...remainingProps } = props;\n\n return (\n <NumberInput\n ref={forwardedRef}\n label={\n <Label>\n {label}\n {tooltipContent ? (\n <IconTooltip icon={tooltipIcon}>{tooltipContent}</IconTooltip>\n ) : null}\n </Label>\n }\n {...remainingProps}\n />\n );\n});\nNumberFormControl.displayName = 'NumberFormControl';\n","import { useFieldset } from '../Fieldset/Fieldset';\nimport { useFieldProps } from './FormControl';\n\n/** Returns the right field props when the input component is used inside a `<FormField>`. Also ensures a `disabled` */\nexport function useFormInput(disabled?: boolean) {\n const disabledByFieldset = useFieldset();\n const isDisabled = disabled || disabledByFieldset;\n const fieldProps = useFieldProps();\n\n return { ...fieldProps, disabled: isDisabled };\n}\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport {\n CheckBox,\n IndeterminateCheckBox,\n CheckBoxOutlineBlank,\n} from '@material-ui/icons';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { useFormInput } from '../FormControl/useFormInput';\n\n// Export these too?\nconst StyledCheckbox = styled(CheckboxPrimitive.Root)`\n all: unset;\n background-color: ${tokens.color_white};\n width: ${tokens.sizing_600};\n height: ${tokens.sizing_600};\n border-radius: ${tokens.border_radius_circle};\n display: flex;\n align-items: center;\n justify-content: center;\n animation: fadeIn 0.1s linear;\n\n /* Dont think this does anything */\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n &:hover {\n background-color: hsla(\n 0deg,\n 0%,\n 0%,\n 3%\n ); /* Interactive / Overlay / Secondary / Hover */\n }\n\n &:focus {\n /* TODO */\n }\n\n &:invalid {\n color: ${tokens.color_fill_danger_enabled};\n }\n\n &[data-state='checked'],\n &[data-state='indeterminate'] {\n color: ${tokens.color_fill_primary_enabled};\n }\n\n &[data-disabled] {\n color: ${tokens.color_fill_primary_disabled};\n cursor: not-allowed;\n }\n\n &[aria-invalid='true'] {\n color: ${tokens.color_fill_danger_enabled};\n }\n`;\n\nconst StyledIndicator = styled(CheckboxPrimitive.Indicator)`\n line-height: 0;\n\n & > svg {\n line-height: 0;\n }\n`;\n\nexport type CheckedState = CheckboxPrimitive.CheckedState;\nexport type CheckboxProps = CheckboxPrimitive.CheckboxProps & {\n invalid?: boolean;\n};\n// export type CheckboxIndicatorProps = CheckboxPrimitive.CheckboxProps;\n\n// Can't be uncontrolled because of indeterminate state, which is fine anyware, what good is an uncontrolled checkbox\nexport function Checkbox({\n disabled,\n checked,\n invalid,\n ...props\n}: CheckboxProps) {\n const fieldProps = useFormInput(disabled);\n\n // validate checked prop here?\n return (\n <StyledCheckbox\n {...props}\n {...fieldProps}\n checked={checked}\n aria-invalid={invalid}\n >\n {!checked && <CheckBoxOutlineBlank />}\n <StyledIndicator>\n {checked === true && <CheckBox />}\n {checked === 'indeterminate' && <IndeterminateCheckBox />}\n </StyledIndicator>\n </StyledCheckbox>\n );\n}\n\n// Make Checkbox comp with label too?\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport { forwardRef } from 'react';\nimport type * as Polymorphic from '@radix-ui/react-polymorphic';\nimport tokens from '@theroutingcompany/design-tokens';\n\nconst BaseHeading = styled.h1`\n font-family: ${tokens.font_family_inter_display};\n font-weight: 500; // don't really see value of using tokens for font-weight\n font-style: normal;\n margin: 0;\n`;\n\nconst LargeHeading = styled(BaseHeading)`\n letter-spacing: ${tokens.letter_spacing_heading_large};\n font-size: ${tokens.font_size_heading_large};\n`;\n\nconst MediumHeading = styled(BaseHeading)`\n letter-spacing: ${tokens.letter_spacing_heading_medium};\n font-size: ${tokens.font_size_heading_medium};\n`;\n\nconst SmallHeading = styled(BaseHeading)`\n letter-spacing: ${tokens.letter_spacing_heading_small};\n font-size: ${tokens.font_size_heading_small};\n`;\n\ntype HeadingProps = {\n size: 'small' | 'medium' | 'large';\n className: never;\n style: never;\n};\n\ntype PolymorphicHeading = Polymorphic.ForwardRefComponent<\n 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6', // more? span? div?\n HeadingProps\n>;\n\nconst headingComps = {\n small: SmallHeading,\n medium: MediumHeading,\n large: LargeHeading,\n};\n\nexport const Heading = forwardRef((props, ref) => {\n const { children, as, size, ...remainingProps } = props;\n\n const HeadingComp = headingComps[size];\n\n return (\n <HeadingComp {...remainingProps} ref={ref} as={as}>\n {children}\n </HeadingComp>\n );\n}) as PolymorphicHeading;\nHeading.displayName = 'Heading';\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport { useButton, AriaButtonProps } from '@react-aria/button';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useObjectRef } from '@react-aria/utils';\nimport { forwardRef, type ComponentPropsWithRef } from 'react';\nimport { AccessibleIcon } from '../AccessibleIcon/AccessibleIcon';\nimport tokens from '@theroutingcompany/design-tokens';\n\ntype Size = 'small' | 'large';\ntype Variant = 'primary' | 'secondary' | 'danger' | 'inverse'; // TODO maybe import from somewhere?\ntype Shape = 'circle' | 'square';\n\n// Also move component styles to tokens?\nconst sizes = {\n small: '32px', // tokens.sizing_600\n large: '40px', // tokens.sizing_650\n} as const;\n\nconst borderRadii = {\n circle: tokens.border_radius_circle,\n square: tokens.border_radius_400,\n} as const;\n\nconst IconButtonBase = styled.button`\n appearance: none;\n display: grid;\n place-items: center;\n border-radius: var(--icon-button-border-radius); // add default?\n height: var(--icon-button-size);\n width: var(--icon-button-size);\n border: none;\n touch-action: none;\n cursor: pointer;\n white-space: nowrap;\n -webkit-tap-highlight-color: transparent;\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear;\n transition-duration: ${tokens.transition_duration_150};\n\n // Not sure about focus-visible\n /* &:focus-visible {\n outline: none;\n } */\n\n &[data-state~='focused'] {\n outline-color: ${tokens.color_black};\n outline-style: solid;\n outline-width: 1px; // TODO make token\n outline-offset: 2px; // TODO make token\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n\n & > svg {\n line-height: 0;\n font-size: ${tokens.font_size_200};\n }\n`;\n\nconst PrimaryIconButton = styled(IconButtonBase)`\n background: ${tokens.color_fill_primary_enabled};\n color: ${tokens.color_white};\n\n &:hover {\n background: ${tokens.color_fill_primary_hover};\n color: ${tokens.color_fill_inverse_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_fill_primary_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_primary_disabled};\n color: ${tokens.color_fill_inverse_pressed};\n }\n`;\n\nconst SecondaryIconButton = styled(IconButtonBase)`\n background: ${tokens.color_fill_secondary_enabled};\n color: ${tokens.color_fill_primary_enabled};\n\n &:hover {\n background: ${tokens.color_fill_secondary_hover};\n color: ${tokens.color_fill_primary_hover};\n }\n\n &[data-state~='pressed'] {\n background: ${tokens.color_fill_secondary_pressed};\n color: ${tokens.color_fill_primary_enabled};\n }\n\n &:disabled {\n background: ${tokens.color_fill_secondary_disabled};\n }\n`;\n\nconst DangerIconButton = styled(IconButtonBase)`\n background: ${tokens.color_fill_danger_enabled};\n color: ${tokens.color_white};\n\n &:hover {\n color: ${tokens.color_fill_inverse_hover};\n background: ${tokens.color_fill_danger_hover};\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_fill_danger_pressed};\n color: ${tokens.color_fill_inverse_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_danger_disabled};\n }\n`;\n\nconst InverseIconButton = styled(IconButtonBase)`\n background: ${tokens.color_white};\n\n &:hover {\n background-color: ${tokens.color_fill_inverse_hover};\n }\n\n &[data-state~='pressed'] {\n background-color: ${tokens.color_fill_inverse_pressed};\n }\n\n &:disabled {\n background: ${tokens.color_fill_inverse_disabled};\n }\n`;\n\nconst iconButtonVariants = {\n primary: PrimaryIconButton,\n secondary: SecondaryIconButton,\n danger: DangerIconButton,\n inverse: InverseIconButton,\n} as const; // TODO add react-aria button props\n\nexport type StyledIconButtonProps = ComponentPropsWithRef<'button'> &\n AriaButtonProps & {\n label: string;\n size?: Size;\n variant?: Variant;\n shape?: Shape;\n disabled?: boolean;\n // emphasis?: Emphasis;\n };\n\n/** Be sure to add add a `label`.\n * ```jsx\n * <IconButton label=\"Add new item\">\n * <AddIcon/>\n * </IconButton>\n *\n */\nexport const IconButton = forwardRef<HTMLButtonElement, StyledIconButtonProps>(\n (props, forwardedRef) => {\n const ref = useObjectRef(forwardedRef);\n const {\n label,\n size = 'small',\n variant = 'primary',\n shape = 'circle',\n disabled: isDisabled = false,\n onClick,\n autoFocus,\n children,\n ...remainingProps\n } = props;\n\n const { buttonProps, isPressed } = useButton(\n // @ts-expect-error\n { onPress: onClick, isDisabled, autoFocus, ...remainingProps }, // TODO look into TS error with onPress/onClick\n ref,\n );\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n\n const focusState = isFocusVisible ? 'focused' : undefined;\n const pressedState = isPressed ? 'pressed' : undefined;\n const dataState = [focusState, pressedState].filter(Boolean).join(' ');\n\n const IconButtonComp = iconButtonVariants[variant]; // ?? \"button\"\n const borderRadius = borderRadii[shape];\n const width = sizes[size];\n\n return (\n <IconButtonComp\n ref={ref}\n data-state={dataState}\n shape={shape}\n size={size}\n {...buttonProps}\n {...focusProps}\n style={{\n // @ts-expect-error\n '--icon-button-size': width,\n '--icon-button-border-radius': borderRadius,\n }}\n >\n <AccessibleIcon label={label}>{children}</AccessibleIcon>\n </IconButtonComp>\n );\n },\n);\nIconButton.displayName = 'Button';\n","import $5WXm8$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $5WXm8$forwardRef, createElement as $5WXm8$createElement} from \"react\";\nimport {Primitive as $5WXm8$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Separator\n * -----------------------------------------------------------------------------------------------*/ const $89eedd556c436f6a$var$NAME = 'Separator';\nconst $89eedd556c436f6a$var$DEFAULT_ORIENTATION = 'horizontal';\nconst $89eedd556c436f6a$var$ORIENTATIONS = [\n 'horizontal',\n 'vertical'\n];\nconst $89eedd556c436f6a$export$1ff3c3f08ae963c0 = /*#__PURE__*/ $5WXm8$forwardRef((props, forwardedRef)=>{\n const { decorative: decorative , orientation: orientationProp = $89eedd556c436f6a$var$DEFAULT_ORIENTATION , ...domProps } = props;\n const orientation = $89eedd556c436f6a$var$isValidOrientation(orientationProp) ? orientationProp : $89eedd556c436f6a$var$DEFAULT_ORIENTATION; // `aria-orientation` defaults to `horizontal` so we only need it if `orientation` is vertical\n const ariaOrientation = orientation === 'vertical' ? orientation : undefined;\n const semanticProps = decorative ? {\n role: 'none'\n } : {\n 'aria-orientation': ariaOrientation,\n role: 'separator'\n };\n return /*#__PURE__*/ $5WXm8$createElement($5WXm8$Primitive.div, $5WXm8$babelruntimehelpersesmextends({\n \"data-orientation\": orientation\n }, semanticProps, domProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($89eedd556c436f6a$export$1ff3c3f08ae963c0, {\n displayName: $89eedd556c436f6a$var$NAME\n});\n$89eedd556c436f6a$export$1ff3c3f08ae963c0.propTypes = {\n orientation (props, propName, componentName) {\n const propValue = props[propName];\n const strVal = String(propValue);\n if (propValue && !$89eedd556c436f6a$var$isValidOrientation(propValue)) return new Error($89eedd556c436f6a$var$getInvalidOrientationError(strVal, componentName));\n return null;\n }\n};\n/* -----------------------------------------------------------------------------------------------*/ // Split this out for clearer readability of the error message.\nfunction $89eedd556c436f6a$var$getInvalidOrientationError(value, componentName) {\n return `Invalid prop \\`orientation\\` of value \\`${value}\\` supplied to \\`${componentName}\\`, expected one of:\n - horizontal\n - vertical\n\nDefaulting to \\`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\\`.`;\n}\nfunction $89eedd556c436f6a$var$isValidOrientation(orientation) {\n return $89eedd556c436f6a$var$ORIENTATIONS.includes(orientation);\n}\nconst $89eedd556c436f6a$export$be92b6f5f03c0fe9 = $89eedd556c436f6a$export$1ff3c3f08ae963c0;\n\n\n\n\nexport {$89eedd556c436f6a$export$1ff3c3f08ae963c0 as Separator, $89eedd556c436f6a$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import $6vYhU$react from \"react\";\nimport {createContextScope as $6vYhU$createContextScope} from \"@radix-ui/react-context\";\nimport {useComposedRefs as $6vYhU$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Slot as $6vYhU$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\nfunction $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(name) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/ const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = $6vYhU$createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {\n collectionRef: {\n current: null\n },\n itemMap: new Map()\n });\n const CollectionProvider = (props)=>{\n const { scope: scope , children: children } = props;\n const ref = $6vYhU$react.useRef(null);\n const itemMap = $6vYhU$react.useRef(new Map()).current;\n return /*#__PURE__*/ $6vYhU$react.createElement(CollectionProviderImpl, {\n scope: scope,\n itemMap: itemMap,\n collectionRef: ref\n }, children);\n };\n /*#__PURE__*/ Object.assign(CollectionProvider, {\n displayName: PROVIDER_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/ const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n const CollectionSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n const { scope: scope , children: children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = $6vYhU$useComposedRefs(forwardedRef, context.collectionRef);\n return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n ref: composedRefs\n }, children);\n });\n /*#__PURE__*/ Object.assign(CollectionSlot, {\n displayName: COLLECTION_SLOT_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/ const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n const CollectionItemSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n const { scope: scope , children: children , ...itemData } = props;\n const ref = $6vYhU$react.useRef(null);\n const composedRefs = $6vYhU$useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n $6vYhU$react.useEffect(()=>{\n context.itemMap.set(ref, {\n ref: ref,\n ...itemData\n });\n return ()=>void context.itemMap.delete(ref)\n ;\n });\n return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n [ITEM_DATA_ATTR]: '',\n ref: composedRefs\n }, children);\n });\n /*#__PURE__*/ Object.assign(CollectionItemSlot, {\n displayName: ITEM_SLOT_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/ function useCollection(scope) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n const getItems = $6vYhU$react.useCallback(()=>{\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort((a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [\n context.collectionRef,\n context.itemMap\n ]);\n return getItems;\n }\n return [\n {\n Provider: CollectionProvider,\n Slot: CollectionSlot,\n ItemSlot: CollectionItemSlot\n },\n useCollection,\n createCollectionScope\n ];\n}\n\n\n\n\nexport {$e02a7d9cb1dc128c$export$c74125a8e3af6bb2 as createCollection};\n//# sourceMappingURL=index.module.js.map\n","import $eyrYI$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $eyrYI$useState, useRef as $eyrYI$useRef, createElement as $eyrYI$createElement, useCallback as $eyrYI$useCallback, forwardRef as $eyrYI$forwardRef, useEffect as $eyrYI$useEffect, useMemo as $eyrYI$useMemo, Fragment as $eyrYI$Fragment} from \"react\";\nimport {createPortal as $eyrYI$createPortal} from \"react-dom\";\nimport {composeEventHandlers as $eyrYI$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $eyrYI$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createCollection as $eyrYI$createCollection} from \"@radix-ui/react-collection\";\nimport {createContextScope as $eyrYI$createContextScope} from \"@radix-ui/react-context\";\nimport {Branch as $eyrYI$Branch, Root as $eyrYI$Root} from \"@radix-ui/react-dismissable-layer\";\nimport {Portal as $eyrYI$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $eyrYI$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $eyrYI$Primitive, dispatchDiscreteCustomEvent as $eyrYI$dispatchDiscreteCustomEvent} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $eyrYI$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $eyrYI$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $eyrYI$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {VisuallyHidden as $eyrYI$VisuallyHidden} from \"@radix-ui/react-visually-hidden\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * ToastProvider\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$PROVIDER_NAME = 'ToastProvider';\nconst [$054eb8030ebde76e$var$Collection, $054eb8030ebde76e$var$useCollection, $054eb8030ebde76e$var$createCollectionScope] = $eyrYI$createCollection('Toast');\nconst [$054eb8030ebde76e$var$createToastContext, $054eb8030ebde76e$export$8a359da18fbc9073] = $eyrYI$createContextScope('Toast', [\n $054eb8030ebde76e$var$createCollectionScope\n]);\nconst [$054eb8030ebde76e$var$ToastProviderProvider, $054eb8030ebde76e$var$useToastProviderContext] = $054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$PROVIDER_NAME);\nconst $054eb8030ebde76e$export$f5d03d415824e0e = (props)=>{\n const { __scopeToast: __scopeToast , label: label = 'Notification' , duration: duration = 5000 , swipeDirection: swipeDirection = 'right' , swipeThreshold: swipeThreshold = 50 , children: children } = props;\n const [viewport, setViewport] = $eyrYI$useState(null);\n const [toastCount, setToastCount] = $eyrYI$useState(0);\n const isFocusedToastEscapeKeyDownRef = $eyrYI$useRef(false);\n const isClosePausedRef = $eyrYI$useRef(false);\n return /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$Collection.Provider, {\n scope: __scopeToast\n }, /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastProviderProvider, {\n scope: __scopeToast,\n label: label,\n duration: duration,\n swipeDirection: swipeDirection,\n swipeThreshold: swipeThreshold,\n toastCount: toastCount,\n viewport: viewport,\n onViewportChange: setViewport,\n onToastAdd: $eyrYI$useCallback(()=>setToastCount((prevCount)=>prevCount + 1\n )\n , []),\n onToastRemove: $eyrYI$useCallback(()=>setToastCount((prevCount)=>prevCount - 1\n )\n , []),\n isFocusedToastEscapeKeyDownRef: isFocusedToastEscapeKeyDownRef,\n isClosePausedRef: isClosePausedRef\n }, children));\n};\n$054eb8030ebde76e$export$f5d03d415824e0e.propTypes = {\n label (props) {\n if (props.label && typeof props.label === 'string' && !props.label.trim()) {\n const error = `Invalid prop \\`label\\` supplied to \\`${$054eb8030ebde76e$var$PROVIDER_NAME}\\`. Expected non-empty \\`string\\`.`;\n return new Error(error);\n }\n return null;\n }\n};\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$f5d03d415824e0e, {\n displayName: $054eb8030ebde76e$var$PROVIDER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ToastViewport\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$VIEWPORT_NAME = 'ToastViewport';\nconst $054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY = [\n 'F8'\n];\nconst $054eb8030ebde76e$var$VIEWPORT_PAUSE = 'toast.viewportPause';\nconst $054eb8030ebde76e$var$VIEWPORT_RESUME = 'toast.viewportResume';\nconst $054eb8030ebde76e$export$6192c2425ecfd989 = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , hotkey: hotkey = $054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY , label: label = 'Notifications ({hotkey})' , ...viewportProps } = props;\n const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$VIEWPORT_NAME, __scopeToast);\n const getItems = $054eb8030ebde76e$var$useCollection(__scopeToast);\n const wrapperRef = $eyrYI$useRef(null);\n const headFocusProxyRef = $eyrYI$useRef(null);\n const tailFocusProxyRef = $eyrYI$useRef(null);\n const ref = $eyrYI$useRef(null);\n const composedRefs = $eyrYI$useComposedRefs(forwardedRef, ref, context.onViewportChange);\n const hotkeyLabel = hotkey.join('+').replace(/Key/g, '').replace(/Digit/g, '');\n const hasToasts = context.toastCount > 0;\n $eyrYI$useEffect(()=>{\n const handleKeyDown = (event)=>{\n var _ref$current;\n // we use `event.code` as it is consistent regardless of meta keys that were pressed.\n // for example, `event.key` for `Control+Alt+t` is `†` and `t !== †`\n const isHotkeyPressed = hotkey.every((key)=>event[key] || event.code === key\n );\n if (isHotkeyPressed) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();\n };\n document.addEventListener('keydown', handleKeyDown);\n return ()=>document.removeEventListener('keydown', handleKeyDown)\n ;\n }, [\n hotkey\n ]);\n $eyrYI$useEffect(()=>{\n const wrapper = wrapperRef.current;\n const viewport = ref.current;\n if (hasToasts && wrapper && viewport) {\n const handlePause = ()=>{\n if (!context.isClosePausedRef.current) {\n const pauseEvent = new CustomEvent($054eb8030ebde76e$var$VIEWPORT_PAUSE);\n viewport.dispatchEvent(pauseEvent);\n context.isClosePausedRef.current = true;\n }\n };\n const handleResume = ()=>{\n if (context.isClosePausedRef.current) {\n const resumeEvent = new CustomEvent($054eb8030ebde76e$var$VIEWPORT_RESUME);\n viewport.dispatchEvent(resumeEvent);\n context.isClosePausedRef.current = false;\n }\n };\n const handleFocusOutResume = (event)=>{\n const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);\n if (isFocusMovingOutside) handleResume();\n };\n const handlePointerLeaveResume = ()=>{\n const isFocusInside = wrapper.contains(document.activeElement);\n if (!isFocusInside) handleResume();\n }; // Toasts are not in the viewport React tree so we need to bind DOM events\n wrapper.addEventListener('focusin', handlePause);\n wrapper.addEventListener('focusout', handleFocusOutResume);\n wrapper.addEventListener('pointermove', handlePause);\n wrapper.addEventListener('pointerleave', handlePointerLeaveResume);\n window.addEventListener('blur', handlePause);\n window.addEventListener('focus', handleResume);\n return ()=>{\n wrapper.removeEventListener('focusin', handlePause);\n wrapper.removeEventListener('focusout', handleFocusOutResume);\n wrapper.removeEventListener('pointermove', handlePause);\n wrapper.removeEventListener('pointerleave', handlePointerLeaveResume);\n window.removeEventListener('blur', handlePause);\n window.removeEventListener('focus', handleResume);\n };\n }\n }, [\n hasToasts,\n context.isClosePausedRef\n ]);\n const getSortedTabbableCandidates = $eyrYI$useCallback(({ tabbingDirection: tabbingDirection })=>{\n const toastItems = getItems();\n const tabbableCandidates = toastItems.map((toastItem)=>{\n const toastNode = toastItem.ref.current;\n const toastTabbableCandidates = [\n toastNode,\n ...$054eb8030ebde76e$var$getTabbableCandidates(toastNode)\n ];\n return tabbingDirection === 'forwards' ? toastTabbableCandidates : toastTabbableCandidates.reverse();\n });\n return (tabbingDirection === 'forwards' ? tabbableCandidates.reverse() : tabbableCandidates).flat();\n }, [\n getItems\n ]);\n $eyrYI$useEffect(()=>{\n const viewport = ref.current; // We programmatically manage tabbing as we are unable to influence\n // the source order with portals, this allows us to reverse the\n // tab order so that it runs from most recent toast to least\n if (viewport) {\n const handleKeyDown = (event)=>{\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === 'Tab' && !isMetaKey;\n if (isTabKey) {\n const focusedElement = document.activeElement;\n const isTabbingBackwards = event.shiftKey;\n const targetIsViewport = event.target === viewport; // If we're back tabbing after jumping to the viewport then we simply\n // proxy focus out to the preceding document\n if (targetIsViewport && isTabbingBackwards) {\n var _headFocusProxyRef$cu;\n (_headFocusProxyRef$cu = headFocusProxyRef.current) === null || _headFocusProxyRef$cu === void 0 || _headFocusProxyRef$cu.focus();\n return;\n }\n const tabbingDirection = isTabbingBackwards ? 'backwards' : 'forwards';\n const sortedCandidates = getSortedTabbableCandidates({\n tabbingDirection: tabbingDirection\n });\n const index = sortedCandidates.findIndex((candidate)=>candidate === focusedElement\n );\n if ($054eb8030ebde76e$var$focusFirst(sortedCandidates.slice(index + 1))) event.preventDefault();\n else {\n var _headFocusProxyRef$cu2, _tailFocusProxyRef$cu;\n // If we can't focus that means we're at the edges so we\n // proxy to the corresponding exit point and let the browser handle\n // tab/shift+tab keypress and implicitly pass focus to the next valid element in the document\n isTabbingBackwards ? (_headFocusProxyRef$cu2 = headFocusProxyRef.current) === null || _headFocusProxyRef$cu2 === void 0 || _headFocusProxyRef$cu2.focus() : (_tailFocusProxyRef$cu = tailFocusProxyRef.current) === null || _tailFocusProxyRef$cu === void 0 || _tailFocusProxyRef$cu.focus();\n }\n }\n }; // Toasts are not in the viewport React tree so we need to bind DOM events\n viewport.addEventListener('keydown', handleKeyDown);\n return ()=>viewport.removeEventListener('keydown', handleKeyDown)\n ;\n }\n }, [\n getItems,\n getSortedTabbableCandidates\n ]);\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Branch, {\n ref: wrapperRef,\n role: \"region\",\n \"aria-label\": label.replace('{hotkey}', hotkeyLabel) // Ensure virtual cursor from landmarks menus triggers focus/blur for pause/resume\n ,\n tabIndex: -1 // incase list has size when empty (e.g. padding), we remove pointer events so\n ,\n style: {\n pointerEvents: hasToasts ? undefined : 'none'\n }\n }, hasToasts && /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$FocusProxy, {\n ref: headFocusProxyRef,\n onFocusFromOutsideViewport: ()=>{\n const tabbableCandidates = getSortedTabbableCandidates({\n tabbingDirection: 'forwards'\n });\n $054eb8030ebde76e$var$focusFirst(tabbableCandidates);\n }\n }), /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$Collection.Slot, {\n scope: __scopeToast\n }, /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.ol, $eyrYI$babelruntimehelpersesmextends({\n tabIndex: -1\n }, viewportProps, {\n ref: composedRefs\n }))), hasToasts && /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$FocusProxy, {\n ref: tailFocusProxyRef,\n onFocusFromOutsideViewport: ()=>{\n const tabbableCandidates = getSortedTabbableCandidates({\n tabbingDirection: 'backwards'\n });\n $054eb8030ebde76e$var$focusFirst(tabbableCandidates);\n }\n }));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$6192c2425ecfd989, {\n displayName: $054eb8030ebde76e$var$VIEWPORT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$FOCUS_PROXY_NAME = 'ToastFocusProxy';\nconst $054eb8030ebde76e$var$FocusProxy = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , onFocusFromOutsideViewport: onFocusFromOutsideViewport , ...proxyProps } = props;\n const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$FOCUS_PROXY_NAME, __scopeToast);\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$VisuallyHidden, $eyrYI$babelruntimehelpersesmextends({\n \"aria-hidden\": true,\n tabIndex: 0\n }, proxyProps, {\n ref: forwardedRef // Avoid page scrolling when focus is on the focus proxy\n ,\n style: {\n position: 'fixed'\n },\n onFocus: (event)=>{\n var _context$viewport;\n const prevFocusedElement = event.relatedTarget;\n const isFocusFromOutsideViewport = !((_context$viewport = context.viewport) !== null && _context$viewport !== void 0 && _context$viewport.contains(prevFocusedElement));\n if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();\n }\n }));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$var$FocusProxy, {\n displayName: $054eb8030ebde76e$var$FOCUS_PROXY_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * Toast\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$TOAST_NAME = 'Toast';\nconst $054eb8030ebde76e$var$TOAST_SWIPE_START = 'toast.swipeStart';\nconst $054eb8030ebde76e$var$TOAST_SWIPE_MOVE = 'toast.swipeMove';\nconst $054eb8030ebde76e$var$TOAST_SWIPE_CANCEL = 'toast.swipeCancel';\nconst $054eb8030ebde76e$var$TOAST_SWIPE_END = 'toast.swipeEnd';\nconst $054eb8030ebde76e$export$8d8dc7d5f743331b = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , ...toastProps } = props;\n const [open = true, setOpen] = $eyrYI$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Presence, {\n present: forceMount || open\n }, /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastImpl, $eyrYI$babelruntimehelpersesmextends({\n open: open\n }, toastProps, {\n ref: forwardedRef,\n onClose: ()=>setOpen(false)\n ,\n onPause: $eyrYI$useCallbackRef(props.onPause),\n onResume: $eyrYI$useCallbackRef(props.onResume),\n onSwipeStart: $eyrYI$composeEventHandlers(props.onSwipeStart, (event)=>{\n event.currentTarget.setAttribute('data-swipe', 'start');\n }),\n onSwipeMove: $eyrYI$composeEventHandlers(props.onSwipeMove, (event)=>{\n const { x: x , y: y } = event.detail.delta;\n event.currentTarget.setAttribute('data-swipe', 'move');\n event.currentTarget.style.setProperty('--radix-toast-swipe-move-x', `${x}px`);\n event.currentTarget.style.setProperty('--radix-toast-swipe-move-y', `${y}px`);\n }),\n onSwipeCancel: $eyrYI$composeEventHandlers(props.onSwipeCancel, (event)=>{\n event.currentTarget.setAttribute('data-swipe', 'cancel');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-move-x');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-move-y');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-end-x');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-end-y');\n }),\n onSwipeEnd: $eyrYI$composeEventHandlers(props.onSwipeEnd, (event)=>{\n const { x: x , y: y } = event.detail.delta;\n event.currentTarget.setAttribute('data-swipe', 'end');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-move-x');\n event.currentTarget.style.removeProperty('--radix-toast-swipe-move-y');\n event.currentTarget.style.setProperty('--radix-toast-swipe-end-x', `${x}px`);\n event.currentTarget.style.setProperty('--radix-toast-swipe-end-y', `${y}px`);\n setOpen(false);\n })\n })));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$8d8dc7d5f743331b, {\n displayName: $054eb8030ebde76e$var$TOAST_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const [$054eb8030ebde76e$var$ToastInteractiveProvider, $054eb8030ebde76e$var$useToastInteractiveContext] = $054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$TOAST_NAME, {\n onClose () {}\n});\nconst $054eb8030ebde76e$var$ToastImpl = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , type: type = 'foreground' , duration: durationProp , open: open , onClose: onClose , onEscapeKeyDown: onEscapeKeyDown , onPause: onPause , onResume: onResume , onSwipeStart: onSwipeStart , onSwipeMove: onSwipeMove , onSwipeCancel: onSwipeCancel , onSwipeEnd: onSwipeEnd , ...toastProps } = props;\n const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME, __scopeToast);\n const [node1, setNode] = $eyrYI$useState(null);\n const composedRefs = $eyrYI$useComposedRefs(forwardedRef, (node)=>setNode(node)\n );\n const pointerStartRef = $eyrYI$useRef(null);\n const swipeDeltaRef = $eyrYI$useRef(null);\n const duration1 = durationProp || context.duration;\n const closeTimerStartTimeRef = $eyrYI$useRef(0);\n const closeTimerRemainingTimeRef = $eyrYI$useRef(duration1);\n const closeTimerRef = $eyrYI$useRef(0);\n const { onToastAdd: onToastAdd , onToastRemove: onToastRemove } = context;\n const handleClose = $eyrYI$useCallbackRef(()=>{\n var _context$viewport2;\n // focus viewport if focus is within toast to read the remaining toast\n // count to SR users and ensure focus isn't lost\n const isFocusInToast = node1 === null || node1 === void 0 ? void 0 : node1.contains(document.activeElement);\n if (isFocusInToast) (_context$viewport2 = context.viewport) === null || _context$viewport2 === void 0 || _context$viewport2.focus();\n onClose();\n });\n const startTimer = $eyrYI$useCallback((duration)=>{\n if (!duration || duration === Infinity) return;\n window.clearTimeout(closeTimerRef.current);\n closeTimerStartTimeRef.current = new Date().getTime();\n closeTimerRef.current = window.setTimeout(handleClose, duration);\n }, [\n handleClose\n ]);\n $eyrYI$useEffect(()=>{\n const viewport = context.viewport;\n if (viewport) {\n const handleResume = ()=>{\n startTimer(closeTimerRemainingTimeRef.current);\n onResume === null || onResume === void 0 || onResume();\n };\n const handlePause = ()=>{\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.current;\n closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n window.clearTimeout(closeTimerRef.current);\n onPause === null || onPause === void 0 || onPause();\n };\n viewport.addEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE, handlePause);\n viewport.addEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME, handleResume);\n return ()=>{\n viewport.removeEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE, handlePause);\n viewport.removeEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME, handleResume);\n };\n }\n }, [\n context.viewport,\n duration1,\n onPause,\n onResume,\n startTimer\n ]); // start timer when toast opens or duration changes.\n // we include `open` in deps because closed !== unmounted when animating\n // so it could reopen before being completely unmounted\n $eyrYI$useEffect(()=>{\n if (open && !context.isClosePausedRef.current) startTimer(duration1);\n }, [\n open,\n duration1,\n context.isClosePausedRef,\n startTimer\n ]);\n $eyrYI$useEffect(()=>{\n onToastAdd();\n return ()=>onToastRemove()\n ;\n }, [\n onToastAdd,\n onToastRemove\n ]);\n const announceTextContent = $eyrYI$useMemo(()=>{\n return node1 ? $054eb8030ebde76e$var$getAnnounceTextContent(node1) : null;\n }, [\n node1\n ]);\n if (!context.viewport) return null;\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Fragment, null, announceTextContent && /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastAnnounce, {\n __scopeToast: __scopeToast // Toasts are always role=status to avoid stuttering issues with role=alert in SRs.\n ,\n role: \"status\",\n \"aria-live\": type === 'foreground' ? 'assertive' : 'polite',\n \"aria-atomic\": true\n }, announceTextContent), /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastInteractiveProvider, {\n scope: __scopeToast,\n onClose: handleClose\n }, /*#__PURE__*/ $eyrYI$createPortal(/*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$Collection.ItemSlot, {\n scope: __scopeToast\n }, /*#__PURE__*/ $eyrYI$createElement($eyrYI$Root, {\n asChild: true,\n onEscapeKeyDown: $eyrYI$composeEventHandlers(onEscapeKeyDown, ()=>{\n if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n context.isFocusedToastEscapeKeyDownRef.current = false;\n })\n }, /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.li, $eyrYI$babelruntimehelpersesmextends({\n // Ensure toasts are announced as status list or status when focused\n role: \"status\",\n \"aria-live\": \"off\",\n \"aria-atomic\": true,\n tabIndex: 0,\n \"data-state\": open ? 'open' : 'closed',\n \"data-swipe-direction\": context.swipeDirection\n }, toastProps, {\n ref: composedRefs,\n style: {\n userSelect: 'none',\n touchAction: 'none',\n ...props.style\n },\n onKeyDown: $eyrYI$composeEventHandlers(props.onKeyDown, (event)=>{\n if (event.key !== 'Escape') return;\n onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event.nativeEvent);\n if (!event.nativeEvent.defaultPrevented) {\n context.isFocusedToastEscapeKeyDownRef.current = true;\n handleClose();\n }\n }),\n onPointerDown: $eyrYI$composeEventHandlers(props.onPointerDown, (event)=>{\n if (event.button !== 0) return;\n pointerStartRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n }),\n onPointerMove: $eyrYI$composeEventHandlers(props.onPointerMove, (event)=>{\n if (!pointerStartRef.current) return;\n const x = event.clientX - pointerStartRef.current.x;\n const y = event.clientY - pointerStartRef.current.y;\n const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);\n const isHorizontalSwipe = [\n 'left',\n 'right'\n ].includes(context.swipeDirection);\n const clamp = [\n 'left',\n 'up'\n ].includes(context.swipeDirection) ? Math.min : Math.max;\n const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n const moveStartBuffer = event.pointerType === 'touch' ? 10 : 2;\n const delta = {\n x: clampedX,\n y: clampedY\n };\n const eventDetail = {\n originalEvent: event,\n delta: delta\n };\n if (hasSwipeMoveStarted) {\n swipeDeltaRef.current = delta;\n $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {\n discrete: false\n });\n } else if ($054eb8030ebde76e$var$isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {\n swipeDeltaRef.current = delta;\n $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_START, onSwipeStart, eventDetail, {\n discrete: false\n });\n event.target.setPointerCapture(event.pointerId);\n } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) // User is swiping in wrong direction so we disable swipe gesture\n // for the current pointer down interaction\n pointerStartRef.current = null;\n }),\n onPointerUp: $eyrYI$composeEventHandlers(props.onPointerUp, (event1)=>{\n const delta = swipeDeltaRef.current;\n const target = event1.target;\n if (target.hasPointerCapture(event1.pointerId)) target.releasePointerCapture(event1.pointerId);\n swipeDeltaRef.current = null;\n pointerStartRef.current = null;\n if (delta) {\n const toast = event1.currentTarget;\n const eventDetail = {\n originalEvent: event1,\n delta: delta\n };\n if ($054eb8030ebde76e$var$isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_END, onSwipeEnd, eventDetail, {\n discrete: true\n });\n else $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_CANCEL, onSwipeCancel, eventDetail, {\n discrete: true\n });\n // Prevent click event from triggering on items within the toast when\n // pointer up is part of a swipe gesture\n toast.addEventListener('click', (event)=>event.preventDefault()\n , {\n once: true\n });\n }\n })\n })))), context.viewport)));\n});\n$054eb8030ebde76e$var$ToastImpl.propTypes = {\n type (props) {\n if (props.type && ![\n 'foreground',\n 'background'\n ].includes(props.type)) {\n const error = `Invalid prop \\`type\\` supplied to \\`${$054eb8030ebde76e$var$TOAST_NAME}\\`. Expected \\`foreground | background\\`.`;\n return new Error(error);\n }\n return null;\n }\n};\n/* -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$ToastAnnounce = (props)=>{\n const { __scopeToast: __scopeToast , children: children , ...announceProps } = props;\n const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME, __scopeToast);\n const [renderAnnounceText, setRenderAnnounceText] = $eyrYI$useState(false);\n const [isAnnounced, setIsAnnounced] = $eyrYI$useState(false); // render text content in the next frame to ensure toast is announced in NVDA\n $054eb8030ebde76e$var$useNextFrame(()=>setRenderAnnounceText(true)\n ); // cleanup after announcing\n $eyrYI$useEffect(()=>{\n const timer = window.setTimeout(()=>setIsAnnounced(true)\n , 1000);\n return ()=>window.clearTimeout(timer)\n ;\n }, []);\n return isAnnounced ? null : /*#__PURE__*/ $eyrYI$createElement($eyrYI$Portal, {\n asChild: true\n }, /*#__PURE__*/ $eyrYI$createElement($eyrYI$VisuallyHidden, announceProps, renderAnnounceText && /*#__PURE__*/ $eyrYI$createElement($eyrYI$Fragment, null, context.label, \" \", children)));\n};\n/* -------------------------------------------------------------------------------------------------\n * ToastTitle\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$TITLE_NAME = 'ToastTitle';\nconst $054eb8030ebde76e$export$16d42d7c29b95a4 = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , ...titleProps } = props;\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.div, $eyrYI$babelruntimehelpersesmextends({}, titleProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$16d42d7c29b95a4, {\n displayName: $054eb8030ebde76e$var$TITLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ToastDescription\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$DESCRIPTION_NAME = 'ToastDescription';\nconst $054eb8030ebde76e$export$ecddd96c53621d9a = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , ...descriptionProps } = props;\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.div, $eyrYI$babelruntimehelpersesmextends({}, descriptionProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$ecddd96c53621d9a, {\n displayName: $054eb8030ebde76e$var$DESCRIPTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ToastAction\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$ACTION_NAME = 'ToastAction';\nconst $054eb8030ebde76e$export$3019feecfda683d2 = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { altText: altText , ...actionProps } = props;\n if (!altText) return null;\n return /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastAnnounceExclude, {\n altText: altText,\n asChild: true\n }, /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$export$811e70f61c205839, $eyrYI$babelruntimehelpersesmextends({}, actionProps, {\n ref: forwardedRef\n })));\n});\n$054eb8030ebde76e$export$3019feecfda683d2.propTypes = {\n altText (props) {\n if (!props.altText) return new Error(`Missing prop \\`altText\\` expected on \\`${$054eb8030ebde76e$var$ACTION_NAME}\\``);\n return null;\n }\n};\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$3019feecfda683d2, {\n displayName: $054eb8030ebde76e$var$ACTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ToastClose\n * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$CLOSE_NAME = 'ToastClose';\nconst $054eb8030ebde76e$export$811e70f61c205839 = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , ...closeProps } = props;\n const interactiveContext = $054eb8030ebde76e$var$useToastInteractiveContext($054eb8030ebde76e$var$CLOSE_NAME, __scopeToast);\n return /*#__PURE__*/ $eyrYI$createElement($054eb8030ebde76e$var$ToastAnnounceExclude, {\n asChild: true\n }, /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.button, $eyrYI$babelruntimehelpersesmextends({\n type: \"button\"\n }, closeProps, {\n ref: forwardedRef,\n onClick: $eyrYI$composeEventHandlers(props.onClick, interactiveContext.onClose)\n })));\n});\n/*#__PURE__*/ Object.assign($054eb8030ebde76e$export$811e70f61c205839, {\n displayName: $054eb8030ebde76e$var$CLOSE_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $054eb8030ebde76e$var$ToastAnnounceExclude = /*#__PURE__*/ $eyrYI$forwardRef((props, forwardedRef)=>{\n const { __scopeToast: __scopeToast , altText: altText , ...announceExcludeProps } = props;\n return /*#__PURE__*/ $eyrYI$createElement($eyrYI$Primitive.div, $eyrYI$babelruntimehelpersesmextends({\n \"data-radix-toast-announce-exclude\": \"\",\n \"data-radix-toast-announce-alt\": altText || undefined\n }, announceExcludeProps, {\n ref: forwardedRef\n }));\n});\nfunction $054eb8030ebde76e$var$getAnnounceTextContent(container) {\n const textContent = [];\n const childNodes = Array.from(container.childNodes);\n childNodes.forEach((node)=>{\n if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n if ($054eb8030ebde76e$var$isHTMLElement(node)) {\n const isHidden = node.ariaHidden || node.hidden || node.style.display === 'none';\n const isExcluded = node.dataset.radixToastAnnounceExclude === '';\n if (!isHidden) {\n if (isExcluded) {\n const altText = node.dataset.radixToastAnnounceAlt;\n if (altText) textContent.push(altText);\n } else textContent.push(...$054eb8030ebde76e$var$getAnnounceTextContent(node));\n }\n }\n }); // We return a collection of text rather than a single concatenated string.\n // This allows SR VO to naturally pause break between nodes while announcing.\n return textContent;\n}\n/* ---------------------------------------------------------------------------------------------- */ function $054eb8030ebde76e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {\n const currentTarget = detail.originalEvent.currentTarget;\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: detail\n });\n if (handler) currentTarget.addEventListener(name, handler, {\n once: true\n });\n if (discrete) $eyrYI$dispatchDiscreteCustomEvent(currentTarget, event);\n else currentTarget.dispatchEvent(event);\n}\nconst $054eb8030ebde76e$var$isDeltaInDirection = (delta, direction, threshold = 0)=>{\n const deltaX = Math.abs(delta.x);\n const deltaY = Math.abs(delta.y);\n const isDeltaX = deltaX > deltaY;\n if (direction === 'left' || direction === 'right') return isDeltaX && deltaX > threshold;\n else return !isDeltaX && deltaY > threshold;\n};\nfunction $054eb8030ebde76e$var$useNextFrame(callback = ()=>{}) {\n const fn = $eyrYI$useCallbackRef(callback);\n $eyrYI$useLayoutEffect(()=>{\n let raf1 = 0;\n let raf2 = 0;\n raf1 = window.requestAnimationFrame(()=>raf2 = window.requestAnimationFrame(fn)\n );\n return ()=>{\n window.cancelAnimationFrame(raf1);\n window.cancelAnimationFrame(raf2);\n };\n }, [\n fn\n ]);\n}\nfunction $054eb8030ebde76e$var$isHTMLElement(node) {\n return node.nodeType === node.ELEMENT_NODE;\n}\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */ function $054eb8030ebde76e$var$getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node)=>{\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it\n // hinders accessibility to have tab order different from visual order.\n return nodes;\n}\nfunction $054eb8030ebde76e$var$focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate)=>{\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nconst $054eb8030ebde76e$export$2881499e37b75b9a = $054eb8030ebde76e$export$f5d03d415824e0e;\nconst $054eb8030ebde76e$export$d5c6c08dc2d3ca7 = $054eb8030ebde76e$export$6192c2425ecfd989;\nconst $054eb8030ebde76e$export$be92b6f5f03c0fe9 = $054eb8030ebde76e$export$8d8dc7d5f743331b;\nconst $054eb8030ebde76e$export$f99233281efd08a0 = $054eb8030ebde76e$export$16d42d7c29b95a4;\nconst $054eb8030ebde76e$export$393edc798c47379d = $054eb8030ebde76e$export$ecddd96c53621d9a;\nconst $054eb8030ebde76e$export$e19cd5f9376f8cee = $054eb8030ebde76e$export$3019feecfda683d2;\nconst $054eb8030ebde76e$export$f39c2d165cd861fe = $054eb8030ebde76e$export$811e70f61c205839;\n\n\n\n\nexport {$054eb8030ebde76e$export$8a359da18fbc9073 as createToastScope, $054eb8030ebde76e$export$f5d03d415824e0e as ToastProvider, $054eb8030ebde76e$export$6192c2425ecfd989 as ToastViewport, $054eb8030ebde76e$export$8d8dc7d5f743331b as Toast, $054eb8030ebde76e$export$16d42d7c29b95a4 as ToastTitle, $054eb8030ebde76e$export$ecddd96c53621d9a as ToastDescription, $054eb8030ebde76e$export$3019feecfda683d2 as ToastAction, $054eb8030ebde76e$export$811e70f61c205839 as ToastClose, $054eb8030ebde76e$export$2881499e37b75b9a as Provider, $054eb8030ebde76e$export$d5c6c08dc2d3ca7 as Viewport, $054eb8030ebde76e$export$be92b6f5f03c0fe9 as Root, $054eb8030ebde76e$export$f99233281efd08a0 as Title, $054eb8030ebde76e$export$393edc798c47379d as Description, $054eb8030ebde76e$export$e19cd5f9376f8cee as Action, $054eb8030ebde76e$export$f39c2d165cd861fe as Close};\n//# sourceMappingURL=index.module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport { type PropsWithChildren } from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as ToastPrimitive from '@radix-ui/react-toast';\n\nimport styled, { keyframes } from 'styled-components';\nimport { Close as CloseIcon, Warning as WarningIcon } from '@material-ui/icons';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { AccessibleIcon } from 'components/AccessibleIcon/AccessibleIcon';\n\nconst VIEWPORT_PADDING = 25;\n\nconst hide = keyframes`\n 0% {\n opacity: 1\n }\n\n 100% {\n opacity: 0\n }\n`;\n\nconst slideIn = keyframes`\n from {\n transform: translateX(calc(100% + ${VIEWPORT_PADDING}px));\n }\n \n to {\n transform: translateX(0);\n }\n`;\n\nconst swipeOut = keyframes`\n from {\n transform: translateX(var(--radix-toast-swipe-end-x));\n }\n to {\n transform: translateX(calc(100% + ${VIEWPORT_PADDING}px));\n }\n`;\n\nexport const ToastAction = styled(ToastPrimitive.Action)``;\nexport const ToastClose = styled(ToastPrimitive.Close)`\n all: unset;\n display: grid;\n width: ${tokens.sizing_500};\n aspect-ratio: 1;\n margin-left: auto;\n place-items: center;\n padding: ${tokens.sizing_100};\n border-radius: ${tokens.border_radius_400};\n\n &:hover {\n background-color: hsl(0deg 0% 0% / 5%);\n }\n\n & > svg {\n font-size: 0.95rem;\n }\n`;\n\nconst ToastTitle = styled(ToastPrimitive.Title)`\n font-family: ${tokens.font_family_inter};\n font-style: normal;\n font-weight: 500;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_129};\n letter-spacing: ${tokens.letter_spacing_tight};\n display: flex;\n align-items: center;\n`;\n\nexport const ToastSeparator = styled(SeparatorPrimitive.Root)`\n background-color: var(--color-separator);\n\n &[data-orientation='horizontal'] {\n width: 1px;\n height: ${tokens.sizing_600};\n margin-left: ${tokens.sizing_500};\n margin-right: ${tokens.sizing_200};\n }\n\n &[data-orientation='vertical'] {\n height: 100%;\n width: 1;\n }\n`;\n\n// type Variant = 'toast' | 'banner'; // | \"inline-banner\"\ntype Sentiment = 'inverse' | 'negative' | 'info';\n\nconst backgroundColors = {\n info: tokens.color_background_white_standard,\n inverse: tokens.color_background_sentiment_neutral,\n negative: tokens.color_background_sentiment_negative,\n} as const;\n\nconst colors = {\n info: tokens.color_text_standard,\n inverse: tokens.color_background_white_standard,\n negative: tokens.color_background_white_standard,\n} as const;\n\nconst separatorColors = {\n info: tokens.color_divider_weak,\n inverse: tokens.color_divider_inverse_weak,\n negative: tokens.color_divider_inverse_weak,\n} as const;\n\n// Copied from Radix demo, should check\nexport const ToastViewport = styled(ToastPrimitive.Viewport)`\n position: fixed;\n bottom: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n padding: ${VIEWPORT_PADDING}px;\n gap: 10px;\n max-width: 100vw;\n margin: 0;\n list-style: none;\n z-index: 30;\n outline: none;\n`;\n\nconst ToastRoot = styled(ToastPrimitive.Root)`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: ${tokens.sizing_200};\n padding-left: ${tokens.sizing_400};\n gap: ${tokens.spacing_300};\n background-color: var(--color-background-notification);\n color: var(--color-notification);\n box-shadow: ${tokens.elevation_interactive_low};\n border-radius: ${tokens.border_radius_400};\n\n & > svg {\n line-height: 0;\n }\n\n &[data-state='open'] {\n animation: ${slideIn} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n\n &[data-state='closed'] {\n animation: ${hide} 100ms ease-in;\n }\n\n &[data-swipe='move'] {\n transform: translateX(var(--radix-toast-swipe-move-x));\n }\n &[data-swipe='cancel'] {\n transform: translateX(0);\n transition: transform 200ms ease-out;\n }\n &[data-swipe='end'] {\n animation: ${swipeOut} 100ms ease-out;\n }\n`;\n\nexport function ToastProvider({\n children,\n ...props\n}: ToastPrimitive.ToastProviderProps) {\n return (\n <ToastPrimitive.Provider {...props}>{children}</ToastPrimitive.Provider>\n );\n}\n\nexport type ToastProps = PropsWithChildren<{\n // variant: Variant;\n sentiment: Sentiment;\n title: string;\n onDismiss?: () => void;\n}> &\n ToastPrimitive.ToastProps;\n\nexport type ToastActionProps = ToastPrimitive.ToastActionProps;\n\nexport function Toast({\n title,\n children,\n // variant, // Hmm not sure maybe a separate component?\n sentiment,\n onDismiss,\n ...toastRootProps\n}: ToastProps) {\n const backgroundColor = backgroundColors[sentiment];\n const color = colors[sentiment];\n const separatorColor = separatorColors[sentiment];\n\n return (\n <ToastRoot\n style={{\n // @ts-expect-error\n '--color-background-notification': backgroundColor,\n '--color-notification': color,\n }}\n {...toastRootProps}\n >\n {sentiment === 'negative' ? <WarningIcon height={18} /> : null}\n <ToastTitle>{title}</ToastTitle>\n {/* @ts-expect-error */}\n <ToastSeparator style={{ '--color-separator': separatorColor }} />\n {children}\n <ToastClose onClick={onDismiss}>\n <AccessibleIcon label='Dismiss notification'>\n <CloseIcon width={18} height={18} />\n </AccessibleIcon>\n </ToastClose>\n </ToastRoot>\n );\n}\n","import {createContext as $7Gjcd$createContext, createElement as $7Gjcd$createElement, useContext as $7Gjcd$useContext} from \"react\";\n\n\nconst $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ $7Gjcd$createContext(undefined);\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/ const $f631663db3294ace$export$c760c09fdd558351 = (props)=>{\n const { dir: dir , children: children } = props;\n return /*#__PURE__*/ $7Gjcd$createElement($f631663db3294ace$var$DirectionContext.Provider, {\n value: dir\n }, children);\n};\n/* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {\n const globalDir = $7Gjcd$useContext($f631663db3294ace$var$DirectionContext);\n return localDir || globalDir || 'ltr';\n}\nconst $f631663db3294ace$export$2881499e37b75b9a = $f631663db3294ace$export$c760c09fdd558351;\n\n\n\n\nexport {$f631663db3294ace$export$b39126d51d94e6f3 as useDirection, $f631663db3294ace$export$2881499e37b75b9a as Provider, $f631663db3294ace$export$c760c09fdd558351 as DirectionProvider};\n//# sourceMappingURL=index.module.js.map\n","import $98Iye$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $98Iye$forwardRef, createElement as $98Iye$createElement, useRef as $98Iye$useRef, useState as $98Iye$useState, useEffect as $98Iye$useEffect, useCallback as $98Iye$useCallback} from \"react\";\nimport {composeEventHandlers as $98Iye$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createCollection as $98Iye$createCollection} from \"@radix-ui/react-collection\";\nimport {useComposedRefs as $98Iye$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $98Iye$createContextScope} from \"@radix-ui/react-context\";\nimport {useId as $98Iye$useId} from \"@radix-ui/react-id\";\nimport {Primitive as $98Iye$Primitive} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $98Iye$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $98Iye$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useDirection as $98Iye$useDirection} from \"@radix-ui/react-direction\";\n\n\n\n\n\n\n\n\n\n\n\n\nconst $d7bdfb9eb0fdf311$var$ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst $d7bdfb9eb0fdf311$var$EVENT_OPTIONS = {\n bubbles: false,\n cancelable: true\n};\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$GROUP_NAME = 'RovingFocusGroup';\nconst [$d7bdfb9eb0fdf311$var$Collection, $d7bdfb9eb0fdf311$var$useCollection, $d7bdfb9eb0fdf311$var$createCollectionScope] = $98Iye$createCollection($d7bdfb9eb0fdf311$var$GROUP_NAME);\nconst [$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext, $d7bdfb9eb0fdf311$export$c7109489551a4f4] = $98Iye$createContextScope($d7bdfb9eb0fdf311$var$GROUP_NAME, [\n $d7bdfb9eb0fdf311$var$createCollectionScope\n]);\nconst [$d7bdfb9eb0fdf311$var$RovingFocusProvider, $d7bdfb9eb0fdf311$var$useRovingFocusContext] = $d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME);\nconst $d7bdfb9eb0fdf311$export$8699f7c8af148338 = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.Provider, {\n scope: props.__scopeRovingFocusGroup\n }, /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.Slot, {\n scope: props.__scopeRovingFocusGroup\n }, /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl, $98Iye$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef\n }))));\n});\n/*#__PURE__*/ Object.assign($d7bdfb9eb0fdf311$export$8699f7c8af148338, {\n displayName: $d7bdfb9eb0fdf311$var$GROUP_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$RovingFocusGroupImpl = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , orientation: orientation , loop: loop = false , dir: dir , currentTabStopId: currentTabStopIdProp , defaultCurrentTabStopId: defaultCurrentTabStopId , onCurrentTabStopIdChange: onCurrentTabStopIdChange , onEntryFocus: onEntryFocus , ...groupProps } = props;\n const ref = $98Iye$useRef(null);\n const composedRefs = $98Iye$useComposedRefs(forwardedRef, ref);\n const direction = $98Iye$useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = $98Iye$useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = $98Iye$useState(false);\n const handleEntryFocus = $98Iye$useCallbackRef(onEntryFocus);\n const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = $98Iye$useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = $98Iye$useState(0);\n $98Iye$useEffect(()=>{\n const node = ref.current;\n if (node) {\n node.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus);\n return ()=>node.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus)\n ;\n }\n }, [\n handleEntryFocus\n ]);\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$RovingFocusProvider, {\n scope: __scopeRovingFocusGroup,\n orientation: orientation,\n dir: direction,\n loop: loop,\n currentTabStopId: currentTabStopId,\n onItemFocus: $98Iye$useCallback((tabStopId)=>setCurrentTabStopId(tabStopId)\n , [\n setCurrentTabStopId\n ]),\n onItemShiftTab: $98Iye$useCallback(()=>setIsTabbingBackOut(true)\n , []),\n onFocusableItemAdd: $98Iye$useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount + 1\n )\n , []),\n onFocusableItemRemove: $98Iye$useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount - 1\n )\n , [])\n }, /*#__PURE__*/ $98Iye$createElement($98Iye$Primitive.div, $98Iye$babelruntimehelpersesmextends({\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation\n }, groupProps, {\n ref: composedRefs,\n style: {\n outline: 'none',\n ...props.style\n },\n onMouseDown: $98Iye$composeEventHandlers(props.onMouseDown, ()=>{\n isClickFocusRef.current = true;\n }),\n onFocus: $98Iye$composeEventHandlers(props.onFocus, (event)=>{\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, $d7bdfb9eb0fdf311$var$EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item)=>item.focusable\n );\n const activeItem = items.find((item)=>item.active\n );\n const currentItem = items.find((item)=>item.id === currentTabStopId\n );\n const candidateItems = [\n activeItem,\n currentItem,\n ...items\n ].filter(Boolean);\n const candidateNodes = candidateItems.map((item)=>item.ref.current\n );\n $d7bdfb9eb0fdf311$var$focusFirst(candidateNodes);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: $98Iye$composeEventHandlers(props.onBlur, ()=>setIsTabbingBackOut(false)\n )\n })));\n});\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$ITEM_NAME = 'RovingFocusGroupItem';\nconst $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , focusable: focusable = true , active: active = false , ...itemProps } = props;\n const id = $98Iye$useId();\n const context = $d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd: onFocusableItemAdd , onFocusableItemRemove: onFocusableItemRemove } = context;\n $98Iye$useEffect(()=>{\n if (focusable) {\n onFocusableItemAdd();\n return ()=>onFocusableItemRemove()\n ;\n }\n }, [\n focusable,\n onFocusableItemAdd,\n onFocusableItemRemove\n ]);\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.ItemSlot, {\n scope: __scopeRovingFocusGroup,\n id: id,\n focusable: focusable,\n active: active\n }, /*#__PURE__*/ $98Iye$createElement($98Iye$Primitive.span, $98Iye$babelruntimehelpersesmextends({\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation\n }, itemProps, {\n ref: forwardedRef,\n onMouseDown: $98Iye$composeEventHandlers(props.onMouseDown, (event)=>{\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault(); // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n }),\n onFocus: $98Iye$composeEventHandlers(props.onFocus, ()=>context.onItemFocus(id)\n ),\n onKeyDown: $98Iye$composeEventHandlers(props.onKeyDown, (event)=>{\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = $d7bdfb9eb0fdf311$var$getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== undefined) {\n event.preventDefault();\n const items = getItems().filter((item)=>item.focusable\n );\n let candidateNodes = items.map((item)=>item.ref.current\n );\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? $d7bdfb9eb0fdf311$var$wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(candidateNodes)\n );\n }\n })\n })));\n});\n/*#__PURE__*/ Object.assign($d7bdfb9eb0fdf311$export$ab9df7c53fe8454, {\n displayName: $d7bdfb9eb0fdf311$var$ITEM_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ // prettier-ignore\nconst $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: 'prev',\n ArrowUp: 'prev',\n ArrowRight: 'next',\n ArrowDown: 'next',\n PageUp: 'first',\n Home: 'first',\n PageDown: 'last',\n End: 'last'\n};\nfunction $d7bdfb9eb0fdf311$var$getDirectionAwareKey(key, dir) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\nfunction $d7bdfb9eb0fdf311$var$getFocusIntent(event, orientation, dir) {\n const key = $d7bdfb9eb0fdf311$var$getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && [\n 'ArrowLeft',\n 'ArrowRight'\n ].includes(key)) return undefined;\n if (orientation === 'horizontal' && [\n 'ArrowUp',\n 'ArrowDown'\n ].includes(key)) return undefined;\n return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction $d7bdfb9eb0fdf311$var$focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates){\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */ function $d7bdfb9eb0fdf311$var$wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]\n );\n}\nconst $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 = $d7bdfb9eb0fdf311$export$8699f7c8af148338;\nconst $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 = $d7bdfb9eb0fdf311$export$ab9df7c53fe8454;\n\n\n\n\nexport {$d7bdfb9eb0fdf311$export$c7109489551a4f4 as createRovingFocusGroupScope, $d7bdfb9eb0fdf311$export$8699f7c8af148338 as RovingFocusGroup, $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 as RovingFocusGroupItem, $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 as Root, $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 as Item};\n//# sourceMappingURL=index.module.js.map\n","import $8Wolv$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $8Wolv$forwardRef, createElement as $8Wolv$createElement, useRef as $8Wolv$useRef, useEffect as $8Wolv$useEffect, useState as $8Wolv$useState} from \"react\";\nimport {composeEventHandlers as $8Wolv$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $8Wolv$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $8Wolv$createContextScope} from \"@radix-ui/react-context\";\nimport {Primitive as $8Wolv$Primitive} from \"@radix-ui/react-primitive\";\nimport {createRovingFocusGroupScope as $8Wolv$createRovingFocusGroupScope, Root as $8Wolv$Root, Item as $8Wolv$Item} from \"@radix-ui/react-roving-focus\";\nimport {useControllableState as $8Wolv$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useDirection as $8Wolv$useDirection} from \"@radix-ui/react-direction\";\nimport {useSize as $8Wolv$useSize} from \"@radix-ui/react-use-size\";\nimport {usePrevious as $8Wolv$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {Presence as $8Wolv$Presence} from \"@radix-ui/react-presence\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/ const $ce77a8961b41be9e$var$RADIO_NAME = 'Radio';\nconst [$ce77a8961b41be9e$var$createRadioContext, $ce77a8961b41be9e$export$67d2296460f1b002] = $8Wolv$createContextScope($ce77a8961b41be9e$var$RADIO_NAME);\nconst [$ce77a8961b41be9e$var$RadioProvider, $ce77a8961b41be9e$var$useRadioContext] = $ce77a8961b41be9e$var$createRadioContext($ce77a8961b41be9e$var$RADIO_NAME);\nconst $ce77a8961b41be9e$export$d7b12c4107be0d61 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{\n const { __scopeRadio: __scopeRadio , name: name , checked: checked = false , required: required , disabled: disabled , value: value = 'on' , onCheck: onCheck , ...radioProps } = props;\n const [button, setButton] = $8Wolv$useState(null);\n const composedRefs = $8Wolv$useComposedRefs(forwardedRef, (node)=>setButton(node)\n );\n const hasConsumerStoppedPropagationRef = $8Wolv$useRef(false); // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n return /*#__PURE__*/ $8Wolv$createElement($ce77a8961b41be9e$var$RadioProvider, {\n scope: __scopeRadio,\n checked: checked,\n disabled: disabled\n }, /*#__PURE__*/ $8Wolv$createElement($8Wolv$Primitive.button, $8Wolv$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": $ce77a8961b41be9e$var$getState(checked),\n \"data-disabled\": disabled ? '' : undefined,\n disabled: disabled,\n value: value\n }, radioProps, {\n ref: composedRefs,\n onClick: $8Wolv$composeEventHandlers(props.onClick, (event)=>{\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck === null || onCheck === void 0 || onCheck();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n })), isFormControl && /*#__PURE__*/ $8Wolv$createElement($ce77a8961b41be9e$var$BubbleInput, {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name: name,\n value: value,\n checked: checked,\n required: required,\n disabled: disabled // We transform because the input is absolutely positioned but we have\n ,\n style: {\n transform: 'translateX(-100%)'\n }\n }));\n});\n/*#__PURE__*/ Object.assign($ce77a8961b41be9e$export$d7b12c4107be0d61, {\n displayName: $ce77a8961b41be9e$var$RADIO_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/ const $ce77a8961b41be9e$var$INDICATOR_NAME = 'RadioIndicator';\nconst $ce77a8961b41be9e$export$d35a9ffa9a04f9e7 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{\n const { __scopeRadio: __scopeRadio , forceMount: forceMount , ...indicatorProps } = props;\n const context = $ce77a8961b41be9e$var$useRadioContext($ce77a8961b41be9e$var$INDICATOR_NAME, __scopeRadio);\n return /*#__PURE__*/ $8Wolv$createElement($8Wolv$Presence, {\n present: forceMount || context.checked\n }, /*#__PURE__*/ $8Wolv$createElement($8Wolv$Primitive.span, $8Wolv$babelruntimehelpersesmextends({\n \"data-state\": $ce77a8961b41be9e$var$getState(context.checked),\n \"data-disabled\": context.disabled ? '' : undefined\n }, indicatorProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($ce77a8961b41be9e$export$d35a9ffa9a04f9e7, {\n displayName: $ce77a8961b41be9e$var$INDICATOR_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $ce77a8961b41be9e$var$BubbleInput = (props)=>{\n const { control: control , checked: checked , bubbles: bubbles = true , ...inputProps } = props;\n const ref = $8Wolv$useRef(null);\n const prevChecked = $8Wolv$usePrevious(checked);\n const controlSize = $8Wolv$useSize(control); // Bubble checked change to parents (e.g form change event)\n $8Wolv$useEffect(()=>{\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked');\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', {\n bubbles: bubbles\n });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [\n prevChecked,\n checked,\n bubbles\n ]);\n return /*#__PURE__*/ $8Wolv$createElement(\"input\", $8Wolv$babelruntimehelpersesmextends({\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked\n }, inputProps, {\n tabIndex: -1,\n ref: ref,\n style: {\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0\n }\n }));\n};\nfunction $ce77a8961b41be9e$var$getState(checked) {\n return checked ? 'checked' : 'unchecked';\n}\n\n\nconst $f99a8c78507165f7$var$ARROW_KEYS = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight'\n];\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/ const $f99a8c78507165f7$var$RADIO_GROUP_NAME = 'RadioGroup';\nconst [$f99a8c78507165f7$var$createRadioGroupContext, $f99a8c78507165f7$export$c547093f11b76da2] = $8Wolv$createContextScope($f99a8c78507165f7$var$RADIO_GROUP_NAME, [\n $8Wolv$createRovingFocusGroupScope,\n $ce77a8961b41be9e$export$67d2296460f1b002\n]);\nconst $f99a8c78507165f7$var$useRovingFocusGroupScope = $8Wolv$createRovingFocusGroupScope();\nconst $f99a8c78507165f7$var$useRadioScope = $ce77a8961b41be9e$export$67d2296460f1b002();\nconst [$f99a8c78507165f7$var$RadioGroupProvider, $f99a8c78507165f7$var$useRadioGroupContext] = $f99a8c78507165f7$var$createRadioGroupContext($f99a8c78507165f7$var$RADIO_GROUP_NAME);\nconst $f99a8c78507165f7$export$a98f0dcb43a68a25 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{\n const { __scopeRadioGroup: __scopeRadioGroup , name: name , defaultValue: defaultValue , value: valueProp , required: required = false , disabled: disabled = false , orientation: orientation , dir: dir , loop: loop = true , onValueChange: onValueChange , ...groupProps } = props;\n const rovingFocusGroupScope = $f99a8c78507165f7$var$useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = $8Wolv$useDirection(dir);\n const [value, setValue] = $8Wolv$useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /*#__PURE__*/ $8Wolv$createElement($f99a8c78507165f7$var$RadioGroupProvider, {\n scope: __scopeRadioGroup,\n name: name,\n required: required,\n disabled: disabled,\n value: value,\n onValueChange: setValue\n }, /*#__PURE__*/ $8Wolv$createElement($8Wolv$Root, $8Wolv$babelruntimehelpersesmextends({\n asChild: true\n }, rovingFocusGroupScope, {\n orientation: orientation,\n dir: direction,\n loop: loop\n }), /*#__PURE__*/ $8Wolv$createElement($8Wolv$Primitive.div, $8Wolv$babelruntimehelpersesmextends({\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? '' : undefined,\n dir: direction\n }, groupProps, {\n ref: forwardedRef\n }))));\n});\n/*#__PURE__*/ Object.assign($f99a8c78507165f7$export$a98f0dcb43a68a25, {\n displayName: $f99a8c78507165f7$var$RADIO_GROUP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/ const $f99a8c78507165f7$var$ITEM_NAME = 'RadioGroupItem';\nconst $f99a8c78507165f7$export$9f866c100ef519e4 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{\n const { __scopeRadioGroup: __scopeRadioGroup , disabled: disabled , ...itemProps } = props;\n const context = $f99a8c78507165f7$var$useRadioGroupContext($f99a8c78507165f7$var$ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = $f99a8c78507165f7$var$useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = $f99a8c78507165f7$var$useRadioScope(__scopeRadioGroup);\n const ref = $8Wolv$useRef(null);\n const composedRefs = $8Wolv$useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = $8Wolv$useRef(false);\n $8Wolv$useEffect(()=>{\n const handleKeyDown = (event)=>{\n if ($f99a8c78507165f7$var$ARROW_KEYS.includes(event.key)) isArrowKeyPressedRef.current = true;\n };\n const handleKeyUp = ()=>isArrowKeyPressedRef.current = false\n ;\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return ()=>{\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n return /*#__PURE__*/ $8Wolv$createElement($8Wolv$Item, $8Wolv$babelruntimehelpersesmextends({\n asChild: true\n }, rovingFocusGroupScope, {\n focusable: !isDisabled,\n active: checked\n }), /*#__PURE__*/ $8Wolv$createElement($ce77a8961b41be9e$export$d7b12c4107be0d61, $8Wolv$babelruntimehelpersesmextends({\n disabled: isDisabled,\n required: context.required,\n checked: checked\n }, radioScope, itemProps, {\n name: context.name,\n ref: composedRefs,\n onCheck: ()=>context.onValueChange(itemProps.value)\n ,\n onKeyDown: $8Wolv$composeEventHandlers((event)=>{\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n }),\n onFocus: $8Wolv$composeEventHandlers(itemProps.onFocus, ()=>{\n var _ref$current;\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */ if (isArrowKeyPressedRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.click();\n })\n })));\n});\n/*#__PURE__*/ Object.assign($f99a8c78507165f7$export$9f866c100ef519e4, {\n displayName: $f99a8c78507165f7$var$ITEM_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/ const $f99a8c78507165f7$var$INDICATOR_NAME = 'RadioGroupIndicator';\nconst $f99a8c78507165f7$export$5fb54c671a65c88 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{\n const { __scopeRadioGroup: __scopeRadioGroup , ...indicatorProps } = props;\n const radioScope = $f99a8c78507165f7$var$useRadioScope(__scopeRadioGroup);\n return /*#__PURE__*/ $8Wolv$createElement($ce77a8961b41be9e$export$d35a9ffa9a04f9e7, $8Wolv$babelruntimehelpersesmextends({}, radioScope, indicatorProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($f99a8c78507165f7$export$5fb54c671a65c88, {\n displayName: $f99a8c78507165f7$var$INDICATOR_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $f99a8c78507165f7$export$be92b6f5f03c0fe9 = $f99a8c78507165f7$export$a98f0dcb43a68a25;\nconst $f99a8c78507165f7$export$6d08773d2e66f8f2 = $f99a8c78507165f7$export$9f866c100ef519e4;\nconst $f99a8c78507165f7$export$adb584737d712b70 = $f99a8c78507165f7$export$5fb54c671a65c88;\n\n\n\n\nexport {$f99a8c78507165f7$export$c547093f11b76da2 as createRadioGroupScope, $f99a8c78507165f7$export$a98f0dcb43a68a25 as RadioGroup, $f99a8c78507165f7$export$9f866c100ef519e4 as RadioGroupItem, $f99a8c78507165f7$export$5fb54c671a65c88 as RadioGroupIndicator, $f99a8c78507165f7$export$be92b6f5f03c0fe9 as Root, $f99a8c78507165f7$export$6d08773d2e66f8f2 as Item, $f99a8c78507165f7$export$adb584737d712b70 as Indicator};\n//# sourceMappingURL=index.module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { useFieldset } from 'components/Fieldset/Fieldset';\nimport { useFieldProps } from 'components/FormControl/FormControl';\n\n// https://react-spectrum.adobe.com/react-aria/useRadioGroup.html looks pretty nice too\n\nconst StyledRadio = styled(RadioGroupPrimitive.Item)`\n all: unset;\n --radio-width: ${tokens.sizing_600};\n --inner-circle-color: ${tokens.color_white};\n display: grid;\n place-items: center;\n color: ${tokens.color_outline_secondary_enabled};\n\n background-color: ${tokens.color_white};\n width: var(--radio-width);\n height: var(--radio-width);\n border-radius: ${tokens.border_radius_circle};\n\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear; // ??\n transition-duration: ${tokens.transition_duration_100};\n position: relative;\n\n &:hover {\n --inner-circle-color: ${tokens.color_overlay_secondary_hover};\n background-color: ${tokens.color_overlay_secondary_hover};\n color: ${tokens.color_outline_secondary_hover};\n }\n\n &:active {\n --inner-circle-color: ${tokens.color_overlay_secondary_pressed};\n background-color: ${tokens.color_overlay_secondary_pressed};\n color: ${tokens.color_outline_secondary_pressed};\n }\n\n &::after {\n content: '';\n position: absolute;\n display: block;\n width: calc(var(--radio-width) / 2);\n height: calc(var(--radio-width) / 2);\n border-radius: ${tokens.border_radius_circle};\n border: 1px solid;\n box-sizing: border-box; // not sure\n }\n\n &:focus::after {\n outline: 2px solid black;\n outline-offset: 2px;\n }\n\n &[data-disabled]::after {\n border-color: ${tokens.color_fill_secondary_disabled};\n }\n\n &[data-disabled],\n &:disabled {\n cursor: not-allowed;\n --inner-circle-color: ${tokens.color_fill_primary_disabled};\n color: ${tokens.color_fill_primary_disabled};\n }\n`;\n\nconst StyledIndicator = styled(RadioGroupPrimitive.Indicator)`\n display: grid;\n place-items: center;\n width: 100%;\n height: 100%;\n position: relative;\n\n /* Darker outer cicle */\n &::before {\n content: '';\n display: block;\n width: 16px;\n height: 16px;\n border-radius: ${tokens.border_radius_circle};\n background-color: ${tokens.color_fill_primary_enabled};\n }\n\n &[data-disabled]::before {\n background-color: ${tokens.color_fill_secondary_disabled};\n }\n\n /* Lighter inner circle */\n &::after {\n content: '';\n display: block;\n position: absolute;\n width: 5px;\n height: 5px;\n border-radius: ${tokens.border_radius_circle};\n background-color: var(--inner-circle-color);\n }\n`;\n\nexport function RadioGroup({\n children,\n disabled,\n ...props\n}: RadioGroupPrimitive.RadioGroupProps) {\n const disabledByFieldset = useFieldset();\n const isDisabled = disabled || disabledByFieldset;\n const fieldProps = useFieldProps();\n\n return (\n <RadioGroupPrimitive.Root {...props} disabled={isDisabled} {...fieldProps}>\n {children}\n </RadioGroupPrimitive.Root>\n );\n}\n\nexport const RadioGroupRadio = StyledRadio;\nexport const RadioGroupIndicator = StyledIndicator;\n\nexport function Radio({\n disabled,\n ...props\n}: RadioGroupPrimitive.RadioGroupItemProps) {\n const disabledByFieldset = useFieldset();\n const isDisabled = disabled || disabledByFieldset;\n const fieldProps = useFieldProps();\n\n return (\n <StyledRadio {...props} {...fieldProps} disabled={isDisabled}>\n <RadioGroupIndicator />\n </StyledRadio>\n );\n}\n","function $ae6933e535247d3d$export$7d15b64cf5a3a4c4(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n\n\n\n\nexport {$ae6933e535247d3d$export$7d15b64cf5a3a4c4 as clamp};\n//# sourceMappingURL=index.module.js.map\n","import $01b9c$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $01b9c$useState, useRef as $01b9c$useRef, createElement as $01b9c$createElement, useCallback as $01b9c$useCallback, forwardRef as $01b9c$forwardRef, Fragment as $01b9c$Fragment, useEffect as $01b9c$useEffect, useMemo as $01b9c$useMemo} from \"react\";\nimport {createPortal as $01b9c$createPortal} from \"react-dom\";\nimport {clamp as $01b9c$clamp} from \"@radix-ui/number\";\nimport {composeEventHandlers as $01b9c$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createCollection as $01b9c$createCollection} from \"@radix-ui/react-collection\";\nimport {useComposedRefs as $01b9c$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $01b9c$createContextScope} from \"@radix-ui/react-context\";\nimport {useDirection as $01b9c$useDirection} from \"@radix-ui/react-direction\";\nimport {DismissableLayer as $01b9c$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {useFocusGuards as $01b9c$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {FocusScope as $01b9c$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {useId as $01b9c$useId} from \"@radix-ui/react-id\";\nimport {Portal as $01b9c$Portal} from \"@radix-ui/react-portal\";\nimport {Primitive as $01b9c$Primitive} from \"@radix-ui/react-primitive\";\nimport {Slot as $01b9c$Slot} from \"@radix-ui/react-slot\";\nimport {useCallbackRef as $01b9c$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $01b9c$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $01b9c$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {usePrevious as $01b9c$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {VisuallyHidden as $01b9c$VisuallyHidden} from \"@radix-ui/react-visually-hidden\";\nimport {hideOthers as $01b9c$hideOthers} from \"aria-hidden\";\nimport {RemoveScroll as $01b9c$RemoveScroll} from \"react-remove-scroll\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $cc7e05a45900e73f$var$OPEN_KEYS = [\n ' ',\n 'Enter',\n 'ArrowUp',\n 'ArrowDown'\n];\nconst $cc7e05a45900e73f$var$SELECTION_KEYS = [\n ' ',\n 'Enter'\n];\n/* -------------------------------------------------------------------------------------------------\n * Select\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SELECT_NAME = 'Select';\nconst [$cc7e05a45900e73f$var$Collection, $cc7e05a45900e73f$var$useCollection, $cc7e05a45900e73f$var$createCollectionScope] = $01b9c$createCollection($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$createSelectContext, $cc7e05a45900e73f$export$286727a75dc039bd] = $01b9c$createContextScope($cc7e05a45900e73f$var$SELECT_NAME, [\n $cc7e05a45900e73f$var$createCollectionScope\n]);\nconst [$cc7e05a45900e73f$var$SelectProvider, $cc7e05a45900e73f$var$useSelectContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$SelectNativeOptionsProvider, $cc7e05a45900e73f$var$useSelectNativeOptionsContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{\n const { __scopeSelect: __scopeSelect , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange , dir: dir , name: name , autoComplete: autoComplete , disabled: disabled , required: required } = props;\n const [trigger, setTrigger] = $01b9c$useState(null);\n const [valueNode, setValueNode] = $01b9c$useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = $01b9c$useState(false);\n const direction = $01b9c$useDirection(dir);\n const [open = false, setOpen] = $01b9c$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = $01b9c$useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = $01b9c$useRef(null); // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = trigger ? Boolean(trigger.closest('form')) : true;\n const [nativeOptionsSet, setNativeOptionsSet] = $01b9c$useState(new Set()); // The native `select` only associates the correct default value if the corresponding\n // `option` is rendered as a child **at the same time** as itself.\n // Because it might take a few renders for our items to gather the information to build\n // the native `option`(s), we generate a key on the `select` to make sure React re-builds it\n // each time the options change.\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value\n ).join(';');\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectProvider, {\n required: required,\n scope: __scopeSelect,\n trigger: trigger,\n onTriggerChange: setTrigger,\n valueNode: valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren: valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: $01b9c$useId(),\n value: value,\n onValueChange: setValue,\n open: open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef: triggerPointerDownPosRef,\n disabled: disabled\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Provider, {\n scope: __scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectNativeOptionsProvider, {\n scope: props.__scopeSelect,\n onNativeOptionAdd: $01b9c$useCallback((option)=>{\n setNativeOptionsSet((prev)=>new Set(prev).add(option)\n );\n }, []),\n onNativeOptionRemove: $01b9c$useCallback((option)=>{\n setNativeOptionsSet((prev)=>{\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, [])\n }, children)), isFormControl ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$BubbleSelect, {\n key: nativeSelectKey,\n \"aria-hidden\": true,\n required: required,\n tabIndex: -1,\n name: name,\n autoComplete: autoComplete,\n value: value // enable form autofill\n ,\n onChange: (event)=>setValue(event.target.value)\n ,\n disabled: disabled\n }, value === undefined ? /*#__PURE__*/ $01b9c$createElement(\"option\", {\n value: \"\"\n }) : null, Array.from(nativeOptionsSet)) : null);\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ef9b1a59e592288f, {\n displayName: $cc7e05a45900e73f$var$SELECT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectTrigger\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$TRIGGER_NAME = 'SelectTrigger';\nconst $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , disabled: disabled = false , ...triggerProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n const enabledItems = getItems().filter((item)=>!item.disabled\n );\n const currentItem = enabledItems.find((item)=>item.value === context.value\n );\n const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n if (nextItem !== undefined) context.onValueChange(nextItem.value);\n });\n const handleOpen = ()=>{\n if (!isDisabled) {\n context.onOpenChange(true); // reset typeahead when we open\n resetTypeahead();\n }\n };\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.button, $01b9c$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? 'open' : 'closed',\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? '' : undefined,\n \"data-placeholder\": context.value === undefined ? '' : undefined\n }, triggerProps, {\n ref: composedRefs // Enable compatibility with native label or custom `Label` \"click\" for Safari:\n ,\n onClick: $01b9c$composeEventHandlers(triggerProps.onClick, (event)=>{\n // Whilst browsers generally have no issue focusing the trigger when clicking\n // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n // We force `focus` in this case. Note: this doesn't create any other side-effect\n // because we are preventing default in `onPointerDown` so effectively\n // this only runs for a label \"click\"\n event.currentTarget.focus();\n }),\n onPointerDown: $01b9c$composeEventHandlers(triggerProps.onPointerDown, (event)=>{\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) target.releasePointerCapture(event.pointerId);\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (event.button === 0 && event.ctrlKey === false) {\n handleOpen();\n context.triggerPointerDownPosRef.current = {\n x: Math.round(event.pageX),\n y: Math.round(event.pageY)\n }; // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n }),\n onKeyDown: $01b9c$composeEventHandlers(triggerProps.onKeyDown, (event)=>{\n const isTypingAhead = searchRef.current !== '';\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === ' ') return;\n if ($cc7e05a45900e73f$var$OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3ac1e88a1c0b9f1, {\n displayName: $cc7e05a45900e73f$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectValue\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$VALUE_NAME = 'SelectValue';\nconst $cc7e05a45900e73f$export$e288731fd71264f0 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect: __scopeSelect , className: className , style: style , children: children , placeholder: placeholder , ...valueProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange: onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== undefined;\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onValueNodeChange);\n $01b9c$useLayoutEffect(()=>{\n onValueNodeHasChildrenChange(hasChildren);\n }, [\n onValueNodeHasChildrenChange,\n hasChildren\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({}, valueProps, {\n ref: composedRefs // we don't want events from the portalled `SelectValue` children to bubble\n ,\n style: {\n pointerEvents: 'none'\n }\n }), context.value === undefined && placeholder !== undefined ? placeholder : children);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$e288731fd71264f0, {\n displayName: $cc7e05a45900e73f$var$VALUE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectIcon\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ICON_NAME = 'SelectIcon';\nconst $cc7e05a45900e73f$export$99b400cabb58c515 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , children: children , ...iconProps } = props;\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, iconProps, {\n ref: forwardedRef\n }), children || '▼');\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$99b400cabb58c515, {\n displayName: $cc7e05a45900e73f$var$ICON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectPortal\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$PORTAL_NAME = 'SelectPortal';\nconst $cc7e05a45900e73f$export$b2af6c9944296213 = (props)=>{\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Portal, $01b9c$babelruntimehelpersesmextends({\n asChild: true\n }, props));\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$b2af6c9944296213, {\n displayName: $cc7e05a45900e73f$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_NAME = 'SelectContent';\nconst $cc7e05a45900e73f$export$c973a4b3cb86a03d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = $01b9c$useState(); // setting the fragment in `useLayoutEffect` as `DocumentFragment` doesn't exist on the server\n $01b9c$useLayoutEffect(()=>{\n setFragment(new DocumentFragment());\n }, []);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, context.open ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef\n })) : fragment ? /*#__PURE__*/ $01b9c$createPortal(/*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n scope: props.__scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n scope: props.__scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement(\"div\", null, props.children))), fragment) : null);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$c973a4b3cb86a03d, {\n displayName: $cc7e05a45900e73f$var$CONTENT_NAME\n});\nconst $cc7e05a45900e73f$var$CONTENT_MARGIN = 10;\nconst [$cc7e05a45900e73f$var$SelectContentProvider, $cc7e05a45900e73f$var$useSelectContentContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME);\nconst $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , onCloseAutoFocus: onCloseAutoFocus , ...contentProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = $01b9c$useState(null);\n const [content, setContent] = $01b9c$useState(null);\n const [viewport, setViewport] = $01b9c$useState(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setContent(node)\n );\n const [selectedItem, setSelectedItem] = $01b9c$useState(null);\n const [selectedItemText, setSelectedItemText] = $01b9c$useState(null);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = $01b9c$useState(false);\n const shouldRepositionRef = $01b9c$useRef(true);\n const shouldExpandOnScrollRef = $01b9c$useRef(false);\n const firstValidItemFoundRef = $01b9c$useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n $01b9c$useEffect(()=>{\n if (content) return $01b9c$hideOthers(content);\n }, [\n content\n ]); // Make sure the whole tree has focus guards as our `Select` may be\n // the last element in the DOM (because of the `Portal`)\n $01b9c$useFocusGuards();\n const [contentZIndex, setContentZIndex] = $01b9c$useState();\n $01b9c$useLayoutEffect(()=>{\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [\n content\n ]);\n const focusFirst = $01b9c$useCallback((candidates)=>{\n const [firstItem, ...restItems] = getItems().map((item)=>item.ref.current\n );\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates){\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate === null || candidate === void 0 || candidate.scrollIntoView({\n block: 'nearest'\n }); // viewport might have padding so scroll to its edges when focusing first/last items.\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate === null || candidate === void 0 || candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }, [\n getItems,\n viewport\n ]);\n const position = $01b9c$useCallback(()=>{\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect(); // -----------------------------------------------------------------------------------------\n // Horizontal positioning\n // -----------------------------------------------------------------------------------------\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== 'rtl') {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const clampedLeft = $01b9c$clamp(left, [\n $cc7e05a45900e73f$var$CONTENT_MARGIN,\n rightEdge - contentWidth\n ]);\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.left = clampedLeft + 'px';\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const clampedRight = $01b9c$clamp(right, [\n $cc7e05a45900e73f$var$CONTENT_MARGIN,\n leftEdge - contentWidth\n ]);\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.right = clampedRight + 'px';\n } // -----------------------------------------------------------------------------------------\n // Vertical positioning\n // -----------------------------------------------------------------------------------------\n const items = getItems();\n const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + 'px';\n } else {\n const isFirstItem = selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + 'px';\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${$cc7e05a45900e73f$var$CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + 'px';\n contentWrapper.style.maxHeight = availableHeight + 'px'; // -----------------------------------------------------------------------------------------\n setIsPositioned(true); // we don't want the initial scroll position adjustment to trigger \"expand on scroll\"\n // so we explicitly turn it on only after they've registered.\n requestAnimationFrame(()=>shouldExpandOnScrollRef.current = true\n );\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir\n ]);\n $01b9c$useLayoutEffect(()=>position()\n , [\n position\n ]);\n const focusSelectedItem = $01b9c$useCallback(()=>focusFirst([\n selectedItem,\n content\n ])\n , [\n focusFirst,\n selectedItem,\n content\n ]); // Since this is not dependent on layout, we want to ensure this runs at the same time as\n // other effects across components. Hence why we don't call `focusSelectedItem` inside `position`.\n $01b9c$useEffect(()=>{\n if (isPositioned) focusSelectedItem();\n }, [\n isPositioned,\n focusSelectedItem\n ]); // When the viewport becomes scrollable at the top, the scroll up button will mount.\n // Because it is part of the normal flow, it will push down the viewport, thus throwing our\n // trigger => selectedItem alignment off by the amount the viewport was pushed down.\n // We wait for this to happen and then re-run the positining logic one more time to account for it.\n const handleScrollButtonChange = $01b9c$useCallback((node)=>{\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem();\n shouldRepositionRef.current = false;\n }\n }, [\n position,\n focusSelectedItem\n ]); // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`\n // and close on `pointerup` outside.\n const { onOpenChange: onOpenChange , triggerPointerDownPosRef: triggerPointerDownPosRef } = context;\n $01b9c$useEffect(()=>{\n if (content) {\n let pointerMoveDelta = {\n x: 0,\n y: 0\n };\n const handlePointerMove = (event)=>{\n var _triggerPointerDownPo, _triggerPointerDownPo2, _triggerPointerDownPo3, _triggerPointerDownPo4;\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - ((_triggerPointerDownPo = (_triggerPointerDownPo2 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo2 === void 0 ? void 0 : _triggerPointerDownPo2.x) !== null && _triggerPointerDownPo !== void 0 ? _triggerPointerDownPo : 0)),\n y: Math.abs(Math.round(event.pageY) - ((_triggerPointerDownPo3 = (_triggerPointerDownPo4 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo4 === void 0 ? void 0 : _triggerPointerDownPo4.y) !== null && _triggerPointerDownPo3 !== void 0 ? _triggerPointerDownPo3 : 0))\n };\n };\n const handlePointerUp = (event)=>{\n // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) event.preventDefault();\n else // otherwise, if the event was outside the content, close.\n if (!content.contains(event.target)) onOpenChange(false);\n document.removeEventListener('pointermove', handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, {\n capture: true,\n once: true\n });\n }\n return ()=>{\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, {\n capture: true\n });\n };\n }\n }, [\n content,\n onOpenChange,\n triggerPointerDownPosRef\n ]);\n $01b9c$useEffect(()=>{\n const close = ()=>onOpenChange(false)\n ;\n window.addEventListener('blur', close);\n window.addEventListener('resize', close);\n return ()=>{\n window.removeEventListener('blur', close);\n window.removeEventListener('resize', close);\n };\n }, [\n onOpenChange\n ]);\n const [searchRef, handleTypeaheadSearch] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n const enabledItems = getItems().filter((item)=>!item.disabled\n );\n const currentItem = enabledItems.find((item)=>item.ref.current === document.activeElement\n );\n const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n if (nextItem) /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>nextItem.ref.current.focus()\n );\n });\n const itemRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n }, [\n context.value\n ]);\n const handleItemLeave = $01b9c$useCallback(()=>content === null || content === void 0 ? void 0 : content.focus()\n , [\n content\n ]);\n const itemTextRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) setSelectedItemText(node);\n }, [\n context.value\n ]);\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n scope: __scopeSelect,\n contentWrapper: contentWrapper,\n content: content,\n viewport: viewport,\n onViewportChange: setViewport,\n itemRefCallback: itemRefCallback,\n selectedItem: selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback: itemTextRefCallback,\n selectedItemText: selectedItemText,\n onScrollButtonChange: handleScrollButtonChange,\n isPositioned: isPositioned,\n shouldExpandOnScrollRef: shouldExpandOnScrollRef,\n searchRef: searchRef\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$RemoveScroll, {\n as: $01b9c$Slot,\n allowPinchZoom: true\n }, /*#__PURE__*/ $01b9c$createElement(\"div\", {\n ref: setContentWrapper,\n style: {\n display: 'flex',\n flexDirection: 'column',\n position: 'fixed',\n zIndex: contentZIndex\n }\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$FocusScope, {\n asChild: true // we make sure we're not trapping once it's been closed\n ,\n trapped: context.open,\n onMountAutoFocus: (event)=>{\n // we prevent open autofocus because we manually focus the selected item\n event.preventDefault();\n },\n onUnmountAutoFocus: $01b9c$composeEventHandlers(onCloseAutoFocus, (event)=>{\n var _context$trigger;\n (_context$trigger = context.trigger) === null || _context$trigger === void 0 || _context$trigger.focus({\n preventScroll: true\n });\n event.preventDefault();\n })\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$DismissableLayer, $01b9c$babelruntimehelpersesmextends({\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? 'open' : 'closed',\n dir: context.dir,\n onContextMenu: (event)=>event.preventDefault()\n }, contentProps, {\n ref: composedRefs,\n style: {\n display: 'flex',\n flexDirection: 'column',\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: 'border-box',\n maxHeight: '100%',\n outline: 'none',\n ...contentProps.style\n },\n disableOutsidePointerEvents: true // When focus is trapped, a focusout event may still happen.\n ,\n onFocusOutside: (event)=>event.preventDefault()\n ,\n onDismiss: ()=>context.onOpenChange(false)\n ,\n onKeyDown: $01b9c$composeEventHandlers(contentProps.onKeyDown, (event)=>{\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey; // select should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End'\n ].includes(event.key)) {\n const items = getItems().filter((item)=>!item.disabled\n );\n let candidateNodes = items.map((item)=>item.ref.current\n );\n if ([\n 'ArrowUp',\n 'End'\n ].includes(event.key)) candidateNodes = candidateNodes.slice().reverse();\n if ([\n 'ArrowUp',\n 'ArrowDown'\n ].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>focusFirst(candidateNodes)\n );\n event.preventDefault();\n }\n })\n }))))));\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectViewport\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$VIEWPORT_NAME = 'SelectViewport';\nconst $cc7e05a45900e73f$export$9ed6e7b40248d36d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...viewportProps } = props;\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = $01b9c$useRef(0);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n }\n }), /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n scope: __scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\"\n }, viewportProps, {\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: 'relative',\n flex: 1,\n overflow: 'auto',\n ...viewportProps.style\n },\n onScroll: $01b9c$composeEventHandlers(viewportProps.onScroll, (event)=>{\n const viewport = event.currentTarget;\n const { contentWrapper: contentWrapper , shouldExpandOnScrollRef: shouldExpandOnScrollRef } = contentContext;\n if (shouldExpandOnScrollRef !== null && shouldExpandOnScrollRef !== void 0 && shouldExpandOnScrollRef.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + 'px';\n if (contentWrapper.style.bottom === '0px') {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0; // ensure the content stays pinned to the bottom\n contentWrapper.style.justifyContent = 'flex-end';\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$9ed6e7b40248d36d, {\n displayName: $cc7e05a45900e73f$var$VIEWPORT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectGroup\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$GROUP_NAME = 'SelectGroup';\nconst [$cc7e05a45900e73f$var$SelectGroupContextProvider, $cc7e05a45900e73f$var$useSelectGroupContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$GROUP_NAME);\nconst $cc7e05a45900e73f$export$ee25a334c55de1f4 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...groupProps } = props;\n const groupId = $01b9c$useId();\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectGroupContextProvider, {\n scope: __scopeSelect,\n id: groupId\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n role: \"group\",\n \"aria-labelledby\": groupId\n }, groupProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ee25a334c55de1f4, {\n displayName: $cc7e05a45900e73f$var$GROUP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectLabel\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$LABEL_NAME = 'SelectLabel';\nconst $cc7e05a45900e73f$export$f67338d29bd972f8 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...labelProps } = props;\n const groupContext = $cc7e05a45900e73f$var$useSelectGroupContext($cc7e05a45900e73f$var$LABEL_NAME, __scopeSelect);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n id: groupContext.id\n }, labelProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$f67338d29bd972f8, {\n displayName: $cc7e05a45900e73f$var$LABEL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItem\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_NAME = 'SelectItem';\nconst [$cc7e05a45900e73f$var$SelectItemContextProvider, $cc7e05a45900e73f$var$useSelectItemContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$ITEM_NAME);\nconst $cc7e05a45900e73f$export$13ef48a934230896 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , value: value , disabled: disabled = false , textValue: textValueProp , ...itemProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = $01b9c$useState(textValueProp !== null && textValueProp !== void 0 ? textValueProp : '');\n const [isFocused, setIsFocused] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>{\n var _contentContext$itemR;\n return (_contentContext$itemR = contentContext.itemRefCallback) === null || _contentContext$itemR === void 0 ? void 0 : _contentContext$itemR.call(contentContext, node, value, disabled);\n });\n const textId = $01b9c$useId();\n const handleSelect = ()=>{\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectItemContextProvider, {\n scope: __scopeSelect,\n value: value,\n disabled: disabled,\n textId: textId,\n isSelected: isSelected,\n onItemTextChange: $01b9c$useCallback((node)=>{\n setTextValue((prevTextValue)=>{\n var _node$textContent;\n return prevTextValue || ((_node$textContent = node === null || node === void 0 ? void 0 : node.textContent) !== null && _node$textContent !== void 0 ? _node$textContent : '').trim();\n });\n }, [])\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.ItemSlot, {\n scope: __scopeSelect,\n value: value,\n disabled: disabled,\n textValue: textValue\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? '' : undefined // `isFocused` caveat fixes stuttering in VoiceOver\n ,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? 'checked' : 'unchecked',\n \"aria-disabled\": disabled || undefined,\n \"data-disabled\": disabled ? '' : undefined,\n tabIndex: disabled ? undefined : -1\n }, itemProps, {\n ref: composedRefs,\n onFocus: $01b9c$composeEventHandlers(itemProps.onFocus, ()=>setIsFocused(true)\n ),\n onBlur: $01b9c$composeEventHandlers(itemProps.onBlur, ()=>setIsFocused(false)\n ),\n onPointerUp: $01b9c$composeEventHandlers(itemProps.onPointerUp, handleSelect),\n onPointerMove: $01b9c$composeEventHandlers(itemProps.onPointerMove, (event)=>{\n if (disabled) {\n var _contentContext$onIte;\n (_contentContext$onIte = contentContext.onItemLeave) === null || _contentContext$onIte === void 0 || _contentContext$onIte.call(contentContext);\n } else // even though safari doesn't support this option, it's acceptable\n // as it only means it might scroll a few pixels when using the pointer.\n event.currentTarget.focus({\n preventScroll: true\n });\n }),\n onPointerLeave: $01b9c$composeEventHandlers(itemProps.onPointerLeave, (event)=>{\n if (event.currentTarget === document.activeElement) {\n var _contentContext$onIte2;\n (_contentContext$onIte2 = contentContext.onItemLeave) === null || _contentContext$onIte2 === void 0 || _contentContext$onIte2.call(contentContext);\n }\n }),\n onKeyDown: $01b9c$composeEventHandlers(itemProps.onKeyDown, (event)=>{\n var _contentContext$searc;\n const isTypingAhead = ((_contentContext$searc = contentContext.searchRef) === null || _contentContext$searc === void 0 ? void 0 : _contentContext$searc.current) !== '';\n if (isTypingAhead && event.key === ' ') return;\n if ($cc7e05a45900e73f$var$SELECTION_KEYS.includes(event.key)) handleSelect(); // prevent page scroll if using the space key to select an item\n if (event.key === ' ') event.preventDefault();\n })\n }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$13ef48a934230896, {\n displayName: $cc7e05a45900e73f$var$ITEM_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemText\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_TEXT_NAME = 'SelectItemText';\nconst $cc7e05a45900e73f$export$3572fb0fb821ff49 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect: __scopeSelect , className: className , style: style , ...itemTextProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = $cc7e05a45900e73f$var$useSelectNativeOptionsContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = $01b9c$useState(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setItemTextNode(node)\n , itemContext.onItemTextChange, (node)=>{\n var _contentContext$itemT;\n return (_contentContext$itemT = contentContext.itemTextRefCallback) === null || _contentContext$itemT === void 0 ? void 0 : _contentContext$itemT.call(contentContext, node, itemContext.value, itemContext.disabled);\n });\n const textContent = itemTextNode === null || itemTextNode === void 0 ? void 0 : itemTextNode.textContent;\n const nativeOption = $01b9c$useMemo(()=>/*#__PURE__*/ $01b9c$createElement(\"option\", {\n key: itemContext.value,\n value: itemContext.value,\n disabled: itemContext.disabled\n }, textContent)\n , [\n itemContext.disabled,\n itemContext.value,\n textContent\n ]);\n const { onNativeOptionAdd: onNativeOptionAdd , onNativeOptionRemove: onNativeOptionRemove } = nativeOptionsContext;\n $01b9c$useLayoutEffect(()=>{\n onNativeOptionAdd(nativeOption);\n return ()=>onNativeOptionRemove(nativeOption)\n ;\n }, [\n onNativeOptionAdd,\n onNativeOptionRemove,\n nativeOption\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n id: itemContext.textId\n }, itemTextProps, {\n ref: composedRefs\n })), itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/ $01b9c$createPortal(itemTextProps.children, context.valueNode) : null);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3572fb0fb821ff49, {\n displayName: $cc7e05a45900e73f$var$ITEM_TEXT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemIndicator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME = 'SelectItemIndicator';\nconst $cc7e05a45900e73f$export$6b9198de19accfe6 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...itemIndicatorProps } = props;\n const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, itemIndicatorProps, {\n ref: forwardedRef\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$6b9198de19accfe6, {\n displayName: $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollUpButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';\nconst $cc7e05a45900e73f$export$d8117927658af6d7 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp1, setCanScrollUp] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, contentContext.onScrollButtonChange);\n $01b9c$useLayoutEffect(()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const canScrollUp = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollUp1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport: viewport , selectedItem: selectedItem } = contentContext;\n if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$d8117927658af6d7, {\n displayName: $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollDownButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';\nconst $cc7e05a45900e73f$export$ff951e476c12189 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown1, setCanScrollDown] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, contentContext.onScrollButtonChange);\n $01b9c$useLayoutEffect(()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight; // we use Math.ceil here because if the UI is zoomed-in\n // `scrollTop` is not always reported as an integer\n const canScrollDown = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollDown1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport: viewport , selectedItem: selectedItem } = contentContext;\n if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ff951e476c12189, {\n displayName: $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME\n});\nconst $cc7e05a45900e73f$var$SelectScrollButtonImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , onAutoScroll: onAutoScroll , ...scrollIndicatorProps } = props;\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext('SelectScrollButton', __scopeSelect);\n const autoScrollTimerRef = $01b9c$useRef(null);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const clearAutoScrollTimer = $01b9c$useCallback(()=>{\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n $01b9c$useEffect(()=>{\n return ()=>clearAutoScrollTimer()\n ;\n }, [\n clearAutoScrollTimer\n ]); // When the viewport becomes scrollable on either side, the relevant scroll button will mount.\n // Because it is part of the normal flow, it will push down (top button) or shrink (bottom button)\n // the viewport, potentially causing the active item to now be partially out of view.\n // We re-run the `scrollIntoView` logic to make sure it stays within the viewport.\n $01b9c$useLayoutEffect(()=>{\n var _activeItem$ref$curre;\n const activeItem = getItems().find((item)=>item.ref.current === document.activeElement\n );\n activeItem === null || activeItem === void 0 || (_activeItem$ref$curre = activeItem.ref.current) === null || _activeItem$ref$curre === void 0 || _activeItem$ref$curre.scrollIntoView({\n block: 'nearest'\n });\n }, [\n getItems\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, scrollIndicatorProps, {\n ref: forwardedRef,\n style: {\n flexShrink: 0,\n ...scrollIndicatorProps.style\n },\n onPointerMove: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerMove, ()=>{\n var _contentContext$onIte3;\n (_contentContext$onIte3 = contentContext.onItemLeave) === null || _contentContext$onIte3 === void 0 || _contentContext$onIte3.call(contentContext);\n if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }),\n onPointerLeave: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerLeave, ()=>{\n clearAutoScrollTimer();\n })\n }));\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectSeparator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SEPARATOR_NAME = 'SelectSeparator';\nconst $cc7e05a45900e73f$export$eba4b1df07cb1d3 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...separatorProps } = props;\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, separatorProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$eba4b1df07cb1d3, {\n displayName: $cc7e05a45900e73f$var$SEPARATOR_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$BubbleSelect = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { value: value , ...selectProps } = props;\n const ref = $01b9c$useRef(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, ref);\n const prevValue = $01b9c$usePrevious(value); // Bubble value change to parents (e.g form change event)\n $01b9c$useEffect(()=>{\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(selectProto, 'value');\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event('change', {\n bubbles: true\n });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [\n prevValue,\n value\n ]);\n /**\n * We purposefully use a `select` here to support form autofill as much\n * as possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programatically and bubble to any parent form `onChange` event.\n * Adding the `value` will cause React to consider the programatic\n * dispatch a duplicate and it will get swallowed.\n *\n * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n * won't work otherwise.\n */ return /*#__PURE__*/ $01b9c$createElement($01b9c$VisuallyHidden, {\n asChild: true\n }, /*#__PURE__*/ $01b9c$createElement(\"select\", $01b9c$babelruntimehelpersesmextends({}, selectProps, {\n ref: composedRefs,\n defaultValue: value\n })));\n});\n$cc7e05a45900e73f$var$BubbleSelect.displayName = 'BubbleSelect';\nfunction $cc7e05a45900e73f$var$useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = $01b9c$useCallbackRef(onSearchChange);\n const searchRef = $01b9c$useRef('');\n const timerRef = $01b9c$useRef(0);\n const handleTypeaheadSearch = $01b9c$useCallback((key)=>{\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current); // Reset `searchRef` 1 second after it was last updated\n if (value !== '') timerRef.current = window.setTimeout(()=>updateSearch('')\n , 1000);\n })(search);\n }, [\n handleSearchChange\n ]);\n const resetTypeahead = $01b9c$useCallback(()=>{\n searchRef.current = '';\n window.clearTimeout(timerRef.current);\n }, []);\n $01b9c$useEffect(()=>{\n return ()=>window.clearTimeout(timerRef.current)\n ;\n }, []);\n return [\n searchRef,\n handleTypeaheadSearch,\n resetTypeahead\n ];\n}\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in a list of items,\n * the search and the current item, and returns the next item (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through items starting with that character)\n *\n * We also reorder the items by wrapping the array around the current item.\n * This is so we always look forward from the current item, and picking the first\n * item will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current item from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current item still matches.\n */ function $cc7e05a45900e73f$var$findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]\n );\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = $cc7e05a45900e73f$var$wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem\n );\n const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : undefined;\n}\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */ function $cc7e05a45900e73f$var$wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]\n );\n}\nconst $cc7e05a45900e73f$export$be92b6f5f03c0fe9 = $cc7e05a45900e73f$export$ef9b1a59e592288f;\nconst $cc7e05a45900e73f$export$41fb9f06171c75f4 = $cc7e05a45900e73f$export$3ac1e88a1c0b9f1;\nconst $cc7e05a45900e73f$export$4c8d1a57a761ef94 = $cc7e05a45900e73f$export$e288731fd71264f0;\nconst $cc7e05a45900e73f$export$f04a61298a47a40f = $cc7e05a45900e73f$export$99b400cabb58c515;\nconst $cc7e05a45900e73f$export$602eac185826482c = $cc7e05a45900e73f$export$b2af6c9944296213;\nconst $cc7e05a45900e73f$export$7c6e2c02157bb7d2 = $cc7e05a45900e73f$export$c973a4b3cb86a03d;\nconst $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 = $cc7e05a45900e73f$export$9ed6e7b40248d36d;\nconst $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 = $cc7e05a45900e73f$export$ee25a334c55de1f4;\nconst $cc7e05a45900e73f$export$b04be29aa201d4f5 = $cc7e05a45900e73f$export$f67338d29bd972f8;\nconst $cc7e05a45900e73f$export$6d08773d2e66f8f2 = $cc7e05a45900e73f$export$13ef48a934230896;\nconst $cc7e05a45900e73f$export$d6e5bf9c43ea9319 = $cc7e05a45900e73f$export$3572fb0fb821ff49;\nconst $cc7e05a45900e73f$export$c3468e2714d175fa = $cc7e05a45900e73f$export$6b9198de19accfe6;\nconst $cc7e05a45900e73f$export$2f60d3ec9ad468f2 = $cc7e05a45900e73f$export$d8117927658af6d7;\nconst $cc7e05a45900e73f$export$bf1aedc3039c8d63 = $cc7e05a45900e73f$export$ff951e476c12189;\nconst $cc7e05a45900e73f$export$1ff3c3f08ae963c0 = $cc7e05a45900e73f$export$eba4b1df07cb1d3;\n\n\n\n\nexport {$cc7e05a45900e73f$export$286727a75dc039bd as createSelectScope, $cc7e05a45900e73f$export$ef9b1a59e592288f as Select, $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 as SelectTrigger, $cc7e05a45900e73f$export$e288731fd71264f0 as SelectValue, $cc7e05a45900e73f$export$99b400cabb58c515 as SelectIcon, $cc7e05a45900e73f$export$b2af6c9944296213 as SelectPortal, $cc7e05a45900e73f$export$c973a4b3cb86a03d as SelectContent, $cc7e05a45900e73f$export$9ed6e7b40248d36d as SelectViewport, $cc7e05a45900e73f$export$ee25a334c55de1f4 as SelectGroup, $cc7e05a45900e73f$export$f67338d29bd972f8 as SelectLabel, $cc7e05a45900e73f$export$13ef48a934230896 as SelectItem, $cc7e05a45900e73f$export$3572fb0fb821ff49 as SelectItemText, $cc7e05a45900e73f$export$6b9198de19accfe6 as SelectItemIndicator, $cc7e05a45900e73f$export$d8117927658af6d7 as SelectScrollUpButton, $cc7e05a45900e73f$export$ff951e476c12189 as SelectScrollDownButton, $cc7e05a45900e73f$export$eba4b1df07cb1d3 as SelectSeparator, $cc7e05a45900e73f$export$be92b6f5f03c0fe9 as Root, $cc7e05a45900e73f$export$41fb9f06171c75f4 as Trigger, $cc7e05a45900e73f$export$4c8d1a57a761ef94 as Value, $cc7e05a45900e73f$export$f04a61298a47a40f as Icon, $cc7e05a45900e73f$export$602eac185826482c as Portal, $cc7e05a45900e73f$export$7c6e2c02157bb7d2 as Content, $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 as Viewport, $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 as Group, $cc7e05a45900e73f$export$b04be29aa201d4f5 as Label, $cc7e05a45900e73f$export$6d08773d2e66f8f2 as Item, $cc7e05a45900e73f$export$d6e5bf9c43ea9319 as ItemText, $cc7e05a45900e73f$export$c3468e2714d175fa as ItemIndicator, $cc7e05a45900e73f$export$2f60d3ec9ad468f2 as ScrollUpButton, $cc7e05a45900e73f$export$bf1aedc3039c8d63 as ScrollDownButton, $cc7e05a45900e73f$export$1ff3c3f08ae963c0 as Separator};\n//# sourceMappingURL=index.module.js.map\n","import React from 'react';\nimport styled from 'styled-components';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport {\n ArrowDropDown,\n ArrowDropUp,\n // CheckCircleOutline as CheckCircleOutlineIcon,\n} from '@material-ui/icons';\nimport tokens from '@theroutingcompany/design-tokens';\n\nexport const StyledTrigger = styled(SelectPrimitive.SelectTrigger)`\n all: unset;\n display: flex;\n align-items: center;\n padding: 6px 8px;\n font-size: ${tokens.font_size_100};\n font-family: 'Inter', sans-serif;\n line-height: ${tokens.line_height_129};\n gap: ${tokens.sizing_200};\n background-color: white;\n color: ${tokens.color_text_white_weak};\n\n background: ${tokens.color_overlay_secondary_enabled};\n border: 1px solid ${tokens.color_outline_secondary_enabled};\n border-radius: ${tokens.border_radius_400};\n\n &[data-placeholder] {\n color: ${tokens.color_text_white_weak};\n }\n\n &:hover {\n background-color: ${tokens.color_overlay_secondary_hover};\n }\n\n &:focus {\n color: ${tokens.color_black};\n }\n\n &:disabled {\n background-color: ${tokens.color_overlay_secondary_hover};\n color: ${tokens.color_fill_primary_disabled};\n cursor: not-allowed;\n }\n`;\n\nconst StyledIcon = styled(SelectPrimitive.SelectIcon)`\n color: ${tokens.color_fill_secondary_enabled};\n`;\n\nconst StyledContent = styled(SelectPrimitive.Content)`\n font-family: 'Inter', sans-serif;\n overflow: hidden;\n background-color: white;\n border-radius: ${tokens.border_radius_400};\n box-shadow: ${tokens.elevation_static_high};\n`;\n\nconst StyledViewport = styled(SelectPrimitive.Viewport)`\n padding: ${tokens.sizing_100};\n min-width: 172px;\n`;\n\nfunction Content({ children, ...props }: SelectPrimitive.SelectContentProps) {\n return (\n <SelectPrimitive.Portal>\n <StyledContent {...props}>{children}</StyledContent>\n </SelectPrimitive.Portal>\n );\n}\n\nconst StyledItem = styled(SelectPrimitive.Item)`\n all: unset;\n font-size: ${tokens.font_size_100};\n line-height: ${tokens.line_height_129};\n letter-spacing: ${tokens.letter_spacing_tight};\n color: ${tokens.color_fill_primary_pressed};\n font-weight: 500;\n border-radius: ${tokens.border_radius_400};\n display: flex;\n align-items: center;\n justify-content: space-between; // make this configurable?\n /* height: 25px; */\n padding: 7px ${tokens.sizing_200};\n position: relative;\n user-select: none;\n\n &[data-disabled] {\n color: ${tokens.color_text_white_standard}; /* Static / Text / Inverse / Standard */\n pointer-events: none;\n }\n\n &[data-highlighted] {\n background-color: ${tokens.color_background_white_weak}; /* Static / Background / Weak */\n }\n`;\n\nconst StyledLabel = styled(SelectPrimitive.Label)`\n padding: 7px ${tokens.sizing_200};\n font-size: ${tokens.font_size_50};\n line-height: ${tokens.line_height_133};\n color: ${tokens.color_text_weak};\n`;\n\nconst StyledSeparator = styled(SelectPrimitive.Separator)`\n height: 1px;\n background-color: ${tokens.color_divider_standard};\n margin: ${tokens.spacing_100};\n`;\n\nconst StyledItemIndicator = styled(SelectPrimitive.ItemIndicator)`\n /* position: absolute; // why? */\n left: 0;\n width: 25px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n & > svg {\n line-height: 0;\n font-size: ${tokens.font_size_200};\n }\n`;\n\nconst scrollButtonStyles = `\n display: flex;\n align-items: center;\n justify-content: center;\n height: 25px;\n background-color: white;\n color: black;\n cursor: default;\n`;\n\nconst StyledScrollUpButton = styled(SelectPrimitive.ScrollUpButton)`\n ${scrollButtonStyles}\n`;\n\nconst StyledScrollDownButton = styled(SelectPrimitive.ScrollDownButton)`\n ${scrollButtonStyles}\n`;\n\nexport const Select = SelectPrimitive.Root;\nexport const SelectTrigger = StyledTrigger;\nexport const SelectValue = SelectPrimitive.Value;\nexport const SelectIcon = StyledIcon;\nexport const SelectContent = Content;\nexport const SelectViewport = StyledViewport;\nexport const SelectGroup = SelectPrimitive.Group;\nexport const SelectItem = StyledItem;\nexport const SelectItemText = SelectPrimitive.ItemText;\nexport const SelectItemIndicator = StyledItemIndicator;\nexport const SelectGroupLabel = StyledLabel;\nexport const SelectSeparator = StyledSeparator;\nexport const SelectScrollUpButton = StyledScrollUpButton;\nexport const SelectScrollDownButton = StyledScrollDownButton;\n\ntype SingleSelectProps = { items: string[] } & SelectPrimitive.SelectProps;\n\nexport function SingleSelect({ items, ...selectProps }: SingleSelectProps) {\n return (\n <Select {...selectProps}>\n <SelectTrigger aria-label='Food'>\n <SelectValue placeholder='Select' />\n <SelectIcon>\n <ArrowDropDown />\n </SelectIcon>\n </SelectTrigger>\n\n <SelectContent>\n <SelectScrollUpButton>\n <ArrowDropUp />\n </SelectScrollUpButton>\n\n {items.map((d) => (\n <SelectItem key={d} value={d}>\n <SelectItemText>{d}</SelectItemText>\n </SelectItem>\n ))}\n\n <SelectScrollDownButton>\n <ArrowDropDown />\n </SelectScrollDownButton>\n </SelectContent>\n </Select>\n );\n}\n","import $irPIl$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $irPIl$forwardRef, useState as $irPIl$useState, useRef as $irPIl$useRef, createElement as $irPIl$createElement, useEffect as $irPIl$useEffect} from \"react\";\nimport {composeEventHandlers as $irPIl$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $irPIl$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $irPIl$createContextScope} from \"@radix-ui/react-context\";\nimport {useControllableState as $irPIl$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {usePrevious as $irPIl$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {useSize as $irPIl$useSize} from \"@radix-ui/react-use-size\";\nimport {Primitive as $irPIl$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Switch\n * -----------------------------------------------------------------------------------------------*/ const $6be4966fd9bbc698$var$SWITCH_NAME = 'Switch';\nconst [$6be4966fd9bbc698$var$createSwitchContext, $6be4966fd9bbc698$export$cf7f5f17f69cbd43] = $irPIl$createContextScope($6be4966fd9bbc698$var$SWITCH_NAME);\nconst [$6be4966fd9bbc698$var$SwitchProvider, $6be4966fd9bbc698$var$useSwitchContext] = $6be4966fd9bbc698$var$createSwitchContext($6be4966fd9bbc698$var$SWITCH_NAME);\nconst $6be4966fd9bbc698$export$b5d5cf8927ab7262 = /*#__PURE__*/ $irPIl$forwardRef((props, forwardedRef)=>{\n const { __scopeSwitch: __scopeSwitch , name: name , checked: checkedProp , defaultChecked: defaultChecked , required: required , disabled: disabled , value: value = 'on' , onCheckedChange: onCheckedChange , ...switchProps } = props;\n const [button, setButton] = $irPIl$useState(null);\n const composedRefs = $irPIl$useComposedRefs(forwardedRef, (node)=>setButton(node)\n );\n const hasConsumerStoppedPropagationRef = $irPIl$useRef(false); // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n const [checked = false, setChecked] = $irPIl$useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /*#__PURE__*/ $irPIl$createElement($6be4966fd9bbc698$var$SwitchProvider, {\n scope: __scopeSwitch,\n checked: checked,\n disabled: disabled\n }, /*#__PURE__*/ $irPIl$createElement($irPIl$Primitive.button, $irPIl$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": $6be4966fd9bbc698$var$getState(checked),\n \"data-disabled\": disabled ? '' : undefined,\n disabled: disabled,\n value: value\n }, switchProps, {\n ref: composedRefs,\n onClick: $irPIl$composeEventHandlers(props.onClick, (event)=>{\n setChecked((prevChecked)=>!prevChecked\n );\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); // if switch is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect switch updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n })), isFormControl && /*#__PURE__*/ $irPIl$createElement($6be4966fd9bbc698$var$BubbleInput, {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name: name,\n value: value,\n checked: checked,\n required: required,\n disabled: disabled // We transform because the input is absolutely positioned but we have\n ,\n style: {\n transform: 'translateX(-100%)'\n }\n }));\n});\n/*#__PURE__*/ Object.assign($6be4966fd9bbc698$export$b5d5cf8927ab7262, {\n displayName: $6be4966fd9bbc698$var$SWITCH_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SwitchThumb\n * -----------------------------------------------------------------------------------------------*/ const $6be4966fd9bbc698$var$THUMB_NAME = 'SwitchThumb';\nconst $6be4966fd9bbc698$export$4d07bf653ea69106 = /*#__PURE__*/ $irPIl$forwardRef((props, forwardedRef)=>{\n const { __scopeSwitch: __scopeSwitch , ...thumbProps } = props;\n const context = $6be4966fd9bbc698$var$useSwitchContext($6be4966fd9bbc698$var$THUMB_NAME, __scopeSwitch);\n return /*#__PURE__*/ $irPIl$createElement($irPIl$Primitive.span, $irPIl$babelruntimehelpersesmextends({\n \"data-state\": $6be4966fd9bbc698$var$getState(context.checked),\n \"data-disabled\": context.disabled ? '' : undefined\n }, thumbProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($6be4966fd9bbc698$export$4d07bf653ea69106, {\n displayName: $6be4966fd9bbc698$var$THUMB_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ const $6be4966fd9bbc698$var$BubbleInput = (props)=>{\n const { control: control , checked: checked , bubbles: bubbles = true , ...inputProps } = props;\n const ref = $irPIl$useRef(null);\n const prevChecked = $irPIl$usePrevious(checked);\n const controlSize = $irPIl$useSize(control); // Bubble checked change to parents (e.g form change event)\n $irPIl$useEffect(()=>{\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked');\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', {\n bubbles: bubbles\n });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [\n prevChecked,\n checked,\n bubbles\n ]);\n return /*#__PURE__*/ $irPIl$createElement(\"input\", $irPIl$babelruntimehelpersesmextends({\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked\n }, inputProps, {\n tabIndex: -1,\n ref: ref,\n style: {\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0\n }\n }));\n};\nfunction $6be4966fd9bbc698$var$getState(checked) {\n return checked ? 'checked' : 'unchecked';\n}\nconst $6be4966fd9bbc698$export$be92b6f5f03c0fe9 = $6be4966fd9bbc698$export$b5d5cf8927ab7262;\nconst $6be4966fd9bbc698$export$6521433ed15a34db = $6be4966fd9bbc698$export$4d07bf653ea69106;\n\n\n\n\nexport {$6be4966fd9bbc698$export$cf7f5f17f69cbd43 as createSwitchScope, $6be4966fd9bbc698$export$b5d5cf8927ab7262 as Switch, $6be4966fd9bbc698$export$4d07bf653ea69106 as SwitchThumb, $6be4966fd9bbc698$export$be92b6f5f03c0fe9 as Root, $6be4966fd9bbc698$export$6521433ed15a34db as Thumb};\n//# sourceMappingURL=index.module.js.map\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport * as SwitchPrimitive from '@radix-ui/react-switch';\nimport tokens from '@theroutingcompany/design-tokens';\nimport { useFormInput } from 'components/FormControl/useFormInput';\n\nexport type { SwitchProps } from '@radix-ui/react-switch';\n\nconst SwitchRoot = styled(SwitchPrimitive.Root)`\n all: unset;\n width: 40px;\n height: 24px;\n background-color: ${tokens.color_fill_secondary_enabled};\n border-radius: 9999px;\n position: relative;\n transition-property: ${tokens.transition_property_color};\n transition-timing-function: linear;\n transition-duration: ${tokens.transition_duration_150};\n\n &:focus {\n outline-offset: 2px;\n outline-style: solid;\n outline-width: 1px;\n }\n\n &[data-state='checked'] {\n background-color: ${tokens.color_black};\n }\n\n &:hover {\n background-color: ${tokens.color_fill_primary_hover};\n }\n\n &:active {\n background-color: ${tokens.color_fill_primary_pressed};\n }\n\n &[data-disabled] {\n background: ${tokens.color_fill_primary_disabled};\n cursor: not-allowed;\n }\n`;\n\nconst SwitchThumb = styled(SwitchPrimitive.Thumb)`\n --thumb-width: 18px;\n display: block;\n width: var(--thumb-width);\n height: var(--thumb-width);\n background-color: white;\n border-radius: ${tokens.border_radius_circle};\n box-shadow: ${tokens.elevation_interactive_medium};\n transition: transform ${tokens.transition_duration_100};\n transform: translateX(2px);\n will-change: transform;\n\n &[data-state='checked'] {\n transform: translateX(19px);\n }\n`;\n\nexport function Switch({ disabled, ...props }: SwitchPrimitive.SwitchProps) {\n const fieldProps = useFormInput(disabled);\n\n return (\n <SwitchRoot {...props} {...fieldProps}>\n <SwitchThumb />\n </SwitchRoot>\n );\n}\n","/* eslint-disable react/jsx-props-no-spreading */\nimport styled from 'styled-components';\nimport type * as Polymorphic from '@radix-ui/react-polymorphic';\nimport { forwardRef, type ComponentPropsWithoutRef } from 'react';\n// import type * as Polymorphic from '@radix-ui/react-polymorphic';\nimport tokens from '@theroutingcompany/design-tokens';\n\n// TODO add forward refs and Polymorphic types\n\ntype TextElements =\n | 'p'\n | 'div'\n | 'span'\n | 'legend'\n | 'caption'\n | 'figcaption'\n | 'strong'\n | 'em'\n | 'strong'\n | 'abbr'\n | 'mark'\n | 'q'\n | 'small'\n | 'time';\n\nconst TextBase = styled.p`\n font-family: ${tokens.font_family_inter};\n font-style: normal;\n font-weight: var(--text-font-weight, 400);\n color: var(--text-color, ${tokens.color_text_strong});\n margin-block: 0;\n`;\n\nconst BodyTextBase = styled(TextBase)`\n max-width: 60ch; // should check with designers\n`;\n\nconst LargeBodyText = styled(BodyTextBase)`\n letter-spacing: ${tokens.letter_spacing_body_large};\n line-height: ${tokens.line_height_body_large};\n font-size: ${tokens.font_size_body_large};\n`;\n\nconst MediumBodyText = styled(BodyTextBase)`\n letter-spacing: ${tokens.letter_spacing_body_medium};\n line-height: ${tokens.line_height_body_medium};\n font-size: ${tokens.font_size_body_medium};\n`;\n\nconst SmallBodyText = styled(BodyTextBase)`\n letter-spacing: ${tokens.letter_spacing_body_small};\n line-height: ${tokens.line_height_body_small};\n font-size: ${tokens.font_size_body_small};\n`;\n\nconst bodyTextComps = {\n large: LargeBodyText,\n medium: MediumBodyText,\n small: SmallBodyText,\n} as const;\n\n// Omit<ComponentPropsWithoutRef<'p'>, \"className\" | \"style\">\ninterface BodyTextProps extends ComponentPropsWithoutRef<'p'> {\n type: 'body';\n size?: 'small' | 'medium' | 'large';\n bold?: boolean;\n as?: TextElements;\n}\n\nfunction BodyText({ size = 'medium', bold, ...props }: BodyTextProps) {\n const Comp = bodyTextComps[size]; // or error?\n\n return <Comp {...props} />;\n}\n\n// styled(TextBase)`\nconst NumberTextBase = styled.p`\n font-feature-settings: 'tnum' on, 'lnum' on, 'ss01' on;\n font-family: ${tokens.font_family_inter};\n font-style: normal;\n font-weight: var(--text-font-weight, 400);\n color: var(--text-color, ${tokens.color_text_strong});\n margin-block: 0;\n`;\n\nconst XSmallNumberText = styled(NumberTextBase)`\n letter-spacing: ${tokens.letter_spacing_number_xsmall};\n line-height: ${tokens.line_height_number_xsmall};\n font-size: ${tokens.font_size_number_xsmall};\n`;\n\nconst SmallNumberText = styled(NumberTextBase)`\n letter-spacing: ${tokens.letter_spacing_number_small};\n line-height: ${tokens.line_height_number_small};\n font-size: ${tokens.font_size_number_small};\n`;\n\nconst MediumNumberText = styled(NumberTextBase)`\n letter-spacing: ${tokens.letter_spacing_number_medium};\n line-height: ${tokens.line_height_number_medium};\n font-size: ${tokens.font_size_number_medium};\n`;\n\nconst LargeNumberText = styled(NumberTextBase)`\n letter-spacing: ${tokens.letter_spacing_number_large};\n line-height: ${tokens.line_height_number_large};\n font-size: ${tokens.font_size_number_large};\n`;\n\nconst numberTextComps = {\n xsmall: XSmallNumberText,\n small: SmallNumberText,\n medium: MediumNumberText,\n large: LargeNumberText,\n} as const;\n\ninterface NumberTextProps extends ComponentPropsWithoutRef<'p'> {\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n bold?: boolean;\n type: 'number';\n as?: TextElements;\n}\n\nfunction NumberText({ size = 'medium', bold, ...props }: NumberTextProps) {\n const NumberComp = numberTextComps[size];\n\n // Validate size prop?\n\n return <NumberComp {...props} />;\n}\n\nconst SmallCaptionText = styled(TextBase)`\n letter-spacing: ${tokens.letter_spacing_number_small};\n line-height: ${tokens.line_height_number_small};\n font-size: ${tokens.font_size_number_small};\n`;\n\nconst XSmallCaptionText = styled(TextBase)`\n letter-spacing: ${tokens.letter_spacing_number_xsmall};\n line-height: ${tokens.line_height_number_xsmall};\n font-size: ${tokens.font_size_number_xsmall};\n`;\n\nconst LargeCaptionText = styled(TextBase)`\n letter-spacing: ${tokens.letter_spacing_number_large};\n line-height: ${tokens.line_height_number_large};\n font-size: ${tokens.font_size_number_large};\n`;\n\nconst MediumCaptionText = styled(TextBase)`\n letter-spacing: ${tokens.letter_spacing_number_medium};\n line-height: ${tokens.line_height_number_medium};\n font-size: ${tokens.font_size_number_medium};\n`;\n\nconst captionTextComps = {\n xsmall: XSmallCaptionText,\n small: SmallCaptionText,\n medium: MediumCaptionText,\n large: LargeCaptionText,\n} as const;\n\ninterface CaptionTextProps extends ComponentPropsWithoutRef<'p'> {\n size?: 'small' | 'medium';\n bold?: boolean;\n type: 'caption';\n as?: TextElements;\n}\n\nfunction CaptionText({ size = 'medium', bold, ...props }: CaptionTextProps) {\n const Comp = captionTextComps[size] || MediumNumberText;\n\n return <Comp {...props} />;\n}\n\nconst textComps = {\n caption: CaptionText,\n body: BodyText,\n number: NumberText,\n} as const;\n\ntype NormalVariant = 'standard' | 'strong' | 'weak';\ntype SentimentVariant = 'positive' | 'negative' | 'notice' | 'neutral';\n\ntype NormalTextColorProps = {\n textType?: 'normal';\n variant?: NormalVariant;\n};\n\ntype SentimentTextColorProps = {\n textType?: 'sentiment';\n variant?: SentimentVariant;\n};\n\ntype TextColorProps = NormalTextColorProps | SentimentTextColorProps;\n\n// Not sure, feels repetitive, just use text of nested tokens object instead\nconst textColors = {\n normal: {\n standard: tokens.color_text_standard,\n strong: tokens.color_text_strong,\n weak: tokens.color_text_weak,\n // TODO add white colors\n },\n sentiment: {\n positive: tokens.color_text_sentiment_positive,\n negative: tokens.color_text_sentiment_negative,\n notice: tokens.color_text_sentiment_notice,\n neutral: tokens.color_text_sentiment_neutral,\n // TODO add weak sentiments\n },\n};\n\nexport type TextProps = TextColorProps &\n Partial<NumberTextProps | CaptionTextProps | BodyTextProps> & {\n bold?: boolean;\n as?: TextElements;\n };\n\ntype PolymorphicText = Polymorphic.ForwardRefComponent<TextElements, TextProps>;\n\nexport const Text = forwardRef((props, ref) => {\n const {\n type = 'body', // rename type to component?\n textType = 'normal', // textType is a bad prop name\n variant = 'standard',\n bold,\n as,\n ...remainingProps\n } = props;\n\n const TextComp = textComps[type] || 'div';\n\n const textMap = textColors[textType];\n const textColor = textMap[variant];\n const fontWeight = bold ? 500 : 400;\n\n return (\n <TextComp\n // @ts-expect-error Polymorphic types are hard\n as={as}\n {...remainingProps}\n // @ts-expect-error\n ref={ref}\n // @ts-expect-error why custom properties not in type defs for style?\n style={{\n '--text-font-weight': fontWeight,\n '--text-color': textColor,\n }}\n />\n );\n}) as PolymorphicText;\nText.displayName = 'Text';\n","/* eslint-disable react/jsx-props-no-spreading */\nimport { forwardRef } from 'react';\nimport type * as Polymorphic from '@radix-ui/react-polymorphic';\nimport styled from 'styled-components';\nimport tokens from '@theroutingcompany/design-tokens';\n\nconst TitleBase = styled.h1`\n font-family: ${tokens.font_family_inter_display};\n font-style: normal;\n font-weight: 500; // don't really see value of using tokens for font-weight\n margin: 0;\n padding-inline: 0;\n`;\n\nconst LargeTitle = styled(TitleBase)`\n font-size: ${tokens.font_size_title_large};\n letter-spacing: ${tokens.letter_spacing_title_large};\n`;\n\nconst MediumTitle = styled(TitleBase)`\n font-size: ${tokens.font_size_title_medium};\n letter-spacing: ${tokens.letter_spacing_title_medium};\n`;\n\nconst SmallTitle = styled(TitleBase)`\n font-size: ${tokens.font_size_title_small};\n letter-spacing: ${tokens.letter_spacing_title_small};\n`;\n\nconst XSmallTitle = styled(TitleBase)`\n font-size: ${tokens.font_size_title_xsmall};\n letter-spacing: ${tokens.letter_spacing_title_xsmall};\n`;\n\ninterface TitleProps {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'legend'; // 'figcaption'\n size: 'small' | 'medium' | 'large' | 'xsmall';\n}\n\ntype PolymorphicTitle = Polymorphic.ForwardRefComponent<\n 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6', // more? span? div?\n TitleProps\n>;\n\nconst titleComps = {\n xsmall: XSmallTitle,\n small: SmallTitle,\n medium: MediumTitle,\n large: LargeTitle,\n};\n\n// forwardRef? Likely not needed\nexport const Title = forwardRef((props, ref) => {\n const { children, size, as, ...remainingProps } = props;\n const TitleComp = titleComps[size];\n\n return (\n <TitleComp {...remainingProps} as={as} ref={ref}>\n {children}\n </TitleComp>\n );\n}) as PolymorphicTitle;\nTitle.displayName = 'Title';\n"],"names":["_extends","target","i","source","key","$c512c27ab02ef895$export$fd42f52fd3ae1109","rootComponentName","defaultContext","Context","$3bkAK$createContext","Provider","props","children","context","value","$3bkAK$useMemo","$3bkAK$createElement","useContext","consumerName","$3bkAK$useContext","$c512c27ab02ef895$export$50c7b4e9d9f19c1","scopeName","createContextScopeDeps","defaultContexts","BaseContext","index","scope","createScope","scopeContexts","contexts","$c512c27ab02ef895$var$composeContextScopes","scopes","baseScope","createScope1","scopeHooks","overrideScopes","nextScopes1","nextScopes","useScope","currentScope","$6ed0406888f73fc4$var$setRef","ref","$6ed0406888f73fc4$export$43e446d32b3d21af","refs","node","$6ed0406888f73fc4$export$c7b2cbe3552a0d05","$3vqmr$useCallback","$e42e1063c40fb3ef$export$b9ecd428b558ff10","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","$9f79659886946c16$export$e5c5a5f917a5871c","$dxlwH$useLayoutEffect","$1746a345f3d73bb7$var$useReactId","$2AODx$react","$1746a345f3d73bb7$var$count","$1746a345f3d73bb7$export$f680877a34711e37","deterministicId","id","setId","$2AODx$useLayoutEffect","reactId","$b1b2314f5f9a1d84$export$25bec8c6f54ee79a","callback","callbackRef","$lwiWj$useRef","$lwiWj$useEffect","$lwiWj$useMemo","args","_callbackRef$current","$71cd76cc60e0454e$export$6f32135080cb4c3","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","$71cd76cc60e0454e$var$useUncontrolledState","isControlled","value1","handleChange","$bnPw9$useCallbackRef","setValue","$bnPw9$useCallback","nextValue","uncontrolledState","$bnPw9$useState","prevValueRef","$bnPw9$useRef","$bnPw9$useEffect","$5e63c961fc1ce211$export$8c6ed5c666ac1360","$9IrjX$forwardRef","forwardedRef","slotProps","childrenArray","$9IrjX$Children","slottable","$5e63c961fc1ce211$var$isSlottable","newElement","newChildren","child","$9IrjX$isValidElement","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","$9IrjX$babelruntimehelpersesmextends","$9IrjX$cloneElement","$5e63c961fc1ce211$var$mergeProps","$9IrjX$composeRefs","$5e63c961fc1ce211$export$d9f1ccf0bdb05d45","$9IrjX$Fragment","childProps","overrideProps","propName","slotPropValue","childPropValue","$8927f6f2acc4f386$export$250ffa63cdc0d034","primitive","Node","$4q5Fq$forwardRef","asChild","primitiveProps","Comp","$4q5Fq$Slot","$4q5Fq$useEffect","$4q5Fq$createElement","$4q5Fq$babelruntimehelpersesmextends","$8927f6f2acc4f386$export$6d1a0317bde7de7f","$4q5Fq$flushSync","$addc16e1bbe58fd0$export$3a72a57244d6e765","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","$hPSQ5$useCallbackRef","$hPSQ5$useEffect","handleKeyDown","$5cb92bef7577960e$var$CONTEXT_UPDATE","$5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE","$5cb92bef7577960e$var$FOCUS_OUTSIDE","$5cb92bef7577960e$var$originalBodyPointerEvents","$5cb92bef7577960e$var$DismissableLayerContext","$kqwpH$createContext","$5cb92bef7577960e$export$177fb62ff3ec1f22","$kqwpH$forwardRef","_node$ownerDocument","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","$kqwpH$useContext","node1","setNode","$kqwpH$useState","force","composedRefs","$kqwpH$useComposedRefs","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","$5cb92bef7577960e$var$usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","$5cb92bef7577960e$var$useFocusOutside","$kqwpH$useEscapeKeydown","$kqwpH$useEffect","$5cb92bef7577960e$var$dispatchUpdate","handleUpdate","$kqwpH$createElement","$kqwpH$Primitive","$kqwpH$babelruntimehelpersesmextends","$kqwpH$composeEventHandlers","$5cb92bef7577960e$export$4d5eb2109db14228","$kqwpH$useRef","handlePointerDownOutside","$kqwpH$useCallbackRef","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent","$5cb92bef7577960e$var$handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","$kqwpH$dispatchDiscreteCustomEvent","$5cb92bef7577960e$export$be92b6f5f03c0fe9","$5cb92bef7577960e$export$aecb2ddcb55c95be","$d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT","$d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT","$d3863c46a17e8a28$var$EVENT_OPTIONS","$d3863c46a17e8a28$export$20e40289641fbbb6","$45QHv$forwardRef","loop","trapped","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container1","setContainer","$45QHv$useState","onMountAutoFocus","$45QHv$useCallbackRef","onUnmountAutoFocus","lastFocusedElementRef","$45QHv$useRef","$45QHv$useComposedRefs","focusScope","$45QHv$useEffect","handleFocusIn","$d3863c46a17e8a28$var$focus","handleFocusOut","$d3863c46a17e8a28$var$focusScopesStack","previouslyFocusedElement","mountEvent","$d3863c46a17e8a28$var$focusFirst","$d3863c46a17e8a28$var$removeLinks","$d3863c46a17e8a28$var$getTabbableCandidates","unmountEvent","$45QHv$useCallback","isTabKey","focusedElement","container","first","last","$d3863c46a17e8a28$var$getTabbableEdges","$45QHv$createElement","$45QHv$Primitive","$45QHv$babelruntimehelpersesmextends","candidates","select","candidate","$d3863c46a17e8a28$var$findVisible","nodes","walker","isHiddenInput","elements","element","$d3863c46a17e8a28$var$isHidden","upTo","$d3863c46a17e8a28$var$isSelectableInput","$d3863c46a17e8a28$var$createFocusScopesStack","stack","activeFocusScope","$d3863c46a17e8a28$var$arrayRemove","_stack$","array","item","updatedArray","items","$f1701beae083dbae$export$602eac185826482c","$7SXl2$forwardRef","_globalThis$document","portalProps","$7SXl2$reactdom","$7SXl2$createElement","$7SXl2$Primitive","$7SXl2$babelruntimehelpersesmextends","$fe963b355347cc68$export$3e6543de14f8614f","initialState","machine","$iqq3r$useReducer","state","nextState","$921a889cee6df7e8$export$99c2b779aa4e8b8b","present","presence","$921a889cee6df7e8$var$usePresence","$iqq3r$Children","$iqq3r$useComposedRefs","$iqq3r$cloneElement","$iqq3r$useState","stylesRef","$iqq3r$useRef","prevPresentRef","prevAnimationNameRef","send","$iqq3r$useEffect","currentAnimationName","$921a889cee6df7e8$var$getAnimationName","$iqq3r$useLayoutEffect","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","$iqq3r$flushSync","handleAnimationStart","$iqq3r$useCallback","$3db38b7d1fb3fe6a$var$count","$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c","$1wErz$useEffect","_edgeGuards$","_edgeGuards$2","edgeGuards","$3db38b7d1fb3fe6a$var$createFocusGuard","__assign","s","n","p","__rest","e","t","__spreadArray","to","from","pack","l","ar","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","assignRef","useCallbackRef","initialValue","useState","useMergeRefs","defaultValue","newValue","f","require$$0","g","reactJsxRuntime_production_min","h","m","q","c","a","k","b","d","process","env","NODE_ENV","React","require","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","exports","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_SERVER_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_DEBUG_TRACING_MODE_TYPE","REACT_LEGACY_HIDDEN_TYPE","Symbol","for","symbolFor","MAYBE_ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","error","format","_len2","arguments","length","Array","_key2","printWarning","level","ReactDebugCurrentFrame","currentlyValidatingElement","getComponentName","type","owner","_owner","describeComponentFrame","_source","getStackAddendum","concat","argsWithFormat","map","unshift","Function","prototype","apply","call","console","enableScopeAPI","isValidElementType","Fragment","$$typeof","BEFORE_SLASH_RE","ownerName","sourceInfo","path","fileName","replace","test","match","pathBeforeSlash","folderName","lineNumber","Resolved","refineResolvedLazyComponent","lazyComponent","_status","_result","getWrappedName","outerType","innerType","wrapperName","functionName","displayName","tag","render","thenable","resolvedThenable","loggedTypeFailures","setCurrentlyValidatingElement","checkPropTypes","typeSpecs","values","location","componentName","has","bind","Object","hasOwnProperty","typeSpecName","error$1","err","Error","ex","message","ReactCurrentOwner","RESERVED_PROPS","__self","__source","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","getOwnPropertyDescriptor","get","isReactWarning","undefined","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","current","stateNode","defineKeyPropWarningGetter","warnAboutAccessingKey","defineProperty","configurable","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","_store","enumerable","writable","freeze","jsxDEV","maybeKey","defaultProps","ReactCurrentOwner$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","validated","currentComponentErrorInfo","childOwner","validateChildKeys","isArray","iteratorFn","entries","step","next","done","validatePropTypes","propTypes","PropTypes","_name","getDefaultProps","isReactClassApproved","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","typeString","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","module","require$$1","ItoI","innerCreateMedium","defaults","middleware","buffer","assigned","medium","data","x","cb","cbs","pendingQueue","executeQueue","cycle","filter","createSidecarMedium","options","SideCar","_a","sideCar","rest","Target","read","_jsx","isSideCarExport","exportSidecar","exported","useMedium","effectCar","nothing","RemoveScroll","forwardRef","parentRef","useRef","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","className","removeScrollBar","enabled","shards","noIsolation","inert","allowPinchZoom","_b","as","Container","containerRef","containerProps","_jsxs","_Fragment","cloneElement","Children","only","classNames","fullWidth","zeroRight","getNonce","makeStyleTag","nonce","injectStyles","css","insertStyleTag","head","stylesheetSingleton","counter","stylesheet","style","styleHookSingleton","sheet","isDynamic","styleSingleton","useStyle","Sheet","dynamic","zeroGap","parse","getOffset","gapMode","cs","left","top","right","getGapWidth","offsets","documentWidth","windowWidth","Style","getStyles","allowRelative","important","gap","Boolean","join","RemoveScrollBar","noRelative","noImportant","useMemo","passiveSupported","nonPassive","alwaysContainsScroll","elementCanBeScrolled","overflow","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","axis","isScrollable","elementCouldBeScrolled","getScrollVariables","getVScrollVariables","scrollTop","scrollHeight","clientHeight","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","direction","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll","getTouchXY","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","extractRef","deltaCompare","y","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","useEffect","document","body","classList","add","allow_1","lockRef","forEach","el","remove","shouldCancelEvent","useCallback","parent","touches","touch","touchStart","currentAxis","moveDirection","Math","abs","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","sourceEvent","should","cancelable","preventDefault","shardNodes","contains","shouldStop","shouldCancel","push","setTimeout","scrollTouchStart","scrollWheel","scrollTouchMove","addEventListener","inst","removeEventListener","ReactRemoveScroll","$01b9c$RemoveScroll","getDefaultParent","originalTarget","sampleTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","correctTargets","targets","correctedTarget","applyAttributeToOthers","parentNode","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","attr","alreadyHidden","counterValue","markerValue","hideOthers","activeParentNode","$5d3850c4d0b4e6c7$var$DIALOG_NAME","$5d3850c4d0b4e6c7$var$createDialogContext","$5d3850c4d0b4e6c7$export$cc702773b8ea3e41","$67UHm$createContextScope","$5d3850c4d0b4e6c7$var$DialogProvider","$5d3850c4d0b4e6c7$var$useDialogContext","$5d3850c4d0b4e6c7$export$3ddf2d174ce01153","__scopeDialog","openProp","defaultOpen","onOpenChange","modal","triggerRef","$67UHm$useRef","contentRef","open","setOpen","$67UHm$useControllableState","$67UHm$createElement","$67UHm$useId","$67UHm$useCallback","prevOpen","$5d3850c4d0b4e6c7$var$TRIGGER_NAME","$5d3850c4d0b4e6c7$export$2e1e1122cf0cba88","$67UHm$forwardRef","triggerProps","composedTriggerRef","$67UHm$useComposedRefs","$67UHm$Primitive","$67UHm$babelruntimehelpersesmextends","$5d3850c4d0b4e6c7$var$getState","$67UHm$composeEventHandlers","$5d3850c4d0b4e6c7$var$PORTAL_NAME","$5d3850c4d0b4e6c7$var$PortalProvider","$5d3850c4d0b4e6c7$var$usePortalContext","$5d3850c4d0b4e6c7$export$dad7c95542bacce0","forceMount","$67UHm$Children","$67UHm$Presence","$67UHm$Portal","$5d3850c4d0b4e6c7$var$OVERLAY_NAME","$5d3850c4d0b4e6c7$export$bd1d06c79be19e17","portalContext","overlayProps","$5d3850c4d0b4e6c7$var$DialogOverlayImpl","$67UHm$RemoveScroll","$67UHm$Slot","$5d3850c4d0b4e6c7$var$CONTENT_NAME","$5d3850c4d0b4e6c7$export$b6d9565de1e068cf","contentProps","$5d3850c4d0b4e6c7$var$DialogContentModal","$5d3850c4d0b4e6c7$var$DialogContentNonModal","$67UHm$useEffect","content","$67UHm$hideOthers","$5d3850c4d0b4e6c7$var$DialogContentImpl","_context$triggerRef$c","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","_props$onCloseAutoFoc","_context$triggerRef$c2","_props$onInteractOuts","_context$triggerRef$c3","trapFocus","onOpenAutoFocus","onCloseAutoFocus","$67UHm$useFocusGuards","$67UHm$Fragment","$67UHm$FocusScope","$67UHm$DismissableLayer","$5d3850c4d0b4e6c7$var$TITLE_NAME","$5d3850c4d0b4e6c7$export$16f7638e4a34b909","titleProps","$5d3850c4d0b4e6c7$var$DESCRIPTION_NAME","$5d3850c4d0b4e6c7$export$94e94c2ec2c954d5","descriptionProps","$5d3850c4d0b4e6c7$var$CLOSE_NAME","$5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac","closeProps","$5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME","$5d3850c4d0b4e6c7$export$69b62a49393917d6","$5d3850c4d0b4e6c7$var$useWarningContext","$67UHm$createContext","$5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9","$5d3850c4d0b4e6c7$export$41fb9f06171c75f4","$5d3850c4d0b4e6c7$export$602eac185826482c","$5d3850c4d0b4e6c7$export$c6fdb837b070b4ff","$5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2","$5d3850c4d0b4e6c7$export$f99233281efd08a0","$5d3850c4d0b4e6c7$export$393edc798c47379d","$5d3850c4d0b4e6c7$export$f39c2d165cd861fe","$905f4ae918aab1aa$var$ROOT_NAME","$905f4ae918aab1aa$var$createAlertDialogContext","$905f4ae918aab1aa$export$b8891880751c2c5b","$4k4D0$createContextScope","$4k4D0$createDialogScope","$905f4ae918aab1aa$var$useDialogScope","$905f4ae918aab1aa$export$de466dd8317b0b75","__scopeAlertDialog","alertDialogProps","dialogScope","$4k4D0$createElement","$4k4D0$Root","$4k4D0$babelruntimehelpersesmextends","$905f4ae918aab1aa$export$6edd7a623ef0f40b","$4k4D0$forwardRef","$4k4D0$Trigger","$905f4ae918aab1aa$export$660f2bfdb986706c","$4k4D0$Portal","$905f4ae918aab1aa$export$a707a4895ce23256","$4k4D0$Overlay","$905f4ae918aab1aa$var$CONTENT_NAME","$905f4ae918aab1aa$var$AlertDialogContentProvider","$905f4ae918aab1aa$var$useAlertDialogContentContext","$905f4ae918aab1aa$export$94e6af45f0af4efd","$4k4D0$useRef","$4k4D0$useComposedRefs","cancelRef","$4k4D0$WarningProvider","$905f4ae918aab1aa$var$TITLE_NAME","$4k4D0$Content","$4k4D0$composeEventHandlers","_cancelRef$current","$4k4D0$Slottable","$905f4ae918aab1aa$export$225e0da62d314b7","$4k4D0$Title","$905f4ae918aab1aa$export$a23b55cde55ad9a5","$4k4D0$Description","$905f4ae918aab1aa$export$b454f818c58ee85d","actionProps","$4k4D0$Close","$905f4ae918aab1aa$var$CANCEL_NAME","$905f4ae918aab1aa$export$2f67a923571aaea0","cancelProps","$905f4ae918aab1aa$export$be92b6f5f03c0fe9","$905f4ae918aab1aa$export$41fb9f06171c75f4","$905f4ae918aab1aa$export$602eac185826482c","$905f4ae918aab1aa$export$c6fdb837b070b4ff","$905f4ae918aab1aa$export$7c6e2c02157bb7d2","$905f4ae918aab1aa$export$e19cd5f9376f8cee","$905f4ae918aab1aa$export$848c9b7ead0df967","$905f4ae918aab1aa$export$f99233281efd08a0","$905f4ae918aab1aa$export$393edc798c47379d","tokens","overlayShow","keyframes","contentShow","StyledOverlay","styled","DialogPrimitive","dialogWidths","small","large","StyledContent","sizing_500","size","elevation_static_high","border_radius_400","DialogContent","DialogPrimitive.Portal","DialogTitle","font_family_sans","font_size_300","line_height_111","letter_spacing_tighter","spacing_200","DialogDescription","font_size_100","line_height_129","sizing_200","sizing_400","DialogFooter","footer","spacing_400","DialogCloseButton","button","border_radius_circle","color_fill_primary_enabled","transition_property_color","transition_duration_150","color_fill_primary_hover","Dialog","DialogTrigger","DialogClose","AlertDialogPrimitive","AlertDialogContent","AlertDialogPrimitive.Portal","AlertDialogTitle","AlertDialogDescription","AlertDialogFooter","AlertDialog","AlertDialogTrigger","AlertDialogAction","AlertDialogCancel","$ea1ef594cf570d83$export$439d29a4e110a164","$kVwnw$forwardRef","$kVwnw$createElement","$kVwnw$Primitive","$kVwnw$babelruntimehelpersesmextends","$ea1ef594cf570d83$export$be92b6f5f03c0fe9","$08b6689415b2f49a$export$be92b6f5f03c0fe9","label","$eOI90$Children","$eOI90$createElement","$eOI90$Fragment","$eOI90$cloneElement","$eOI90$Root","AccessibleIcon","AccessibleIconPrimitive.Root","$458b0a5536c1a7cf$export$40bfa8c7b0832715","stateValue","setStateValue","$6imuh$useState","$6imuh$useRef","wasControlled","stateRef","$6imuh$useCallback","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$9446cca9a3875146$export$7d15b64cf5a3a4c4","min","max","$9446cca9a3875146$export$cb6e0bb50bc19463","remainder","snappedValue","string","precision","pow","$704cf1d3b684cc5c$var$defaultContext","$704cf1d3b684cc5c$var$SSRContext","$89yE2$react","$704cf1d3b684cc5c$var$canUseDOM","$704cf1d3b684cc5c$export$619500959fc48b26","defaultId","ctx","$89yE2$useContext","$89yE2$useMemo","$704cf1d3b684cc5c$export$535bd6ca7f90a273","isInSSRContext","isSSR","setIsSSR","$89yE2$useState","$89yE2$useLayoutEffect","r","clsx","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$12uGp$react","$1dbecbe27a04f9af$export$14d238f342723f25","$12uGp$useState","valueRef","$12uGp$useRef","effect","nextRef","queue","$12uGp$useCallback","fn","$bdb11010cef70236$var$idsUpdaterMap","$bdb11010cef70236$export$f680877a34711e37","nextId","res","$12uGp$useSSRSafeId","updateValue","val","$12uGp$useEffect","newId","$bdb11010cef70236$export$cd8c9cb68f842629","idA","idB","setIdA","setIdB","$bdb11010cef70236$export$b4cc09c592e8fdb8","depArray","resolvedId","setResolvedId","updateId","$ff5963eb1fccf552$export$e08e3b67e392101e","$3ef42575df84b30b$export$9d1611c77c2fe928","result","$12uGp$clsx","$65484d02dcb7eb3e$var$DOMPropNames","$65484d02dcb7eb3e$var$labelablePropNames","$65484d02dcb7eb3e$var$propRe","$65484d02dcb7eb3e$export$457c3d6518dd4c6f","opts","labelable","propNames","filteredProps","$7215afc6de606d6b$export$de79e2c695e052f3","$7215afc6de606d6b$var$supportsPreventScroll","scrollableElements","$7215afc6de606d6b$var$getScrollableElements","$7215afc6de606d6b$var$restoreScrollPosition","$7215afc6de606d6b$var$supportsPreventScrollCached","focusElem","rootScrollingElement","$bbed8b41f857bcc0$var$transitionsByElement","$bbed8b41f857bcc0$var$transitionCallbacks","$bbed8b41f857bcc0$var$setupGlobalEvents","onTransitionStart","transitions","onTransitionEnd","properties","$bbed8b41f857bcc0$export$24490316f764c430","$03deb23ff14920c4$export$4eaf04e54aa8eed6","globalListeners","addGlobalListener","eventTarget","listener","removeGlobalListener","_globalListeners_current_get","removeAllGlobalListeners","$313b98861ee5dd6c$export$d6875122194c7b44","defaultLabel","labelledBy","$df56164dff5785e2$export$4338b53315abf666","objRef","$e7801be82b4b2a53$export$4debdb1a3f0fa79e","$c87311424ea30a05$var$testUserAgent","re","_window_navigator_userAgentData","brand","$c87311424ea30a05$var$testPlatform","$c87311424ea30a05$export$9ac100e40613ea10","$c87311424ea30a05$export$186c6964ca17d99","$c87311424ea30a05$export$7bef049ce92e4224","$c87311424ea30a05$export$fedb369cb70207f1","$c87311424ea30a05$export$a11b0059900ceec8","$e9faafb641e167db$export$90fc3a17d93f704c","handlerRef","isDisabled","$6a7db85432448f7f$export$60278871457622de","$6a7db85432448f7f$export$29bf1b5f2c56cf63","_defineProperty","obj","$14c0b72509d70225$var$state","$14c0b72509d70225$var$savedUserSelect","$14c0b72509d70225$var$modifiedElementMap","$14c0b72509d70225$export$16a4697467175487","$bx7SL$isIOS","$14c0b72509d70225$export$b0d6fa1ab32e3295","$bx7SL$runAfterTransition","targetOldUserSelect","$ae1eeba8b9eafd08$export$5165eccb35aaadb5","$bx7SL$react","$f6c31cce2adf654f$var$usePressResponderContext","$bx7SL$useContext","register","contextProps","$bx7SL$mergeProps","$bx7SL$useSyncRef","$f6c31cce2adf654f$export$45712eceda6fad21","onPress","onPressChange","onPressStart","onPressEnd","onPressUp","isPressedProp","preventFocusOnPress","shouldCancelOnPointerExit","allowTextSelectionOnPress","_","domProps","propsRef","$bx7SL$useRef","isPressed","setPressed","$bx7SL$useState","$bx7SL$useGlobalListeners","pressProps","$bx7SL$useMemo","triggerPressStart","pointerType","triggerPressEnd","wasPressed","triggerPressUp","cancel","$f6c31cce2adf654f$var$createEvent","$f6c31cce2adf654f$var$isValidKeyboardEvent","$f6c31cce2adf654f$var$shouldPreventDefaultKeyboard","onKeyUp","$f6c31cce2adf654f$var$isHTMLAnchorLink","$bx7SL$isVirtualClick","$bx7SL$focusWithoutScrolling","$bx7SL$isVirtualPointerEvent","$f6c31cce2adf654f$var$shouldPreventDefault","onPointerMove","onPointerUp","onPointerCancel","$f6c31cce2adf654f$var$isOverTarget","onMouseUp","$f6c31cce2adf654f$var$getTouchFromEvent","onScroll","$f6c31cce2adf654f$var$getTouchById","$bx7SL$useEffect","currentTarget","code","role","$f6c31cce2adf654f$var$isValidInputKey","targetTouches","pointerId","$f6c31cce2adf654f$var$getPointClientRect","point","offsetX","offsetY","$f6c31cce2adf654f$var$areRectanglesOverlapping","rect","pointRect","$f6c31cce2adf654f$var$nonTextInputTypes","$8a9cb279dc87e130$export$905e7fc544a71f36","nativeEvent","$8a9cb279dc87e130$export$715c682d09d639cc","onBlur","$bx7SL$useLayoutEffect","$bx7SL$useCallback","onBlurHandler","_stateRef_current","_stateRef_current_onBlur","$a1ea59d68270f0dd$export$f8168d8dd8fd66e6","onFocusProp","onBlurProp","onFocusChange","onSyntheticFocus","onFocus","$507fabe10e71c6fb$var$currentModality","$507fabe10e71c6fb$var$changeHandlers","$507fabe10e71c6fb$var$hasSetupGlobalListeners","$507fabe10e71c6fb$var$hasEventBeforeFocus","$507fabe10e71c6fb$var$hasBlurredWindowRecently","$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS","$507fabe10e71c6fb$var$triggerChangeHandlers","modality","$507fabe10e71c6fb$var$isValidKey","$bx7SL$isMac","$507fabe10e71c6fb$var$handleKeyboardEvent","$507fabe10e71c6fb$var$handlePointerEvent","$507fabe10e71c6fb$var$handleClickEvent","$507fabe10e71c6fb$var$handleFocusEvent","$507fabe10e71c6fb$var$handleWindowBlur","$507fabe10e71c6fb$var$setupGlobalFocusEvents","focus","$507fabe10e71c6fb$export$b9b3dfddab17db27","$507fabe10e71c6fb$export$630ff653c5ada6a9","$507fabe10e71c6fb$var$isKeyboardFocusEvent","isTextInput","$507fabe10e71c6fb$export$ec71b4b83ac08ec3","deps","$9ab94262bd0047c7$export$420e68273165f4ec","onBlurWithin","onFocusWithin","onFocusWithinChange","$93925083ecbb358c$export$48d1ea6320830260","shouldStopPropagation","$46d819fcbaf35654$export$8f71654801c2f7cd","$7d0a636d7a4dcefd$export$2123ff2b87c81ca","onScrollHandler","$bx7SL$useEvent","$6a99195332edec8b$export$80f3e147d781571c","$6nfFC$getInteractionModality","lastFocusedElement","$6nfFC$runAfterTransition","$6nfFC$focusWithoutScrolling","$9bf71ea28793e738$var$isElementInScope","$9bf71ea28793e738$var$Tree","scopeRef","nodeToRestore","$9bf71ea28793e738$var$TreeNode","newTree","$6nfFC$swchelperssrc_define_propertymjs","$f7dceffc5ad7768b$export$4e328f61c538687f","autoFocus","within","$6nfFC$useRef","$6nfFC$isFocusVisible","isFocused","setFocused","$6nfFC$useState","isFocusVisibleState","setFocusVisible","updateState","$6nfFC$useCallback","$6nfFC$useFocusVisibleListener","isFocusVisible","focusProps","$6nfFC$useFocus","focusWithinProps","$6nfFC$useFocusWithin","$e6afbd83fe6ebbd2$var$FocusableContext","$6nfFC$react","$e6afbd83fe6ebbd2$var$useFocusableContext","$6nfFC$useContext","$6nfFC$useSyncRef","otherProps","$e6afbd83fe6ebbd2$export$4c014de7c8940b4c","domRef","keyboardProps","$6nfFC$useKeyboard","interactions","$6nfFC$mergeProps","interactionProps","autoFocusRef","$6nfFC$useEffect","$298d61e98472621b$export$dcf14c9974fe2767","elementType","deprecatedOnClick","linkProps","focusableProps","$kKV4x$useFocusable","$kKV4x$usePress","$kKV4x$filterDOMProps","interactionHandlers","$kKV4x$mergeProps","$5b160d28a433310d$export$c17fa47878dc55b6","locale","strings","$5b160d28a433310d$var$getStringsForLocale","messages","defaultLocale","language","$5b160d28a433310d$var$getLanguage","$6db58dc88e78b024$var$pluralRulesCache","$6db58dc88e78b024$var$numberFormatCache","$6db58dc88e78b024$export$2f817fcdc4b89ae0","variables","count","opt","pluralRules","selected","numberFormat","$488c6ddbf4ef74c2$var$formatterCache","$488c6ddbf4ef74c2$var$supportsSignDisplay","$488c6ddbf4ef74c2$var$supportsUnit","$488c6ddbf4ef74c2$var$UNITS","$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5","$488c6ddbf4ef74c2$export$711b50b3c525e0f2","_UNITS_unit","unit","unitDisplay","start","end","startParts","endParts","$488c6ddbf4ef74c2$var$getCachedNumberFormatter","numberingSystem","cacheKey","numberFormatter","signDisplay","num","needsPositiveSign","negative","noSign","minus","$6c7bd7858deea686$var$CURRENCY_SIGN_REGEX","$6c7bd7858deea686$var$NUMBERING_SYSTEMS","$6c7bd7858deea686$export$cd11ab140839f11d","$6c7bd7858deea686$var$getNumberParserImpl","minValue","maxValue","$6c7bd7858deea686$var$numberParserCache","defaultParser","$6c7bd7858deea686$var$getCachedNumberParser","parser","$6c7bd7858deea686$var$NumberParserImpl","fullySanitizedValue","$6c7bd7858deea686$var$replaceAll","_this_options_maximumFractionDigits","$6c7bd7858deea686$var$getSymbols","$6c7bd7858deea686$var$nonLiteralParts","formatter","intlOptions","originalOptions","_allParts_find","_posAllParts_find","_allParts_find1","_allParts_find2","allParts","posAllParts","singularParts","_allParts_find_value","minusSign","plusSign","decimal","group","pluralLiterals","$6c7bd7858deea686$var$escapeRegex","singularLiterals","sortedLiterals","literals","numerals","indexes","numeral","str","find","$148a7a147e38ea7f$var$RTL_SCRIPTS","$148a7a147e38ea7f$var$RTL_LANGS","$148a7a147e38ea7f$export$702d680b21cbd764","script","lang","$1e5a04cdaf7d1af8$export$f09106e7c6677ec5","$1e5a04cdaf7d1af8$var$currentLocale","$1e5a04cdaf7d1af8$var$listeners","$1e5a04cdaf7d1af8$var$updateLocale","$1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a","$iFADg$useIsSSR","setDefaultLocale","$iFADg$useState","$iFADg$useEffect","$18f2051aff69b9bf$var$I18nContext","$iFADg$react","$18f2051aff69b9bf$export$43bb16f9c6d9e3f7","$iFADg$useContext","$fca6afa0e843324b$var$cache","$fca6afa0e843324b$var$getCachedDictionary","dictionary","$iFADg$LocalizedStringDictionary","$fca6afa0e843324b$export$f12b703ca79dfbb1","$iFADg$useMemo","$iFADg$LocalizedStringFormatter","$a916eb452884faea$export$b7a616150fdb9f44","$iFADg$NumberFormatter","$parcel$interopDefault","$dafd15390222438a$export$452b38fce62c9384","isCurrent","ariaCurrent","$i081u$useLink","isHeading","itemProps","$28dc7e2f5ed40c80$exports","$b91590b2dc47de39$exports","$55b0693b2cf3fe91$exports","$6ec1ed7729e948cc$exports","$5a41bb2baa6861e4$exports","$f28bbea439e87eca$exports","$b3eca51cb720961a$exports","$0b39b205118db415$exports","$f467c0ee7bfb0950$exports","$ab711d2ffb4cdf3d$exports","$b63105d663e6f9d5$exports","$9d2ed7be7fcdc2a1$exports","$c5704294d85c7b5d$exports","$20c975671d6bbc63$exports","$2569ca3917233115$exports","$caa152f7f8e96c85$exports","$cbc6af0cc98fad10$exports","$ad9be5d332b4d607$exports","$659de19a00ff9617$exports","$173e9fb4d14fe309$exports","$d8e2640a066567a9$exports","$d71fd764236c0d12$exports","$f4ad3faf9f4aaec6$exports","$9703be9d55d8e9c2$exports","$7e23baec8a14f309$exports","$568f95594049d56e$exports","$625df06cecc70764$exports","$b5a67525f3a2f594$exports","$16125922964febca$exports","$de104bf355206bcf$exports","$d5ab76bcbadc9c07$exports","$a6a1af5968159b55$exports","$5204a30f0d17ffec$exports","$8d15e736e12d3dfd$exports","$f8c49dd804b75140$exports","$848231d7a2b3998e$export$8cefe241bd876ca0","ariaLabel","$i081u$useLocalizedStringFormatter","$i081u$filterDOMProps","getSide","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","computeCoordsFromPlacement","_ref","rtl","reference","floating","commonX","commonY","mainAxis","commonAlign","side","isVertical","coords","computePosition","strategy","platform","rects","statefulPlacement","middlewareData","resetCount","nextX","nextY","reset","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","min$1","max$1","arrow","alignment","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","alignmentOffset","hash$1","getOppositePlacement","matched","getAlignmentSides","mainAlignmentSide","hash","getOppositeAlignmentPlacement","sides","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","detectOverflowOptions","fallbackPlacements","placements","overflows","overflowsData","main","cross","_middlewareData$flip$","_middlewareData$flip2","nextIndex","nextPlacement","resetPlacement","_overflowsData$map$so","acc","getSideOffsets","isAnySideFullyClipped","hide","_temp","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","crossAxis","alignmentAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse","_middlewareData$offse2","_middlewareData$offse3","_middlewareData$offse4","isOriginSide","isWindow","getWindow","getComputedStyle$1","getNodeName","getUAString","uaData","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isOverflowElement","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","isLayoutViewport","round","getBoundingClientRect","includeScale","isFixedStrategy","_win$visualViewport$o","_win$visualViewport","_win$visualViewport$o2","_win$visualViewport2","clientRect","scaleX","scaleY","win","addVisualOffsets","width","height","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","scroll","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","window","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","html","visualViewport","layoutViewport","getDocumentRect","_element$ownerDocumen","getNearestOverflowAncestor","getOverflowAncestors","list","scrollableAncestor","isBody","updatedList","rootNode","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingParent","getClippingAncestors","clippingAncestors","clipperElement","getClippingRect","firstClippingAncestor","clippingRect","accRect","clippingAncestor","autoUpdate","update","_ancestorScroll","_ancestorResize","elementResize","animationFrame","ancestorScroll","ancestorResize","ancestors","ancestor","observer","initialUpdate","frameId","prevRefRect","frameLoop","nextRefRect","_observer","computePosition$1","useLayoutEffect","deepEqual","useLatestRef","useFloating","whileElementsMounted","whileElementsMountedRef","cleanupRef","setData","latestMiddleware","setLatestMiddleware","_ref2","isMountedRef","ReactDOM","runElementMountCallback","cleanupFn","setReference","setFloating","isRef","arrow$1","$7e8f5cd07187803e$export$be92b6f5f03c0fe9","$jbnEx$forwardRef","arrowProps","$jbnEx$createElement","$jbnEx$Primitive","$jbnEx$babelruntimehelpersesmextends","$db6c3485150b8e66$export$1ab7ae714698c4b8","setSize","$9gyGR$useState","$9gyGR$useLayoutEffect","resizeObserver","entry","borderSizeEntry","borderSize","$cf1ac5d9fe0e8206$var$POPPER_NAME","$cf1ac5d9fe0e8206$var$createPopperContext","$cf1ac5d9fe0e8206$export$722aac194ae923","$kY93V$createContextScope","$cf1ac5d9fe0e8206$var$PopperProvider","$cf1ac5d9fe0e8206$var$usePopperContext","$cf1ac5d9fe0e8206$export$badac9ada3a0bdf9","__scopePopper","anchor","setAnchor","$kY93V$useState","$kY93V$createElement","$cf1ac5d9fe0e8206$var$ANCHOR_NAME","$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d","$kY93V$forwardRef","virtualRef","anchorProps","$kY93V$useRef","$kY93V$useComposedRefs","$kY93V$useEffect","$kY93V$Primitive","$kY93V$babelruntimehelpersesmextends","$cf1ac5d9fe0e8206$var$CONTENT_NAME","$cf1ac5d9fe0e8206$var$PopperContentProvider","$cf1ac5d9fe0e8206$var$useContentContext","$cf1ac5d9fe0e8206$var$PositionContextProvider","$cf1ac5d9fe0e8206$var$usePositionContext","$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc","_arrowSize$width","_arrowSize$height","_middlewareData$arrow","_middlewareData$arrow2","_middlewareData$arrow3","_middlewareData$hide","_middlewareData$trans","_middlewareData$trans2","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","setContent","setArrow","arrowSize","$kY93V$useSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","hasExplicitBoundaries","$cf1ac5d9fe0e8206$var$isNotNull","$kY93V$useFloating","$kY93V$autoUpdate","$kY93V$offset","$kY93V$shift","$kY93V$limitShift","$kY93V$arrow","$kY93V$flip","$cf1ac5d9fe0e8206$var$transformOrigin","$kY93V$hide","$cf1ac5d9fe0e8206$var$isDefined","$kY93V$useLayoutEffect1","isPlaced","placedSide","placedAlign","$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","hasParent","positionUpdateFns","isRoot","$kY93V$useLayoutEffect","commonProps","$cf1ac5d9fe0e8206$var$ARROW_NAME","$cf1ac5d9fe0e8206$var$OPPOSITE_SIDE","$cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0","contentContext","baseSide","$kY93V$Root","_middlewareData$arrow4","_middlewareData$arrow5","_middlewareData$arrow6","_middlewareData$arrow7","_middlewareData$arrow8","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","$cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9","$cf1ac5d9fe0e8206$export$b688253958b8dfe7","$cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2","$cf1ac5d9fe0e8206$export$21b07c8f274aebd5","$cb5cc270b50c6fcd$var$POPOVER_NAME","$cb5cc270b50c6fcd$var$createPopoverContext","$cb5cc270b50c6fcd$export$c8393c9e73286932","$am6gm$createContextScope","$am6gm$createPopperScope","$cb5cc270b50c6fcd$var$usePopperScope","$cb5cc270b50c6fcd$var$PopoverProvider","$cb5cc270b50c6fcd$var$usePopoverContext","$cb5cc270b50c6fcd$export$5b6b19405a83ff9d","__scopePopover","popperScope","$am6gm$useRef","hasCustomAnchor","setHasCustomAnchor","$am6gm$useState","$am6gm$useControllableState","$am6gm$createElement","$am6gm$Root","$am6gm$useId","$am6gm$useCallback","$cb5cc270b50c6fcd$var$TRIGGER_NAME","$cb5cc270b50c6fcd$export$7dacb05d26466c3","$am6gm$forwardRef","$am6gm$useComposedRefs","trigger","$am6gm$Primitive","$am6gm$babelruntimehelpersesmextends","$cb5cc270b50c6fcd$var$getState","$am6gm$composeEventHandlers","$am6gm$Anchor","$cb5cc270b50c6fcd$var$PORTAL_NAME","$cb5cc270b50c6fcd$var$PortalProvider","$cb5cc270b50c6fcd$var$usePortalContext","$cb5cc270b50c6fcd$export$dd679ffb4362d2d4","$am6gm$Presence","$am6gm$Portal","$cb5cc270b50c6fcd$var$CONTENT_NAME","$cb5cc270b50c6fcd$export$d7e1f420b25549ff","$cb5cc270b50c6fcd$var$PopoverContentModal","$cb5cc270b50c6fcd$var$PopoverContentNonModal","isRightClickOutsideRef","$am6gm$useEffect","$am6gm$hideOthers","$am6gm$RemoveScroll","$am6gm$Slot","$cb5cc270b50c6fcd$var$PopoverContentImpl","isRightClick","$am6gm$useFocusGuards","$am6gm$FocusScope","$am6gm$DismissableLayer","$am6gm$Content","$cb5cc270b50c6fcd$var$CLOSE_NAME","$cb5cc270b50c6fcd$export$d6ac43ebaa40d53e","$cb5cc270b50c6fcd$export$3152841115e061b2","$am6gm$Arrow","$cb5cc270b50c6fcd$export$be92b6f5f03c0fe9","$cb5cc270b50c6fcd$export$41fb9f06171c75f4","$cb5cc270b50c6fcd$export$602eac185826482c","$cb5cc270b50c6fcd$export$7c6e2c02157bb7d2","$cb5cc270b50c6fcd$export$f39c2d165cd861fe","$cb5cc270b50c6fcd$export$21b07c8f274aebd5","PopoverPrimitive","StyledArrow","Content","PopoverPrimitive.Portal","StyledClose","Popover","PopoverTrigger","PopoverContent","PopoverClose","subArrowIcon","BreadcrumbPopoverContent","sizing_350","color_background_white_standard","elevation_interactive_high","border_radius_800","color_black","BreadcrumbList","ol","color_text_strong","BreadcrumbTruncatedList","color_text_weak","BreadcrumbListItem","li","BreadcrumbLink","line_height_114","letter_spacing_tight","transition_duration_100","color_overlay_secondary_hover","color_overlay_secondary_pressed","color_fill_primary_disabled","BreadcrumbTruncateButton","color_white","TruncatedListItems","truncatedItems","slice","TruncatedBreadcrumbs","Breadcrumbs","navProps","useBreadcrumbs","isFragment","warn","toArray","maxLength","firstItem","lastItems","BreadcrumbItem","disabled","navigate","remainingProps","useObjectRef","useBreadcrumbItem","href","$701a24aa0da5b062$export$ea18c227d4417cc3","allowFocusWhenDisabled","rel","additionalProps","$cE0pI$usePress","$cE0pI$useFocusable","buttonProps","$cE0pI$mergeProps","$cE0pI$filterDOMProps","spacing_300","ButtonBase","paddingSize","font_family_inter","spacing_900","PrimaryButton","color_outline_secondary_enabled","color_outline_secondary_hover","color_outline_secondary_pressed","color_fill_secondary_disabled","color_outline_secondary_disabled","DangerButton","color_fill_danger_enabled","color_outline_danger_enabled","color_fill_danger_hover","color_fill_danger_pressed","color_fill_danger_disabled","InverseButton","color_overlay_inverse_enabled","color_outline_inverse_enabled","color_fill_inverse_enabled","color_overlay_inverse_hover","color_outline_inverse_hover","color_fill_inverse_hover","color_overlay_inverse_pressed","color_outline_inverse_pressed","color_outline_inverse_disabled","mediumEmphasisButtons","primary","danger","inverse","color_fill_primary_pressed","color_fill_inverse_pressed","color_fill_inverse_disabled","lowEmphasisButtons","SecondaryButton","color_fill_secondary_enabled","color_fill_secondary_hover","color_fill_secondary_pressed","emphases","low","high","secondary","Button","variant","emphasis","onClick","useButton","useFocusRing","dataState","ButtonComp","$010c2913dbd2fe3d$export$5cae361ad82dce8b","$8LvvK$useRef","$8LvvK$useMemo","$e698a72e93240346$var$CHECKBOX_NAME","$e698a72e93240346$var$createCheckboxContext","$e698a72e93240346$export$b566c4ff5488ea01","$1bpvS$createContextScope","$e698a72e93240346$var$CheckboxProvider","$e698a72e93240346$var$useCheckboxContext","$e698a72e93240346$export$48513f6b9f8ce62d","$1bpvS$forwardRef","__scopeCheckbox","checkedProp","defaultChecked","required","onCheckedChange","checkboxProps","setButton","$1bpvS$useState","$1bpvS$useComposedRefs","hasConsumerStoppedPropagationRef","$1bpvS$useRef","isFormControl","checked","setChecked","$1bpvS$useControllableState","$1bpvS$createElement","$1bpvS$Primitive","$1bpvS$babelruntimehelpersesmextends","$e698a72e93240346$var$isIndeterminate","$e698a72e93240346$var$getState","$1bpvS$composeEventHandlers","prevChecked","$e698a72e93240346$var$BubbleInput","$e698a72e93240346$var$INDICATOR_NAME","$e698a72e93240346$export$59aad738f51d1c05","indicatorProps","$1bpvS$Presence","control","bubbles","inputProps","$1bpvS$usePrevious","controlSize","$1bpvS$useSize","$1bpvS$useEffect","input","inputProto","$e698a72e93240346$export$be92b6f5f03c0fe9","$e698a72e93240346$export$adb584737d712b70","FieldsetContext","createContext","StyledFieldSet","fieldset","Fieldset","fieldsetProps","useFieldset","$d191a55c9702f145$export$8467354a121f1b9f","ariaLabelledby","labelElementType","$iD7q0$useId","labelId","labelProps","fieldProps","$iD7q0$useLabels","$2baaea4c71418dea$export$294aa081a6c6f55d","description","errorMessage","validationState","descriptionId","$iD7q0$useSlotId","errorMessageId","$iD7q0$mergeProps","$2d73ec29415bd339$export$712718f7aec83d5","inputElementType","isRequired","isReadOnly","$kOq5K$useFocusable","errorMessageProps","$kOq5K$useField","$kOq5K$filterDOMProps","inputOnlyProps","$kOq5K$mergeProps","$d841c8010a73d545$var$supportsNativeBeforeInputEvent","$d841c8010a73d545$export$4f384c9210e583c3","inputRef","$kOq5K$useRef","$kOq5K$useEffect","onBeforeInput","textFieldProps","compositionStartState","selectionStart","selectionEnd","LabelBase","color_background_black_standard","SmallLabel","font_size_label_small","letter_spacing_label_small","line_height_label_small","LargeLabel","font_size_label_large","letter_spacing_label_large","line_height_label_large","MediumLabel","font_size_label_medium","letter_spacing_label_medium","line_height_label_medium","labelComps","Label","bold","display","LabelComp","InputBase","line_height_body_medium","color_overlay_secondary_enabled","InputWrapper","div","InputErrorMessage","color_text_sentiment_negative","font_size_50","font_size_200","InputDescription","line_height_133","TextInput","readOnly","placeholder","disabledByFieldset","useTextField","labelEl","ErrorIcon","$a093c7e1ec25a057$var$createTooltipContext","$a093c7e1ec25a057$export$1c540a2224f0d865","$8wepK$createContextScope","$8wepK$createPopperScope","$a093c7e1ec25a057$var$usePopperScope","$a093c7e1ec25a057$var$PROVIDER_NAME","$a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION","$a093c7e1ec25a057$var$TOOLTIP_OPEN","$a093c7e1ec25a057$var$TooltipProviderContextProvider","$a093c7e1ec25a057$var$useTooltipProviderContext","$a093c7e1ec25a057$export$f78649fb9ca566b8","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayed","setIsOpenDelayed","$8wepK$useState","isPointerInTransitRef","$8wepK$useRef","skipDelayTimerRef","$8wepK$useEffect","skipDelayTimer","$8wepK$createElement","$8wepK$useCallback","inTransit","$a093c7e1ec25a057$var$TOOLTIP_NAME","$a093c7e1ec25a057$var$TooltipContextProvider","$a093c7e1ec25a057$var$useTooltipContext","$a093c7e1ec25a057$export$28c660c63b792dea","disableHoverableContentProp","delayDurationProp","providerContext","setTrigger","contentId","$8wepK$useId","openTimerRef","wasOpenDelayedRef","open1","$8wepK$useControllableState","stateAttribute","$8wepK$useMemo","handleOpen","handleClose","handleDelayedOpen","$8wepK$Root","$a093c7e1ec25a057$var$TRIGGER_NAME","$a093c7e1ec25a057$export$8c610744efcf8a1d","$8wepK$forwardRef","$8wepK$useComposedRefs","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","$8wepK$Anchor","$8wepK$babelruntimehelpersesmextends","$8wepK$Primitive","$8wepK$composeEventHandlers","$a093c7e1ec25a057$var$PORTAL_NAME","$a093c7e1ec25a057$var$PortalProvider","$a093c7e1ec25a057$var$usePortalContext","$a093c7e1ec25a057$export$7b36b8f925ab7497","$8wepK$Presence","$8wepK$Portal","$a093c7e1ec25a057$var$CONTENT_NAME","$a093c7e1ec25a057$export$e9003e2be37ec060","$a093c7e1ec25a057$var$TooltipContentImpl","$a093c7e1ec25a057$var$TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","exitPoint","exitSide","$a093c7e1ec25a057$var$getExitSideFromRect","bleed","startPoint","hoverTargetPoints","$a093c7e1ec25a057$var$getPointsFromRect","graceArea","$a093c7e1ec25a057$var$getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","$a093c7e1ec25a057$var$isPointInPolygon","$a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider","$a093c7e1ec25a057$var$useVisuallyHiddenContentContext","$8wepK$DismissableLayer","$8wepK$Content","$8wepK$Slottable","$8wepK$Root1","$a093c7e1ec25a057$var$ARROW_NAME","$a093c7e1ec25a057$export$c27ee0ad710f7559","$8wepK$Arrow","bottom","polygon","inside","j","xi","yi","xj","yj","points","newPoints","$a093c7e1ec25a057$var$getHullPresorted","upperHull","lowerHull","i1","$a093c7e1ec25a057$export$2881499e37b75b9a","$a093c7e1ec25a057$export$be92b6f5f03c0fe9","$a093c7e1ec25a057$export$41fb9f06171c75f4","$a093c7e1ec25a057$export$602eac185826482c","$a093c7e1ec25a057$export$7c6e2c02157bb7d2","$a093c7e1ec25a057$export$21b07c8f274aebd5","TooltipPrimitive","color_text_white_standard","sizing_1000","TooltipPrimitive.Portal","TooltipTrigger","TooltipProvider","Tooltip","TooltipContent","IconTooltipTrigger","color_text_white_weak","spacing_100","IconTooltip","icon","HelpIcon","$319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY","$319e236875307eab$var$liveAnnouncer","$319e236875307eab$export$a9b970dcc4ae71a9","assertiveness","timeout","$319e236875307eab$var$LiveAnnouncer","ariaLive","$c6208a7792e31a37$exports","$ed6aae4e5f766f1e$exports","$38854e2b175151fa$exports","$15b25ab20f3945b2$exports","$692a4298b6b649a2$exports","$1c6e1539193f1243$exports","$1e8678632c464b6d$exports","$4adc85d9bf5b9eed$exports","$41c4b2bb61dafbca$exports","$405f8b24f5dd2a60$exports","$7efe3ed02b9b9dd4$exports","$99fc4c101d92daf3$exports","$f9e155e6e8cacaa2$exports","$c31b5e8e9a249fd5$exports","$9c5435bc17499bd9$exports","$6d1fc8e84d8165e1$exports","$46ea6b3641b83e71$exports","$0e3cc9a288289dc5$exports","$4ff2bb25c0089ffb$exports","$6cf33cd4c010a2fb$exports","$5a9f8486f8b8837e$exports","$583f94d807f6ecea$exports","$cc4dcfeea2b4050d$exports","$68ac2954d56e12b4$exports","$fdb0616f309780b0$exports","$fe1eccf4ee1d6f52$exports","$a38b6c4e18725976$exports","$6c14ae2b766b652c$exports","$8f1c9692e16dc5eb$exports","$d2aa7abea627cafa$exports","$676b82e4b56408e6$exports","$14c9042552d7ce08$exports","$393254ebcb66c9f5$exports","$d49d621f310cf6ce$exports","$94b60c866ca5dfe6$exports","$d2e8511e6f209edf$export$e908e06f4b8e3402","_async","$glIEW$useRef","textValue","onIncrement","onIncrementPage","onDecrement","onDecrementPage","onDecrementToMin","onIncrementToMax","stringFormatter","$glIEW$useLocalizedStringFormatter","clearAsync","$glIEW$useEffect","onKeyDown","$glIEW$announce","onIncrementPressStart","$glIEW$useCallback","initialStepDelay","onDecrementPressStart","cancelContextMenu","$glIEW$useGlobalListeners","$c3ef0f8b54adbb57$exports","$fb78e0f6ab6349ed$exports","$2776acdd9959a647$exports","$741954410a365ad3$exports","$8321ed0f8ab642f0$exports","$92978e0c4ecafa32$exports","$ac5ff71962864a84$exports","$efe4685e2440d8be$exports","$e50a9a48739b90e1$exports","$6e0d5294ecbb8ab6$exports","$e7129d65f607f77f$exports","$d72adf5b20573e34$exports","$a25c707e88b844a7$exports","$69b41140b9a4ca54$exports","$81dab28f37f59d1a$exports","$866555b31f2d7711$exports","$dafcd55d52b9d371$exports","$f090c1f8c5da0145$exports","$6f10f3a13360a75c$exports","$47432cefd4b7bd1b$exports","$dc578a950a2bf23d$exports","$353f1bfca4dc395a$exports","$241bc0bbd870e982$exports","$da3005c7bd72b0a8$exports","$cf48bfc540882310$exports","$b63a28c481ab9ee3$exports","$19f9df95c2464ab6$exports","$b272932a685e8482$exports","$cbaf8b5b61f9e544$exports","$e0a3af6ac1449b2f$exports","$71e167d2458a6019$exports","$3719245abc082946$exports","$2ccc589e2f51824d$exports","$e1103cb9b4c13942$exports","$448607634f80dccb$exports","$81397a9303501bda$export$23f548e970bdf099","decrementAriaLabel","incrementAriaLabel","formatOptions","increment","incrementToMax","decrement","decrementToMin","numberValue","commit","$gfhJl$useLocalizedStringFormatter","inputId","$gfhJl$useId","$gfhJl$useFocus","spinButtonProps","incButtonProps","decButtonProps","$gfhJl$useSpinButton","focusWithin","setFocusWithin","$gfhJl$useState","$gfhJl$useFocusWithin","onWheel","$gfhJl$useCallback","$gfhJl$useScrollWheel","$gfhJl$useNumberFormatter","hasDecimals","$gfhJl$useMemo","hasNegative","inputMode","$gfhJl$isIPhone","$gfhJl$isAndroid","$gfhJl$filterDOMProps","$gfhJl$useFormattedTextField","$gfhJl$mergeProps","$gfhJl$isIOS","onButtonPressStart","fieldLabel","incrementId","decrementId","incrementButtonProps","decrementButtonProps","$de67e98908f0c6ee$export$7f629e9dc1ecf37c","setNumberValue","$vhjCi$useControlledState","inputValue","setInputValue","$vhjCi$useState","$vhjCi$NumberFormatter","numberParser","$vhjCi$useMemo","$vhjCi$NumberParser","$vhjCi$useCallback","clampStep","prevValue","$vhjCi$useRef","prevLocale","prevFormatOptions","parsedValue","parsed","clampedValue","$vhjCi$clamp","$vhjCi$snapValueToStep","safeNextStep","operation","minMax","prev","newValue1","$de67e98908f0c6ee$var$handleDecimalOperation","canIncrement","canDecrement","operator","value2","value1Decimal","value2Decimal","value1DecimalLength","value2DecimalLength","multiplier","NumberGroup","NumberInputWithSteppers","StepperButton","StepperButtonTop","StepperButtonBottom","NumberInput","showStepper","useNumberFieldState","groupProps","useNumberField","KeyboardArrowUp","KeyboardArrowDown","TextAreaInput","FormControlContext","useFieldProps","FormControl","tooltipContent","tooltipIcon","useField","TextFormControl","TextAreaFormControl","NumberFormControl","useFormInput","StyledCheckbox","CheckboxPrimitive","sizing_600","StyledIndicator","Checkbox","invalid","CheckBoxOutlineBlank","CheckBox","IndeterminateCheckBox","BaseHeading","h1","font_family_inter_display","LargeHeading","letter_spacing_heading_large","font_size_heading_large","MediumHeading","letter_spacing_heading_medium","font_size_heading_medium","headingComps","letter_spacing_heading_small","font_size_heading_small","Heading","HeadingComp","sizes","borderRadii","circle","square","IconButtonBase","PrimaryIconButton","SecondaryIconButton","DangerIconButton","InverseIconButton","iconButtonVariants","IconButton","shape","IconButtonComp","borderRadius","$89eedd556c436f6a$var$DEFAULT_ORIENTATION","$89eedd556c436f6a$var$ORIENTATIONS","$89eedd556c436f6a$export$1ff3c3f08ae963c0","$5WXm8$forwardRef","decorative","orientationProp","orientation","$89eedd556c436f6a$var$isValidOrientation","semanticProps","$5WXm8$createElement","$5WXm8$Primitive","$5WXm8$babelruntimehelpersesmextends","propValue","strVal","$89eedd556c436f6a$var$getInvalidOrientationError","$89eedd556c436f6a$export$be92b6f5f03c0fe9","$e02a7d9cb1dc128c$export$c74125a8e3af6bb2","PROVIDER_NAME","createCollectionContext","createCollectionScope","$6vYhU$createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","$6vYhU$react","itemMap","COLLECTION_SLOT_NAME","CollectionSlot","$6vYhU$useComposedRefs","$6vYhU$Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","$054eb8030ebde76e$var$PROVIDER_NAME","$054eb8030ebde76e$var$Collection","$054eb8030ebde76e$var$useCollection","$054eb8030ebde76e$var$createCollectionScope","$eyrYI$createCollection","$054eb8030ebde76e$var$createToastContext","$054eb8030ebde76e$export$8a359da18fbc9073","$eyrYI$createContextScope","$054eb8030ebde76e$var$ToastProviderProvider","$054eb8030ebde76e$var$useToastProviderContext","$054eb8030ebde76e$export$f5d03d415824e0e","__scopeToast","duration","swipeDirection","swipeThreshold","viewport","setViewport","$eyrYI$useState","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","$eyrYI$useRef","isClosePausedRef","$eyrYI$createElement","$eyrYI$useCallback","prevCount","$054eb8030ebde76e$var$VIEWPORT_NAME","$054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY","$054eb8030ebde76e$var$VIEWPORT_PAUSE","$054eb8030ebde76e$var$VIEWPORT_RESUME","$054eb8030ebde76e$export$6192c2425ecfd989","$eyrYI$forwardRef","hotkey","viewportProps","getItems","wrapperRef","headFocusProxyRef","tailFocusProxyRef","$eyrYI$useComposedRefs","hotkeyLabel","hasToasts","$eyrYI$useEffect","_ref$current","wrapper","handlePause","pauseEvent","handleResume","resumeEvent","handleFocusOutResume","handlePointerLeaveResume","getSortedTabbableCandidates","tabbingDirection","tabbableCandidates","toastItem","toastNode","toastTabbableCandidates","$054eb8030ebde76e$var$getTabbableCandidates","isMetaKey","isTabbingBackwards","_headFocusProxyRef$cu","sortedCandidates","$054eb8030ebde76e$var$focusFirst","_headFocusProxyRef$cu2","_tailFocusProxyRef$cu","$eyrYI$Branch","$054eb8030ebde76e$var$FocusProxy","$eyrYI$Primitive","$eyrYI$babelruntimehelpersesmextends","$054eb8030ebde76e$var$FOCUS_PROXY_NAME","onFocusFromOutsideViewport","proxyProps","$eyrYI$VisuallyHidden","_context$viewport","prevFocusedElement","$054eb8030ebde76e$var$TOAST_NAME","$054eb8030ebde76e$var$TOAST_SWIPE_START","$054eb8030ebde76e$var$TOAST_SWIPE_MOVE","$054eb8030ebde76e$var$TOAST_SWIPE_CANCEL","$054eb8030ebde76e$var$TOAST_SWIPE_END","$054eb8030ebde76e$export$8d8dc7d5f743331b","toastProps","$eyrYI$useControllableState","$eyrYI$Presence","$054eb8030ebde76e$var$ToastImpl","$eyrYI$useCallbackRef","$eyrYI$composeEventHandlers","$054eb8030ebde76e$var$ToastInteractiveProvider","$054eb8030ebde76e$var$useToastInteractiveContext","durationProp","onPause","onResume","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","pointerStartRef","swipeDeltaRef","duration1","closeTimerStartTimeRef","closeTimerRemainingTimeRef","closeTimerRef","onToastAdd","onToastRemove","_context$viewport2","startTimer","elapsedTime","announceTextContent","$eyrYI$useMemo","$054eb8030ebde76e$var$getAnnounceTextContent","$eyrYI$Fragment","$054eb8030ebde76e$var$ToastAnnounce","$eyrYI$createPortal","$eyrYI$Root","hasSwipeMoveStarted","isHorizontalSwipe","clamp","clampedX","clampedY","moveStartBuffer","$054eb8030ebde76e$var$handleAndDispatchCustomEvent","$054eb8030ebde76e$var$isDeltaInDirection","event1","toast","announceProps","renderAnnounceText","setRenderAnnounceText","isAnnounced","setIsAnnounced","$054eb8030ebde76e$var$useNextFrame","timer","$eyrYI$Portal","$054eb8030ebde76e$export$16d42d7c29b95a4","$054eb8030ebde76e$var$ACTION_NAME","$054eb8030ebde76e$export$3019feecfda683d2","altText","$054eb8030ebde76e$var$ToastAnnounceExclude","$054eb8030ebde76e$export$811e70f61c205839","$054eb8030ebde76e$var$CLOSE_NAME","interactiveContext","announceExcludeProps","textContent","$054eb8030ebde76e$var$isHTMLElement","isHidden","isExcluded","$eyrYI$dispatchDiscreteCustomEvent","threshold","isDeltaX","$eyrYI$useLayoutEffect","raf1","raf2","$054eb8030ebde76e$export$2881499e37b75b9a","$054eb8030ebde76e$export$d5c6c08dc2d3ca7","$054eb8030ebde76e$export$be92b6f5f03c0fe9","$054eb8030ebde76e$export$f99233281efd08a0","$054eb8030ebde76e$export$e19cd5f9376f8cee","$054eb8030ebde76e$export$f39c2d165cd861fe","VIEWPORT_PADDING","slideIn","swipeOut","ToastAction","ToastPrimitive","ToastClose","sizing_100","ToastTitle","ToastSeparator","SeparatorPrimitive","backgroundColors","color_background_sentiment_neutral","color_background_sentiment_negative","colors","color_text_standard","separatorColors","color_divider_weak","color_divider_inverse_weak","ToastViewport","ToastRoot","elevation_interactive_low","ToastProvider","ToastPrimitive.Provider","Toast","title","sentiment","toastRootProps","backgroundColor","color","separatorColor","WarningIcon","CloseIcon","$f631663db3294ace$var$DirectionContext","$7Gjcd$createContext","$f631663db3294ace$export$b39126d51d94e6f3","localDir","globalDir","$7Gjcd$useContext","$d7bdfb9eb0fdf311$var$ENTRY_FOCUS","$d7bdfb9eb0fdf311$var$EVENT_OPTIONS","$d7bdfb9eb0fdf311$var$GROUP_NAME","$d7bdfb9eb0fdf311$var$Collection","$d7bdfb9eb0fdf311$var$useCollection","$d7bdfb9eb0fdf311$var$createCollectionScope","$98Iye$createCollection","$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext","$d7bdfb9eb0fdf311$export$c7109489551a4f4","$98Iye$createContextScope","$d7bdfb9eb0fdf311$var$RovingFocusProvider","$d7bdfb9eb0fdf311$var$useRovingFocusContext","$d7bdfb9eb0fdf311$export$8699f7c8af148338","$98Iye$forwardRef","$98Iye$createElement","$d7bdfb9eb0fdf311$var$RovingFocusGroupImpl","$98Iye$babelruntimehelpersesmextends","__scopeRovingFocusGroup","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","$98Iye$useRef","$98Iye$useComposedRefs","$98Iye$useDirection","currentTabStopId","setCurrentTabStopId","$98Iye$useControllableState","isTabbingBackOut","setIsTabbingBackOut","$98Iye$useState","handleEntryFocus","$98Iye$useCallbackRef","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","$98Iye$useEffect","$98Iye$useCallback","tabStopId","$98Iye$Primitive","$98Iye$composeEventHandlers","isKeyboardFocus","entryFocusEvent","activeItem","currentItem","candidateNodes","$d7bdfb9eb0fdf311$var$focusFirst","$d7bdfb9eb0fdf311$var$ITEM_NAME","$d7bdfb9eb0fdf311$export$ab9df7c53fe8454","focusable","active","$98Iye$useId","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","$d7bdfb9eb0fdf311$var$getFocusIntent","currentIndex","$d7bdfb9eb0fdf311$var$wrapArray","$d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT","$d7bdfb9eb0fdf311$var$getDirectionAwareKey","PREVIOUSLY_FOCUSED_ELEMENT","startIndex","$d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9","$d7bdfb9eb0fdf311$export$6d08773d2e66f8f2","$ce77a8961b41be9e$var$RADIO_NAME","$ce77a8961b41be9e$var$createRadioContext","$ce77a8961b41be9e$export$67d2296460f1b002","$8Wolv$createContextScope","$ce77a8961b41be9e$var$RadioProvider","$ce77a8961b41be9e$var$useRadioContext","$ce77a8961b41be9e$export$d7b12c4107be0d61","$8Wolv$forwardRef","__scopeRadio","onCheck","radioProps","$8Wolv$useState","$8Wolv$useComposedRefs","$8Wolv$useRef","$8Wolv$createElement","$8Wolv$Primitive","$8Wolv$babelruntimehelpersesmextends","$ce77a8961b41be9e$var$getState","$8Wolv$composeEventHandlers","$ce77a8961b41be9e$var$BubbleInput","$ce77a8961b41be9e$var$INDICATOR_NAME","$ce77a8961b41be9e$export$d35a9ffa9a04f9e7","$8Wolv$Presence","$8Wolv$usePrevious","$8Wolv$useSize","$8Wolv$useEffect","$f99a8c78507165f7$var$ARROW_KEYS","$f99a8c78507165f7$var$RADIO_GROUP_NAME","$f99a8c78507165f7$var$createRadioGroupContext","$f99a8c78507165f7$export$c547093f11b76da2","$8Wolv$createRovingFocusGroupScope","$f99a8c78507165f7$var$useRovingFocusGroupScope","$f99a8c78507165f7$var$useRadioScope","$f99a8c78507165f7$var$RadioGroupProvider","$f99a8c78507165f7$var$useRadioGroupContext","$f99a8c78507165f7$export$a98f0dcb43a68a25","__scopeRadioGroup","valueProp","onValueChange","rovingFocusGroupScope","$8Wolv$useDirection","$8Wolv$useControllableState","$8Wolv$Root","$f99a8c78507165f7$var$ITEM_NAME","$f99a8c78507165f7$export$9f866c100ef519e4","radioScope","isArrowKeyPressedRef","handleKeyUp","$8Wolv$Item","$f99a8c78507165f7$export$5fb54c671a65c88","$f99a8c78507165f7$export$be92b6f5f03c0fe9","$f99a8c78507165f7$export$6d08773d2e66f8f2","$f99a8c78507165f7$export$adb584737d712b70","StyledRadio","RadioGroupPrimitive","RadioGroup","RadioGroupPrimitive.Root","RadioGroupRadio","RadioGroupIndicator","Radio","$ae6933e535247d3d$export$7d15b64cf5a3a4c4","$cc7e05a45900e73f$var$OPEN_KEYS","$cc7e05a45900e73f$var$SELECTION_KEYS","$cc7e05a45900e73f$var$SELECT_NAME","$cc7e05a45900e73f$var$Collection","$cc7e05a45900e73f$var$useCollection","$cc7e05a45900e73f$var$createCollectionScope","$01b9c$createCollection","$cc7e05a45900e73f$var$createSelectContext","$cc7e05a45900e73f$export$286727a75dc039bd","$01b9c$createContextScope","$cc7e05a45900e73f$var$SelectProvider","$cc7e05a45900e73f$var$useSelectContext","$cc7e05a45900e73f$var$SelectNativeOptionsProvider","$cc7e05a45900e73f$var$useSelectNativeOptionsContext","$cc7e05a45900e73f$export$ef9b1a59e592288f","__scopeSelect","autoComplete","$01b9c$useState","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","$01b9c$useDirection","$01b9c$useControllableState","triggerPointerDownPosRef","$01b9c$useRef","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","$01b9c$createElement","$01b9c$useId","$01b9c$useCallback","optionsSet","$cc7e05a45900e73f$var$BubbleSelect","$cc7e05a45900e73f$var$TRIGGER_NAME","$cc7e05a45900e73f$export$3ac1e88a1c0b9f1","$01b9c$forwardRef","$01b9c$useComposedRefs","searchRef","handleTypeaheadSearch","resetTypeahead","$cc7e05a45900e73f$var$useTypeaheadSearch","search","enabledItems","nextItem","$cc7e05a45900e73f$var$findNextItem","$01b9c$Primitive","$01b9c$babelruntimehelpersesmextends","$01b9c$composeEventHandlers","isTypingAhead","$cc7e05a45900e73f$var$VALUE_NAME","$cc7e05a45900e73f$export$e288731fd71264f0","valueProps","onValueNodeHasChildrenChange","hasChildren","$01b9c$useLayoutEffect","$cc7e05a45900e73f$export$99b400cabb58c515","iconProps","$cc7e05a45900e73f$export$b2af6c9944296213","$01b9c$Portal","$cc7e05a45900e73f$var$CONTENT_NAME","$cc7e05a45900e73f$export$c973a4b3cb86a03d","setFragment","$01b9c$Fragment","$cc7e05a45900e73f$var$SelectContentImpl","$01b9c$createPortal","$cc7e05a45900e73f$var$SelectContentProvider","$cc7e05a45900e73f$var$CONTENT_MARGIN","$cc7e05a45900e73f$var$useSelectContentContext","contentWrapper","setContentWrapper","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","shouldRepositionRef","shouldExpandOnScrollRef","firstValidItemFoundRef","$01b9c$useEffect","$01b9c$hideOthers","$01b9c$useFocusGuards","focusFirst","restItems","lastItem","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","$01b9c$clamp","rightDelta","leftEdge","clampedRight","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","isFirstItem","focusSelectedItem","handleScrollButtonChange","pointerMoveDelta","handlePointerMove","_triggerPointerDownPo","_triggerPointerDownPo2","_triggerPointerDownPo3","_triggerPointerDownPo4","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","$01b9c$Slot","$01b9c$FocusScope","_context$trigger","$01b9c$DismissableLayer","isModifierKey","currentElement","$cc7e05a45900e73f$var$VIEWPORT_NAME","$cc7e05a45900e73f$export$9ed6e7b40248d36d","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","$cc7e05a45900e73f$var$GROUP_NAME","$cc7e05a45900e73f$var$SelectGroupContextProvider","$cc7e05a45900e73f$var$useSelectGroupContext","$cc7e05a45900e73f$export$ee25a334c55de1f4","groupId","$cc7e05a45900e73f$var$LABEL_NAME","$cc7e05a45900e73f$export$f67338d29bd972f8","groupContext","$cc7e05a45900e73f$var$ITEM_NAME","$cc7e05a45900e73f$var$SelectItemContextProvider","$cc7e05a45900e73f$var$useSelectItemContext","$cc7e05a45900e73f$export$13ef48a934230896","textValueProp","isSelected","setTextValue","setIsFocused","_contentContext$itemR","textId","handleSelect","prevTextValue","_node$textContent","_contentContext$onIte","_contentContext$onIte2","_contentContext$searc","$cc7e05a45900e73f$var$ITEM_TEXT_NAME","$cc7e05a45900e73f$export$3572fb0fb821ff49","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","_contentContext$itemT","nativeOption","$01b9c$useMemo","onNativeOptionAdd","onNativeOptionRemove","$cc7e05a45900e73f$var$ITEM_INDICATOR_NAME","$cc7e05a45900e73f$export$6b9198de19accfe6","itemIndicatorProps","$cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME","$cc7e05a45900e73f$export$d8117927658af6d7","canScrollUp1","setCanScrollUp","canScrollUp","$cc7e05a45900e73f$var$SelectScrollButtonImpl","$cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME","$cc7e05a45900e73f$export$ff951e476c12189","canScrollDown1","setCanScrollDown","maxScroll","canScrollDown","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","_activeItem$ref$curre","_contentContext$onIte3","$cc7e05a45900e73f$export$eba4b1df07cb1d3","separatorProps","selectProps","$01b9c$usePrevious","selectProto","$01b9c$VisuallyHidden","onSearchChange","handleSearchChange","$01b9c$useCallbackRef","timerRef","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","$cc7e05a45900e73f$var$wrapArray","v","$cc7e05a45900e73f$export$be92b6f5f03c0fe9","$cc7e05a45900e73f$export$4c8d1a57a761ef94","$cc7e05a45900e73f$export$602eac185826482c","$cc7e05a45900e73f$export$7c6e2c02157bb7d2","$cc7e05a45900e73f$export$d5c6c08dc2d3ca7","$cc7e05a45900e73f$export$eb2fcfdbd7ba97d4","$cc7e05a45900e73f$export$b04be29aa201d4f5","$cc7e05a45900e73f$export$6d08773d2e66f8f2","$cc7e05a45900e73f$export$d6e5bf9c43ea9319","$cc7e05a45900e73f$export$c3468e2714d175fa","$cc7e05a45900e73f$export$2f60d3ec9ad468f2","$cc7e05a45900e73f$export$bf1aedc3039c8d63","$cc7e05a45900e73f$export$1ff3c3f08ae963c0","StyledTrigger","SelectPrimitive","StyledIcon","StyledViewport","SelectPrimitive.Portal","StyledItem","color_background_white_weak","StyledLabel","StyledSeparator","color_divider_standard","StyledItemIndicator","scrollButtonStyles","StyledScrollUpButton","StyledScrollDownButton","Select","SelectTrigger","SelectValue","SelectIcon","SelectContent","SelectViewport","SelectGroup","SelectItem","SelectItemText","SelectItemIndicator","SelectGroupLabel","SelectSeparator","SelectScrollUpButton","SelectScrollDownButton","SingleSelect","ArrowDropDown","ArrowDropUp","$6be4966fd9bbc698$var$SWITCH_NAME","$6be4966fd9bbc698$var$createSwitchContext","$6be4966fd9bbc698$export$cf7f5f17f69cbd43","$irPIl$createContextScope","$6be4966fd9bbc698$var$SwitchProvider","$6be4966fd9bbc698$var$useSwitchContext","$6be4966fd9bbc698$export$b5d5cf8927ab7262","$irPIl$forwardRef","__scopeSwitch","switchProps","$irPIl$useState","$irPIl$useComposedRefs","$irPIl$useRef","$irPIl$useControllableState","$irPIl$createElement","$irPIl$Primitive","$irPIl$babelruntimehelpersesmextends","$6be4966fd9bbc698$var$getState","$irPIl$composeEventHandlers","$6be4966fd9bbc698$var$BubbleInput","$6be4966fd9bbc698$var$THUMB_NAME","$6be4966fd9bbc698$export$4d07bf653ea69106","thumbProps","$irPIl$usePrevious","$irPIl$useSize","$irPIl$useEffect","$6be4966fd9bbc698$export$be92b6f5f03c0fe9","$6be4966fd9bbc698$export$6521433ed15a34db","SwitchRoot","SwitchPrimitive","SwitchThumb","elevation_interactive_medium","Switch","TextBase","BodyTextBase","LargeBodyText","letter_spacing_body_large","line_height_body_large","font_size_body_large","MediumBodyText","letter_spacing_body_medium","font_size_body_medium","SmallBodyText","letter_spacing_body_small","line_height_body_small","font_size_body_small","bodyTextComps","BodyText","NumberTextBase","XSmallNumberText","letter_spacing_number_xsmall","line_height_number_xsmall","font_size_number_xsmall","SmallNumberText","letter_spacing_number_small","line_height_number_small","font_size_number_small","MediumNumberText","letter_spacing_number_medium","line_height_number_medium","font_size_number_medium","LargeNumberText","letter_spacing_number_large","line_height_number_large","font_size_number_large","numberTextComps","xsmall","NumberText","NumberComp","SmallCaptionText","XSmallCaptionText","LargeCaptionText","MediumCaptionText","captionTextComps","CaptionText","textComps","caption","number","textColors","normal","standard","strong","weak","positive","color_text_sentiment_positive","notice","color_text_sentiment_notice","neutral","color_text_sentiment_neutral","Text","textType","TextComp","textColor","TitleBase","LargeTitle","font_size_title_large","letter_spacing_title_large","MediumTitle","font_size_title_medium","letter_spacing_title_medium","SmallTitle","font_size_title_small","letter_spacing_title_small","titleComps","font_size_title_xsmall","letter_spacing_title_xsmall","Title","TitleComp"],"mappings":"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,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,eACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,uBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,mBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,YACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,kBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,wDACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,qCACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,UACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,oBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,gBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,gCACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,yGACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,oBACnB,EAGA,IAAIC,GAA4B,CAAA,EAChCA,GAA4B,CACxB,YAAe,oBACnB,EAGAlC,GAA4B,CACxB,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,GACT,QAASC,EACb,EAIA,SAASC,GAA0C13C,EAAO,CACtD,GAAI,CAAE,aAAc23C,KAAe3K,CAAU,EAAKht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"}