{"ast":null,"code":"import _slicedToArray from \"C:/Users/user/Desktop/04portreact/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _regeneratorRuntime from \"C:/Users/user/Desktop/04portreact/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";\nimport _asyncToGenerator from \"C:/Users/user/Desktop/04portreact/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _toConsumableArray from \"C:/Users/user/Desktop/04portreact/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _objectSpread from \"C:/Users/user/Desktop/04portreact/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { 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';\nfunction getCssDimensions(element) {\n  var 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  var width = parseFloat(css.width) || 0;\n  var height = parseFloat(css.height) || 0;\n  var hasOffset = isHTMLElement(element);\n  var offsetWidth = hasOffset ? element.offsetWidth : width;\n  var offsetHeight = hasOffset ? element.offsetHeight : height;\n  var shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width: width,\n    height: height,\n    $: shouldFallback\n  };\n}\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n  var domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  var rect = domElement.getBoundingClientRect();\n  var _getCssDimensions = getCssDimensions(domElement),\n    width = _getCssDimensions.width,\n    height = _getCssDimensions.height,\n    $ = _getCssDimensions.$;\n  var x = ($ ? round(rect.width) : rect.width) / width;\n  var 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: x,\n    y: y\n  };\n}\nvar noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  var 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}\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  var clientRect = element.getBoundingClientRect();\n  var domElement = unwrapElement(element);\n  var 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  var visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  var x = (clientRect.left + visualOffsets.x) / scale.x;\n  var y = (clientRect.top + visualOffsets.y) / scale.y;\n  var width = clientRect.width / scale.x;\n  var height = clientRect.height / scale.y;\n  if (domElement) {\n    var win = getWindow(domElement);\n    var offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    var currentIFrame = win.frameElement;\n    while (currentIFrame && offsetParent && offsetWin !== win) {\n      var iframeScale = getScale(currentIFrame);\n      var iframeRect = currentIFrame.getBoundingClientRect();\n      var css = getComputedStyle(currentIFrame);\n      var left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      var 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: width,\n    height: height,\n    x: x,\n    y: y\n  });\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  var rect = _ref.rect,\n    offsetParent = _ref.offsetParent,\n    strategy = _ref.strategy;\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  if (offsetParent === documentElement) {\n    return rect;\n  }\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var scale = createCoords(1);\n  var 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      var 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}\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\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  var html = getDocumentElement(element);\n  var scroll = getNodeScroll(element);\n  var body = element.ownerDocument.body;\n  var width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  var height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  var x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -scroll.scrollTop;\n  if (getComputedStyle(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}\nfunction getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  var clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  var top = clientRect.top + element.clientTop;\n  var left = clientRect.left + element.clientLeft;\n  var scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  var width = element.clientWidth * scale.x;\n  var height = element.clientHeight * scale.y;\n  var x = left * scale.x;\n  var y = top * scale.y;\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  var 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    var visualOffsets = getVisualOffsets(element);\n    rect = _objectSpread(_objectSpread({}, 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  var 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  var cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  var result = getOverflowAncestors(element).filter(function (el) {\n    return isElement(el) && getNodeName(el) !== 'body';\n  });\n  var currentContainingBlockComputedStyle = null;\n  var elementIsFixed = getComputedStyle(element).position === 'fixed';\n  var 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    var computedStyle = getComputedStyle(currentNode);\n    var currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    var 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(function (ancestor) {\n        return ancestor !== currentNode;\n      });\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  var element = _ref.element,\n    boundary = _ref.boundary,\n    rootBoundary = _ref.rootBoundary,\n    strategy = _ref.strategy;\n  var elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  var clippingAncestors = [].concat(_toConsumableArray(elementClippingAncestors), [rootBoundary]);\n  var firstClippingAncestor = clippingAncestors[0];\n  var clippingRect = clippingAncestors.reduce(function (accRect, clippingAncestor) {\n    var 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}\nfunction getDimensions(element) {\n  return getCssDimensions(element);\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var isFixed = strategy === 'fixed';\n  var rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      var 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}\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  var window = getWindow(element);\n  if (!isHTMLElement(element)) {\n    return window;\n  }\n  var 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}\nvar getElementRects = /*#__PURE__*/function () {\n  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {\n    var reference, floating, strategy, getOffsetParentFn, getDimensionsFn;\n    return _regeneratorRuntime().wrap(function _callee$(_context) {\n      while (1) switch (_context.prev = _context.next) {\n        case 0:\n          reference = _ref.reference, floating = _ref.floating, strategy = _ref.strategy;\n          getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n          getDimensionsFn = this.getDimensions;\n          _context.t0 = getRectRelativeToOffsetParent;\n          _context.t1 = reference;\n          _context.next = 7;\n          return getOffsetParentFn(floating);\n        case 7:\n          _context.t2 = _context.sent;\n          _context.t3 = strategy;\n          _context.t4 = (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n          _context.t5 = _objectSpread;\n          _context.t6 = {\n            x: 0,\n            y: 0\n          };\n          _context.next = 14;\n          return getDimensionsFn(floating);\n        case 14:\n          _context.t7 = _context.sent;\n          _context.t8 = (0, _context.t5)(_context.t6, _context.t7);\n          return _context.abrupt(\"return\", {\n            reference: _context.t4,\n            floating: _context.t8\n          });\n        case 17:\n        case \"end\":\n          return _context.stop();\n      }\n    }, _callee, this);\n  }));\n  return function getElementRects(_x) {\n    return _ref2.apply(this, arguments);\n  };\n}();\nfunction isRTL(element) {\n  return getComputedStyle(element).direction === 'rtl';\n}\nvar platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect: convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement: getDocumentElement,\n  getClippingRect: getClippingRect,\n  getOffsetParent: getOffsetParent,\n  getElementRects: getElementRects,\n  getClientRects: getClientRects,\n  getDimensions: getDimensions,\n  getScale: getScale,\n  isElement: isElement,\n  isRTL: isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  var io = null;\n  var timeoutId;\n  var 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    var _element$getBoundingC = element.getBoundingClientRect(),\n      left = _element$getBoundingC.left,\n      top = _element$getBoundingC.top,\n      width = _element$getBoundingC.width,\n      height = _element$getBoundingC.height;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    var insetTop = floor(top);\n    var insetRight = floor(root.clientWidth - (left + width));\n    var insetBottom = floor(root.clientHeight - (top + height));\n    var insetLeft = floor(left);\n    var rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    var options = {\n      rootMargin: rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    var isFirstUpdate = true;\n    function handleObserve(entries) {\n      var ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          timeoutId = setTimeout(function () {\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, _objectSpread(_objectSpread({}, 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  var _options = options,\n    _options$ancestorScro = _options.ancestorScroll,\n    ancestorScroll = _options$ancestorScro === void 0 ? true : _options$ancestorScro,\n    _options$ancestorResi = _options.ancestorResize,\n    ancestorResize = _options$ancestorResi === void 0 ? true : _options$ancestorResi,\n    _options$elementResiz = _options.elementResize,\n    elementResize = _options$elementResiz === void 0 ? typeof ResizeObserver === 'function' : _options$elementResiz,\n    _options$layoutShift = _options.layoutShift,\n    layoutShift = _options$layoutShift === void 0 ? typeof IntersectionObserver === 'function' : _options$layoutShift,\n    _options$animationFra = _options.animationFrame,\n    animationFrame = _options$animationFra === void 0 ? false : _options$animationFra;\n  var referenceEl = unwrapElement(reference);\n  var ancestors = ancestorScroll || ancestorResize ? [].concat(_toConsumableArray(referenceEl ? getOverflowAncestors(referenceEl) : []), _toConsumableArray(getOverflowAncestors(floating))) : [];\n  ancestors.forEach(function (ancestor) {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  var cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  var reobserveFrame = -1;\n  var resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(function (_ref) {\n      var _ref3 = _slicedToArray(_ref, 1),\n        firstEntry = _ref3[0];\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(function () {\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  var frameId;\n  var prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    var 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 function () {\n    ancestors.forEach(function (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 */\nvar computePosition = function 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  var cache = new Map();\n  var mergedOptions = _objectSpread({\n    platform: platform\n  }, options);\n  var platformWithCache = _objectSpread(_objectSpread({}, mergedOptions.platform), {}, {\n    _c: cache\n  });\n  return computePosition$1(reference, floating, _objectSpread(_objectSpread({}, mergedOptions), {}, {\n    platform: platformWithCache\n  }));\n};\nexport { autoUpdate, computePosition, platform };","map":{"version":3,"names":["rectToClientRect","computePosition","computePosition$1","arrow","autoPlacement","detectOverflow","flip","hide","inline","limitShift","offset","shift","size","round","createCoords","max","min","floor","getComputedStyle","isHTMLElement","isElement","getWindow","isWebKit","getDocumentElement","getNodeName","isOverflowElement","getNodeScroll","getOverflowAncestors","getParentNode","isLastTraversableNode","isContainingBlock","isTableElement","getContainingBlock","getCssDimensions","element","css","width","parseFloat","height","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","rect","getBoundingClientRect","_getCssDimensions","x","y","Number","isFinite","noOffsets","getVisualOffsets","win","visualViewport","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","left","top","offsetWin","currentIFrame","frameElement","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","strategy","isOffsetParentAnElement","documentElement","scroll","scrollLeft","scrollTop","offsets","offsetRect","getClientRects","Array","from","getWindowScrollBarX","getDocumentRect","html","body","ownerDocument","scrollWidth","clientWidth","scrollHeight","clientHeight","direction","getViewportRect","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","_objectSpread","hasFixedPositionAncestor","stopNode","parentNode","position","getClippingElementAncestors","cache","cachedResult","get","result","filter","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","shouldDropCurrentNode","includes","ancestor","set","getClippingRect","boundary","rootBoundary","elementClippingAncestors","_c","concat","clippingAncestors","_toConsumableArray","firstClippingAncestor","clippingRect","reduce","accRect","right","bottom","getDimensions","getRectRelativeToOffsetParent","getTrueOffsetParent","polyfill","getOffsetParent","window","getElementRects","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","reference","floating","getOffsetParentFn","getDimensionsFn","wrap","_callee$","_context","prev","next","t0","t1","t2","sent","t3","t4","t5","t6","t7","t8","abrupt","stop","_x","apply","arguments","isRTL","platform","observeMove","onMove","io","timeoutId","root","cleanup","clearTimeout","disconnect","refresh","skip","threshold","_element$getBoundingC","insetTop","insetRight","insetBottom","insetLeft","rootMargin","options","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","IntersectionObserver","e","observe","autoUpdate","update","_options","_options$ancestorScro","ancestorScroll","_options$ancestorResi","ancestorResize","_options$elementResiz","elementResize","ResizeObserver","_options$layoutShift","layoutShift","_options$animationFra","animationFrame","referenceEl","ancestors","forEach","addEventListener","passive","cleanupIo","reobserveFrame","resizeObserver","_ref3","_slicedToArray","firstEntry","target","unobserve","cancelAnimationFrame","requestAnimationFrame","frameId","prevRefRect","frameLoop","nextRefRect","removeEventListener","Map","mergedOptions","platformWithCache"],"sources":["C:/Users/user/Desktop/04portreact/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["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).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"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}