{"version":3,"file":"js/3884-d02653a88df93c876c7c.js","mappings":"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","sources":["webpack://kinside_app/./node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","webpack://kinside_app/./node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack://kinside_app/./node_modules/floating-vue/dist/floating-vue.es.js"],"sourcesContent":["function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(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 => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\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\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `
` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array