{"version":3,"file":"static/chunks/3070-4dcf7d4dda928be9.js","mappings":"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","sources":["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/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => 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: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\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 }\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 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 (isYAxis) {\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : 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, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getNodeScroll, 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 = currentWin.frameElement;\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 = currentWin.frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\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 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,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If 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\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 ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\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 offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const x = rect.left + scroll.scrollLeft - offsets.x;\n const y = rect.top + scroll.scrollTop - offsets.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 return element.offsetParent;\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