{"version":3,"file":"static/chunks/8868-7d98913a7422b31c.js","mappings":"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","sources":["webpack://_N_E/./node_modules/react/cjs/react.production.min.js?902a","webpack://_N_E/./node_modules/react/index.js?6b2c","webpack://_N_E/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://_N_E/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://_N_E/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://_N_E/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://_N_E/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["/**\n * @license React\n * react.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 l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\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 */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\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 for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[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 = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\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 x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\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 on each side.\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(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(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 rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\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 ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\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 return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\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 return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\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 // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\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 return {};\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}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\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 (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...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 case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...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 default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\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 return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // 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 const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\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 // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\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 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 return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\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 return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\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 = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\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/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\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 } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\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 = clamp(min, mainAxisCoord, max);\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 = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\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 return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\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 if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\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.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\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 const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\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 if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n 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 if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, 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\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle