{"version":3,"file":"static/chunks/3961-aaa56b646b2006fa.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://_N_E/./node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.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.mjs","webpack://_N_E/"],"sourcesContent":["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 reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\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 continue;\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 ...rects.floating,\n x,\n y\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 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 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 if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\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$map$so;\n const placement = (_overflowsData$map$so = overflowsData.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$map$so[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.\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 const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\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 overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\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","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, 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 currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\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 currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\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 if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\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' ? 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 return getCssDimensions(element);\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 return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction 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 window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\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 clearTimeout(timeoutId);\n io && 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 timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\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