{"version":3,"file":"@floating-ui-Dq8c3VDt.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.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: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n"],"names":["sides","alignments","placements","acc","side","min","max","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","i","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","d","v","a","b","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","n","o","r","l","c","s","h","f","u","t","p","g","m","e","w","L","E","R","T","C","F","W","D","S","A","H","O","P","B"],"mappings":"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","x_google_ignoreList":[0,1,2]}