{"version":3,"file":"style-32c1e343.js","sources":["../../../Client/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../../Client/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../../Client/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\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\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 }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, normalizeProps, guardReactiveProps, pushScopeId, popScopeId, nextTick, createBlock, withScopeId, resolveComponent, normalizeStyle, withKeys, createElementVNode, Fragment, createCommentVNode, withCtx, createVNode, mergeProps, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n shownChildren: new Set(),\n lastAutoHide: true\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide === \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\n }, {})), [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n var _a, _b;\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = (_b = (_a = this.referenceNode) == null ? void 0 : _a.call(this)) != null ? _b : this.$el;\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$_referenceNode.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$6 = {\n extends: PrivatePopper()\n};\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", {\n \"v-popper--shown\": _ctx.slotData.isShown\n }])\n }, [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(_ctx.slotData)))\n ], 2);\n}\nvar Popper$1 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = (prop = \"theme\") => ({\n computed: {\n themeClass() {\n return getThemeClasses(this[prop]);\n }\n }\n});\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass()\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result && _ctx.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_ctx.result\n }\n ]]),\n style: normalizeStyle(_ctx.result ? {\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result ? _ctx.result.placement : void 0,\n onKeyup: _cache[2] || (_cache[2] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.autoHide && _ctx.$emit(\"hide\"))\n }),\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle(_ctx.result ? {\n transformOrigin: _ctx.result.transformOrigin\n } : void 0)\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[1] || (_cache[1] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle(_ctx.result ? {\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n } : void 0)\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: Popper$1,\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, {\n ref: \"popper\",\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n class: normalizeClass([\n _ctx.themeClass\n ])\n }, {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 3\n }, 8, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-beta.20\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n"],"names":["getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","length","computePosition","config","strategy","middleware","platform","rects","x","y","statefulPlacement","middlewareData","i","name","fn","nextX","nextY","data","reset","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","rect","detectOverflow","middlewareArguments","options","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","elementClientRect","min","max","within","min$1","value","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","hash$1","getOppositePlacement","matched","getAlignmentSides","isStart","mainAlignmentSide","hash","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentIndex","currentPlacement","main","cross","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","a","b","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","nextIndex","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","rawValue","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","node","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","scroll","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","window","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","width","height","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","list","_node$ownerDocument","scrollParent","isBody","target","updatedList","contains","parent","child","rootNode","next","getInnerBoundingClientRect","top","left","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","args","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","prop","__spreadProps","events","getDefaultConfig","theme","themeConfig","getThemeClasses","result","c","getAllParentThemes","supportsPassive","opts","isIOS","base","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","array","item","index","nextFrame","resolve","shownPoppers","hidingPopper","shownPoppersByTheme","getShownPoppersByTheme","Element","defaultPropFactory","props","PROVIDE_KEY","PrivatePopper","defineComponent","_a","_b","n","event","skipDelay","force","e","options2","isPlacementAuto","centerOffset","autoSize","_a2","type","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","container","handleShow","handleHide","targetNodes","eventType","handler","eventMap","commonTriggers","customTrigger","triggers","trigger","filterEventType","newList","listener","touch","attrFrom","attrTo","el","attrs","referenceBounds","mouseX","mouseY","popperBounds","vectorX","mousePreviousX","vectorY","mousePreviousY","newVectorLength","edgeX","edgeY","lineIntersectsLine","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","preventClose","isContainingEventTarget","shouldAutoHide","parent2","getAutoHideResult","x1","y1","x2","y2","x3","y3","x4","y4","uA","uB","_export_sfc","sfc","val","_sfc_main$6","_sfc_render$3","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","normalizeClass","renderSlot","normalizeProps","guardReactiveProps","Popper$1","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","script","nextTick","object","_withId","withScopeId","pushScopeId","_hoisted_1$2","popScopeId","render","createBlock","PrivateThemeClass","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","resolveComponent","normalizeStyle","withKeys","$event","Fragment","createCommentVNode","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","withCtx","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","createVNode","PrivatePopperWrapper","_sfc_main$3","_sfc_main$1","fetchId","res","Dropdown","Tooltip"],"mappings":"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","x_google_ignoreList":[0,1,2]}