{"version":3,"file":"js/6263-f3b37a0ac2b2e92ac708.js","mappings":"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","sources":["webpack:///./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack:///./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack:///./node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","webpack:///./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack:///./node_modules/react-tooltip/dist/react-tooltip.min.mjs"],"sourcesContent":["const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n  const lr = ['left', 'right'];\n  const rl = ['right', 'left'];\n  const tb = ['top', 'bottom'];\n  const bt = ['bottom', 'top'];\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rl : lr;\n      return isStart ? lr : rl;\n    case 'left':\n    case 'right':\n      return isStart ? tb : bt;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  return {\n    ...rect,\n    top: rect.y,\n    left: rect.x,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n      continue;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    ...rects.floating,\n    x,\n    y\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          // Try next placement and re-run the lifecycle.\n          return {\n            data: {\n              index: nextIndex,\n              overflows: overflowsData\n            },\n            reset: {\n              placement: nextPlacement\n            }\n          };\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$map$so;\n                const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: 0,\n    crossAxis: 0,\n    alignmentAxis: null,\n    ...rawValue\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: diffCoords\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = ['top', 'left'].includes(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const overflowAvailableHeight = height - overflow[heightSide];\n      const overflowAvailableWidth = width - overflow[widthSide];\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if (isYAxis) {\n        const maximumClippingWidth = width - overflow.left - overflow.right;\n        availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n      } else {\n        const maximumClippingHeight = height - overflow.top - overflow.bottom;\n        availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  // Browsers without `ShadowRoot` support.\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n  return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n  const webkit = isWebKit();\n  const css = getComputedStyle(element);\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else {\n      currentNode = getParentNode(currentNode);\n    }\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n  return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.pageXOffset,\n    scrollTop: element.pageYOffset\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentIFrame = win.frameElement;\n    while (currentIFrame && offsetParent && offsetWin !== win) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentIFrame = getWindow(currentIFrame).frameElement;\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  if (offsetParent === documentElement) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      ...clippingAncestor,\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const window = getWindow(element);\n  if (!isHTMLElement(element)) {\n    return window;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n    return window;\n  }\n  return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n  let {\n    reference,\n    floating,\n    strategy\n  } = _ref;\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  return {\n    reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      ...(await getDimensionsFn(floating))\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    clearTimeout(timeoutId);\n    io && io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = element.getBoundingClientRect();\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 100);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          resizeObserver && resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo && cleanupIo();\n    resizeObserver && resizeObserver.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { autoUpdate, computePosition, platform };\n","/*\n* React Tooltip\n* {@link https://github.com/ReactTooltip/react-tooltip}\n* @copyright ReactTooltip Team\n* @license MIT\n*/\nimport e,{createContext as t,useState as r,useCallback as o,useMemo as n,useContext as l,useRef as i,useEffect as c,useLayoutEffect as s}from\"react\";import{arrow as a,computePosition as u,offset as d,flip as p,shift as v,autoUpdate as m}from\"@floating-ui/dom\";import f from\"classnames\";const y=\"react-tooltip-core-styles\",h=\"react-tooltip-base-styles\",w={core:!1,base:!1};function b({css:e,id:t=h,type:r=\"base\",ref:o}){var n,l;if(!e||\"undefined\"==typeof document||w[r])return;if(\"core\"===r&&\"undefined\"!=typeof process&&(null===(n=null===process||void 0===process?void 0:process.env)||void 0===n?void 0:n.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if(\"base\"!==r&&\"undefined\"!=typeof process&&(null===(l=null===process||void 0===process?void 0:process.env)||void 0===l?void 0:l.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;\"core\"===r&&(t=y),o||(o={});const{insertAt:i}=o;if(document.getElementById(t))return void console.warn(`[react-tooltip] Element with id '${t}' already exists. Call \\`removeStyle()\\` first`);const c=document.head||document.getElementsByTagName(\"head\")[0],s=document.createElement(\"style\");s.id=t,s.type=\"text/css\",\"top\"===i&&c.firstChild?c.insertBefore(s,c.firstChild):c.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e)),w[r]=!0}function S({type:e=\"base\",id:t=h}={}){if(!w[e])return;\"core\"===e&&(t=y);const r=document.getElementById(t);\"style\"===(null==r?void 0:r.tagName)?null==r||r.remove():console.warn(`[react-tooltip] Failed to remove 'style' element with id '${t}'. Call \\`injectStyle()\\` first`),w[e]=!1}const E=(e,t,r)=>{let o=null;return function(...n){const l=()=>{o=null,r||e.apply(this,n)};r&&!o&&(e.apply(this,n),o=setTimeout(l,t)),r||(o&&clearTimeout(o),o=setTimeout(l,t))}},g=\"DEFAULT_TOOLTIP_ID\",_={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},A=t({getTooltipData:()=>_}),T=({children:t})=>{const[l,i]=r({[g]:new Set}),[c,s]=r({[g]:{current:null}}),a=(e,...t)=>{i((r=>{var o;const n=null!==(o=r[e])&&void 0!==o?o:new Set;return t.forEach((e=>n.add(e))),{...r,[e]:new Set(n)}}))},u=(e,...t)=>{i((r=>{const o=r[e];return o?(t.forEach((e=>o.delete(e))),{...r}):r}))},d=o(((e=g)=>{var t,r;return{anchorRefs:null!==(t=l[e])&&void 0!==t?t:new Set,activeAnchor:null!==(r=c[e])&&void 0!==r?r:{current:null},attach:(...t)=>a(e,...t),detach:(...t)=>u(e,...t),setActiveAnchor:t=>((e,t)=>{s((r=>{var o;return(null===(o=r[e])||void 0===o?void 0:o.current)===t.current?r:{...r,[e]:t}}))})(e,t)}}),[l,c,a,u]),p=n((()=>({getTooltipData:d})),[d]);return e.createElement(A.Provider,{value:p},t)};function O(e=g){return l(A).getTooltipData(e)}const L=({tooltipId:t,children:r,className:o,place:n,content:l,html:s,variant:a,offset:u,wrapper:d,events:p,positionStrategy:v,delayShow:m,delayHide:y})=>{const{attach:h,detach:w}=O(t),b=i(null);return c((()=>(h(b),()=>{w(b)})),[]),e.createElement(\"span\",{ref:b,className:f(\"react-tooltip-wrapper\",o),\"data-tooltip-place\":n,\"data-tooltip-content\":l,\"data-tooltip-html\":s,\"data-tooltip-variant\":a,\"data-tooltip-offset\":u,\"data-tooltip-wrapper\":d,\"data-tooltip-events\":p,\"data-tooltip-position-strategy\":v,\"data-tooltip-delay-show\":m,\"data-tooltip-delay-hide\":y},r)},R=\"undefined\"!=typeof window?s:c,C=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=getComputedStyle(e);return[\"overflow\",\"overflow-x\",\"overflow-y\"].some((e=>{const r=t.getPropertyValue(e);return\"auto\"===r||\"scroll\"===r}))},N=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(C(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},k=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:r=null,place:o=\"top\",offset:n=10,strategy:l=\"absolute\",middlewares:i=[d(Number(n)),p(),v({padding:5})],border:c})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:o};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:o};const s=i;return r?(s.push(a({element:r,padding:5})),u(e,t,{placement:o,strategy:l,middleware:s}).then((({x:e,y:t,placement:r,middlewareData:o})=>{var n,l;const i={left:`${e}px`,top:`${t}px`,border:c},{x:s,y:a}=null!==(n=o.arrow)&&void 0!==n?n:{x:0,y:0},u=null!==(l={top:\"bottom\",right:\"left\",bottom:\"top\",left:\"right\"}[r.split(\"-\")[0]])&&void 0!==l?l:\"bottom\",d=c&&{borderBottom:c,borderRight:c};let p=0;if(c){const e=`${c}`.match(/(\\d+)px/);p=(null==e?void 0:e[1])?Number(e[1]):1}return{tooltipStyles:i,tooltipArrowStyles:{left:null!=s?`${s}px`:\"\",top:null!=a?`${a}px`:\"\",right:\"\",bottom:\"\",...d,[u]:`-${4+p}px`},place:r}}))):u(e,t,{placement:\"bottom\",strategy:l,middleware:s}).then((({x:e,y:t,placement:r})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:r})))};var x=\"core-styles-module_tooltip__3vRRp\",$=\"core-styles-module_fixed__pcSol\",I=\"core-styles-module_arrow__cvMwQ\",j=\"core-styles-module_noArrow__xock6\",B=\"core-styles-module_clickable__ZuTTB\",D=\"core-styles-module_show__Nt9eE\",H={tooltip:\"styles-module_tooltip__mnnfp\",arrow:\"styles-module_arrow__K0L3T\",dark:\"styles-module_dark__xNqje\",light:\"styles-module_light__Z6W-X\",success:\"styles-module_success__A2AKt\",warning:\"styles-module_warning__SCK0X\",error:\"styles-module_error__JvumD\",info:\"styles-module_info__BWdHW\"};const q=({id:t,className:n,classNameArrow:l,variant:s=\"dark\",anchorId:a,anchorSelect:u,place:d=\"top\",offset:p=10,events:v=[\"hover\"],openOnClick:y=!1,positionStrategy:h=\"absolute\",middlewares:w,wrapper:b,delayShow:S=0,delayHide:g=0,float:_=!1,hidden:A=!1,noArrow:T=!1,clickable:L=!1,closeOnEsc:C=!1,closeOnScroll:q=!1,closeOnResize:z=!1,style:M,position:W,afterShow:P,afterHide:F,content:K,contentWrapperRef:U,isOpen:X,setIsOpen:Y,activeAnchor:V,setActiveAnchor:Z,border:G,opacity:J,arrowColor:Q})=>{const ee=i(null),te=i(null),re=i(null),oe=i(null),[ne,le]=r(d),[ie,ce]=r({}),[se,ae]=r({}),[ue,de]=r(!1),[pe,ve]=r(!1),me=i(!1),fe=i(null),{anchorRefs:ye,setActiveAnchor:he}=O(t),we=i(!1),[be,Se]=r([]),Ee=i(!1),ge=y||v.includes(\"click\");R((()=>(Ee.current=!0,()=>{Ee.current=!1})),[]),c((()=>{if(!ue){const e=setTimeout((()=>{ve(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[ue]);const _e=e=>{Ee.current&&(e&&ve(!0),setTimeout((()=>{Ee.current&&(null==Y||Y(e),void 0===X&&de(e))}),10))};c((()=>{if(void 0===X)return()=>null;X&&ve(!0);const e=setTimeout((()=>{de(X)}),10);return()=>{clearTimeout(e)}}),[X]),c((()=>{ue!==me.current&&(me.current=ue,ue?null==P||P():null==F||F())}),[ue]);const Ae=(e=g)=>{oe.current&&clearTimeout(oe.current),oe.current=setTimeout((()=>{we.current||_e(!1)}),e)},Te=e=>{var t;if(!e)return;const r=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==r?void 0:r.isConnected))return Z(null),void he({current:null});S?(re.current&&clearTimeout(re.current),re.current=setTimeout((()=>{_e(!0)}),S)):_e(!0),Z(r),he({current:r}),oe.current&&clearTimeout(oe.current)},Oe=()=>{L?Ae(g||100):g?Ae():_e(!1),re.current&&clearTimeout(re.current)},Le=({x:e,y:t})=>{k({place:d,offset:p,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:ee.current,tooltipArrowReference:te.current,strategy:h,middlewares:w,border:G}).then((e=>{Object.keys(e.tooltipStyles).length&&ce(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&ae(e.tooltipArrowStyles),le(e.place)}))},Re=e=>{if(!e)return;const t=e,r={x:t.clientX,y:t.clientY};Le(r),fe.current=r},Ce=e=>{Te(e),g&&Ae()},Ne=e=>{var t;[document.querySelector(`[id='${a}']`),...be].some((t=>null==t?void 0:t.contains(e.target)))||(null===(t=ee.current)||void 0===t?void 0:t.contains(e.target))||(_e(!1),re.current&&clearTimeout(re.current))},ke=E(Te,50,!0),xe=E(Oe,50,!0),$e=o((()=>{W?Le(W):_?fe.current&&Le(fe.current):(null==V?void 0:V.isConnected)&&k({place:d,offset:p,elementReference:V,tooltipReference:ee.current,tooltipArrowReference:te.current,strategy:h,middlewares:w,border:G}).then((e=>{Ee.current&&(Object.keys(e.tooltipStyles).length&&ce(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&ae(e.tooltipArrowStyles),le(e.place))}))}),[ue,V,K,M,d,p,h,W,_]);c((()=>{var e,t;const r=new Set(ye);be.forEach((e=>{r.add({current:e})}));const o=document.querySelector(`[id='${a}']`);o&&r.add({current:o});const n=()=>{_e(!1)},l=N(V),i=N(ee.current);q&&(window.addEventListener(\"scroll\",n),null==l||l.addEventListener(\"scroll\",n),null==i||i.addEventListener(\"scroll\",n));let c=null;z?window.addEventListener(\"resize\",n):V&&ee.current&&(c=m(V,ee.current,$e,{ancestorResize:!0,elementResize:!0,layoutShift:!0}));const s=e=>{\"Escape\"===e.key&&_e(!1)};C&&window.addEventListener(\"keydown\",s);const u=[];ge?(window.addEventListener(\"click\",Ne),u.push({event:\"click\",listener:Ce})):(u.push({event:\"mouseenter\",listener:ke},{event:\"mouseleave\",listener:xe},{event:\"focus\",listener:ke},{event:\"blur\",listener:xe}),_&&u.push({event:\"mousemove\",listener:Re}));const d=()=>{we.current=!0},p=()=>{we.current=!1,Oe()};return L&&!ge&&(null===(e=ee.current)||void 0===e||e.addEventListener(\"mouseenter\",d),null===(t=ee.current)||void 0===t||t.addEventListener(\"mouseleave\",p)),u.forEach((({event:e,listener:t})=>{r.forEach((r=>{var o;null===(o=r.current)||void 0===o||o.addEventListener(e,t)}))})),()=>{var e,t;q&&(window.removeEventListener(\"scroll\",n),null==l||l.removeEventListener(\"scroll\",n),null==i||i.removeEventListener(\"scroll\",n)),z?window.removeEventListener(\"resize\",n):null==c||c(),ge&&window.removeEventListener(\"click\",Ne),C&&window.removeEventListener(\"keydown\",s),L&&!ge&&(null===(e=ee.current)||void 0===e||e.removeEventListener(\"mouseenter\",d),null===(t=ee.current)||void 0===t||t.removeEventListener(\"mouseleave\",p)),u.forEach((({event:e,listener:t})=>{r.forEach((r=>{var o;null===(o=r.current)||void 0===o||o.removeEventListener(e,t)}))}))}}),[V,$e,pe,ye,be,C,v]),c((()=>{let e=null!=u?u:\"\";!e&&t&&(e=`[data-tooltip-id='${t}']`);const r=new MutationObserver((r=>{const o=[],n=[];r.forEach((r=>{if(\"attributes\"===r.type&&\"data-tooltip-id\"===r.attributeName){r.target.getAttribute(\"data-tooltip-id\")===t&&o.push(r.target)}if(\"childList\"===r.type){if(V){const t=[...r.removedNodes].filter((e=>1===e.nodeType));if(e)try{n.push(...t.filter((t=>t.matches(e)))),n.push(...t.flatMap((t=>[...t.querySelectorAll(e)])))}catch(e){}t.some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,V))&&(ve(!1),_e(!1),Z(null),re.current&&clearTimeout(re.current),oe.current&&clearTimeout(oe.current),!0)}))}if(e)try{const t=[...r.addedNodes].filter((e=>1===e.nodeType));o.push(...t.filter((t=>t.matches(e)))),o.push(...t.flatMap((t=>[...t.querySelectorAll(e)])))}catch(e){}}})),(o.length||n.length)&&Se((e=>[...e.filter((e=>n.includes(e))),...o]))}));return r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[\"data-tooltip-id\"]}),()=>{r.disconnect()}}),[t,u,V]),c((()=>{$e()}),[$e]),c((()=>{if(!(null==U?void 0:U.current))return()=>null;const e=new ResizeObserver((()=>{$e()}));return e.observe(U.current),()=>{e.disconnect()}}),[K,null==U?void 0:U.current]),c((()=>{var e;const t=document.querySelector(`[id='${a}']`),r=[...be,t];V&&r.includes(V)||Z(null!==(e=be[0])&&void 0!==e?e:t)}),[a,be,V]),c((()=>()=>{re.current&&clearTimeout(re.current),oe.current&&clearTimeout(oe.current)}),[]),c((()=>{let e=u;if(!e&&t&&(e=`[data-tooltip-id='${t}']`),e)try{const t=Array.from(document.querySelectorAll(e));Se(t)}catch(e){Se([])}}),[t,u]);const Ie=!A&&K&&ue&&Object.keys(ie).length>0;return pe?e.createElement(b,{id:t,role:\"tooltip\",className:f(\"react-tooltip\",x,H.tooltip,H[s],n,`react-tooltip__place-${ne}`,{\"react-tooltip__show\":Ie,[D]:Ie,[$]:\"fixed\"===h,[B]:L}),style:{...M,...ie,opacity:void 0!==J&&Ie?J:void 0},ref:ee},K,e.createElement(b,{className:f(\"react-tooltip-arrow\",I,H.arrow,l,{[j]:T}),style:{...se,background:Q?`linear-gradient(to right bottom, transparent 50%, ${Q} 50%)`:void 0},ref:te})):null},z=({content:t})=>e.createElement(\"span\",{dangerouslySetInnerHTML:{__html:t}}),M=({id:t,anchorId:o,anchorSelect:n,content:l,html:s,render:a,className:u,classNameArrow:d,variant:p=\"dark\",place:v=\"top\",offset:m=10,wrapper:f=\"div\",children:y=null,events:h=[\"hover\"],openOnClick:w=!1,positionStrategy:b=\"absolute\",middlewares:S,delayShow:E=0,delayHide:g=0,float:_=!1,hidden:A=!1,noArrow:T=!1,clickable:L=!1,closeOnEsc:R=!1,closeOnScroll:C=!1,closeOnResize:N=!1,style:k,position:x,isOpen:$,disableStyleInjection:I=!1,border:j,opacity:B,arrowColor:D,setIsOpen:H,afterShow:M,afterHide:W})=>{const[P,F]=r(l),[K,U]=r(s),[X,Y]=r(v),[V,Z]=r(p),[G,J]=r(m),[Q,ee]=r(E),[te,re]=r(g),[oe,ne]=r(_),[le,ie]=r(A),[ce,se]=r(f),[ae,ue]=r(h),[de,pe]=r(b),[ve,me]=r(null),fe=i(I),{anchorRefs:ye,activeAnchor:he}=O(t),we=e=>null==e?void 0:e.getAttributeNames().reduce(((t,r)=>{var o;if(r.startsWith(\"data-tooltip-\")){t[r.replace(/^data-tooltip-/,\"\")]=null!==(o=null==e?void 0:e.getAttribute(r))&&void 0!==o?o:null}return t}),{}),be=e=>{const t={place:e=>{var t;Y(null!==(t=e)&&void 0!==t?t:v)},content:e=>{F(null!=e?e:l)},html:e=>{U(null!=e?e:s)},variant:e=>{var t;Z(null!==(t=e)&&void 0!==t?t:p)},offset:e=>{J(null===e?m:Number(e))},wrapper:e=>{var t;se(null!==(t=e)&&void 0!==t?t:f)},events:e=>{const t=null==e?void 0:e.split(\" \");ue(null!=t?t:h)},\"position-strategy\":e=>{var t;pe(null!==(t=e)&&void 0!==t?t:b)},\"delay-show\":e=>{ee(null===e?E:Number(e))},\"delay-hide\":e=>{re(null===e?g:Number(e))},float:e=>{ne(null===e?_:\"true\"===e)},hidden:e=>{ie(null===e?A:\"true\"===e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,r])=>{var o;null===(o=t[e])||void 0===o||o.call(t,r)}))};c((()=>{F(l)}),[l]),c((()=>{U(s)}),[s]),c((()=>{Y(v)}),[v]),c((()=>{Z(p)}),[p]),c((()=>{J(m)}),[m]),c((()=>{ee(E)}),[E]),c((()=>{re(g)}),[g]),c((()=>{ne(_)}),[_]),c((()=>{ie(A)}),[A]),c((()=>{pe(b)}),[b]),c((()=>{fe.current!==I&&console.warn(\"[react-tooltip] Do not change `disableStyleInjection` dynamically.\")}),[I]),c((()=>{\"undefined\"!=typeof window&&window.dispatchEvent(new CustomEvent(\"react-tooltip-inject-styles\",{detail:{disableCore:\"core\"===I,disableBase:I}}))}),[]),c((()=>{var e;const r=new Set(ye);let l=n;if(!l&&t&&(l=`[data-tooltip-id='${t}']`),l)try{document.querySelectorAll(l).forEach((e=>{r.add({current:e})}))}catch(e){console.warn(`[react-tooltip] \"${l}\" is not a valid CSS selector`)}const i=document.querySelector(`[id='${o}']`);if(i&&r.add({current:i}),!r.size)return()=>null;const c=null!==(e=null!=ve?ve:i)&&void 0!==e?e:he.current,s=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||\"attributes\"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith(\"data-tooltip-\")))return;const r=we(c);be(r)}))})),a={attributes:!0,childList:!1,subtree:!1};if(c){const e=we(c);be(e),s.observe(c,a)}return()=>{s.disconnect()}}),[ye,he,ve,o,n]),c((()=>{(null==k?void 0:k.border)&&console.warn(\"[react-tooltip] Do not set `style.border`. Use `border` prop instead.\"),j&&!CSS.supports(\"border\",`${j}`)&&console.warn(`[react-tooltip] \"${j}\" is not a valid \\`border\\`.`),(null==k?void 0:k.opacity)&&console.warn(\"[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead.\"),B&&!CSS.supports(\"opacity\",`${B}`)&&console.warn(`[react-tooltip] \"${B}\" is not a valid \\`opacity\\`.`)}),[]);let Se=y;const Ee=i(null);if(a){const t=a({content:null!=P?P:null,activeAnchor:ve});Se=t?e.createElement(\"div\",{ref:Ee,className:\"react-tooltip-content-wrapper\"},t):null}else P&&(Se=P);K&&(Se=e.createElement(z,{content:K}));const ge={id:t,anchorId:o,anchorSelect:n,className:u,classNameArrow:d,content:Se,contentWrapperRef:Ee,place:X,variant:V,offset:G,wrapper:ce,events:ae,openOnClick:w,positionStrategy:de,middlewares:S,delayShow:Q,delayHide:te,float:oe,hidden:le,noArrow:T,clickable:L,closeOnEsc:R,closeOnScroll:C,closeOnResize:N,style:k,position:x,isOpen:$,border:j,opacity:B,arrowColor:D,setIsOpen:H,afterShow:M,afterHide:W,activeAnchor:ve,setActiveAnchor:e=>me(e)};return e.createElement(q,{...ge})};\"undefined\"!=typeof window&&window.addEventListener(\"react-tooltip-inject-styles\",(e=>{e.detail.disableCore||b({css:`:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9}.core-styles-module_tooltip__3vRRp{visibility:hidden;position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity 0.3s ease-out;will-change:opacity,visibility}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{visibility:visible;opacity:var(--rt-opacity)}`,type:\"core\"}),e.detail.disableBase||b({css:`\n.styles-module_tooltip__mnnfp{padding:8px 16px;border-radius:3px;font-size:90%;width:max-content}.styles-module_arrow__K0L3T{width:8px;height:8px}[class*='react-tooltip__place-top']>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*='react-tooltip__place-right']>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*='react-tooltip__place-bottom']>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*='react-tooltip__place-left']>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}`,type:\"base\"})}));export{M as Tooltip,T as TooltipProvider,L as TooltipWrapper,S as removeStyle};\n"],"names":["Math","min","max","round","floor","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","value","param","placement","split","axis","getAxisLength","includes","getAlignmentAxis","replace","alignment","getOppositePlacement","side","padding","expandPaddingObject","rect","width","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","flip","name","fn","_middlewareData$arrow","_middlewareData$flip","middlewareData","initialPlacement","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","arrow","alignmentOffset","isBasePlacement","isRTL","oppositePlacement","getExpandedPlacements","push","direction","list","isStart","lr","rl","tb","bt","getSideList","map","concat","getOppositeAxisPlacements","placements","overflow","overflows","overflowsData","sides","length","mainAlignmentSide","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","data","reset","resetPlacement","filter","d","sort","a","b","_overflowsData$map$so","reduce","acc","offset","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","convertValueToCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","window","document","documentElement","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","test","isTableElement","isContainingBlock","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","some","willChange","contain","CSS","supports","isLastTraversableNode","getComputedStyle","getNodeScroll","scrollLeft","scrollTop","pageXOffset","pageYOffset","getParentNode","result","assignedSlot","parentNode","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","visualViewport","frameElement","getCssDimensions","parseFloat","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","getBoundingClientRect","Number","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scroll","scrollWidth","scrollHeight","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","getTrueOffsetParent","polyfill","currentNode","getContainingBlock","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","accRect","getElementRects","getOffsetParentFn","getDimensionsFn","getDimensions","getClientRects","Array","from","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","addEventListener","passive","cleanupIo","onMove","timeoutId","io","root","cleanup","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","e","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","target","unobserve","cancelAnimationFrame","requestAnimationFrame","prevRefRect","frameLoop","nextRefRect","removeEventListener","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","i","nextX","nextY","computePosition","h","w","core","base","id","t","type","r","ref","o","n","l","process","env","REACT_TOOLTIP_DISABLE_CORE_STYLES","REACT_TOOLTIP_DISABLE_BASE_STYLES","insertAt","getElementById","console","warn","c","head","getElementsByTagName","s","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","E","apply","g","_","anchorRefs","Set","activeAnchor","current","attach","detach","setActiveAnchor","A","getTooltipData","O","R","C","SVGElement","getPropertyValue","N","parentElement","scrollingElement","k","elementReference","tooltipReference","tooltipArrowReference","place","middlewares","border","tooltipStyles","tooltipArrowStyles","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","shouldAddOffset","centerOffset","then","u","borderBottom","borderRight","p","match","H","tooltip","dark","light","success","warning","error","info","q","className","classNameArrow","variant","anchorId","anchorSelect","events","openOnClick","positionStrategy","wrapper","delayShow","S","delayHide","float","hidden","noArrow","T","clickable","L","closeOnEsc","closeOnScroll","closeOnResize","z","style","M","W","afterShow","P","afterHide","F","content","K","contentWrapperRef","U","isOpen","X","setIsOpen","Y","V","Z","G","opacity","J","arrowColor","Q","ee","te","re","oe","ne","le","ie","ce","se","ae","ue","de","pe","ve","me","fe","ye","he","we","be","Se","Ee","ge","_e","Ae","Te","currentTarget","isConnected","Oe","Le","Object","keys","Re","clientX","clientY","Ce","Ne","querySelector","contains","ke","xe","$e","add","key","event","listener","MutationObserver","attributeName","getAttribute","removedNodes","nodeType","matches","flatMap","querySelectorAll","call","addedNodes","childList","subtree","attributes","attributeFilter","Ie","role","background","dangerouslySetInnerHTML","__html","render","m","f","children","disableStyleInjection","I","j","B","D","getAttributeNames","startsWith","values","dispatchEvent","CustomEvent","detail","disableCore","disableBase","size"],"sourceRoot":""}