{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nvar _excluded = [\"portalContainer\"],\n  _excluded2 = [\"onDismiss\"],\n  _excluded3 = [\"triggerRef\", \"popoverRef\", \"isNonModal\", \"isKeyboardDismissDisabled\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport $k7QOs$react, { useState as $k7QOs$useState, useCallback as $k7QOs$useCallback, useRef as $k7QOs$useRef, useEffect as $k7QOs$useEffect, useContext as $k7QOs$useContext, useMemo as $k7QOs$useMemo } from \"react\";\nimport { useLayoutEffect as $k7QOs$useLayoutEffect, useResizeObserver as $k7QOs$useResizeObserver, useId as $k7QOs$useId, isIOS as $k7QOs$isIOS, chain as $k7QOs$chain, getScrollParent as $k7QOs$getScrollParent, useLabels as $k7QOs$useLabels, mergeProps as $k7QOs$mergeProps } from \"@react-aria/utils\";\nimport { useLocale as $k7QOs$useLocale, useLocalizedStringFormatter as $k7QOs$useLocalizedStringFormatter } from \"@react-aria/i18n\";\nimport { isElementInChildOfActiveScope as $k7QOs$isElementInChildOfActiveScope, FocusScope as $k7QOs$FocusScope } from \"@react-aria/focus\";\nimport { useInteractOutside as $k7QOs$useInteractOutside, useFocusWithin as $k7QOs$useFocusWithin } from \"@react-aria/interactions\";\nimport $k7QOs$reactdom from \"react-dom\";\nimport { useIsSSR as $k7QOs$useIsSSR } from \"@react-aria/ssr\";\nimport { VisuallyHidden as $k7QOs$VisuallyHidden } from \"@react-aria/visually-hidden\";\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\nvar $edcf132a9284368a$var$AXIS = {\n  top: \"top\",\n  bottom: \"top\",\n  left: \"left\",\n  right: \"left\"\n};\nvar $edcf132a9284368a$var$FLIPPED_DIRECTION = {\n  top: \"bottom\",\n  bottom: \"top\",\n  left: \"right\",\n  right: \"left\"\n};\nvar $edcf132a9284368a$var$CROSS_AXIS = {\n  top: \"left\",\n  left: \"top\"\n};\nvar $edcf132a9284368a$var$AXIS_SIZE = {\n  top: \"height\",\n  left: \"width\"\n};\nvar $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE = {};\nvar $edcf132a9284368a$var$visualViewport = typeof window !== \"undefined\" && window.visualViewport;\nfunction $edcf132a9284368a$var$getContainerDimensions(containerNode) {\n  var width = 0,\n    height = 0,\n    top = 0,\n    left = 0;\n  var scroll = {};\n  if (containerNode.tagName === \"BODY\") {\n    var documentElement = document.documentElement;\n    var _visualViewport_width;\n    width = (_visualViewport_width = $edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.width) !== null && _visualViewport_width !== void 0 ? _visualViewport_width : documentElement.clientWidth;\n    var _visualViewport_height;\n    height = (_visualViewport_height = $edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.height) !== null && _visualViewport_height !== void 0 ? _visualViewport_height : documentElement.clientHeight;\n    scroll.top = documentElement.scrollTop || containerNode.scrollTop;\n    scroll.left = documentElement.scrollLeft || containerNode.scrollLeft;\n  } else {\n    var _$edcf132a9284368a$va = $edcf132a9284368a$var$getOffset(containerNode);\n    width = _$edcf132a9284368a$va.width;\n    height = _$edcf132a9284368a$va.height;\n    top = _$edcf132a9284368a$va.top;\n    left = _$edcf132a9284368a$va.left;\n    scroll.top = containerNode.scrollTop;\n    scroll.left = containerNode.scrollLeft;\n  }\n  return {\n    width: width,\n    height: height,\n    scroll: scroll,\n    top: top,\n    left: left\n  };\n}\nfunction $edcf132a9284368a$var$getScroll(node) {\n  return {\n    top: node.scrollTop,\n    left: node.scrollLeft,\n    width: node.scrollWidth,\n    height: node.scrollHeight\n  };\n}\nfunction $edcf132a9284368a$var$getDelta(axis, offset, size, containerDimensions, padding) {\n  var containerScroll = containerDimensions.scroll[axis];\n  var containerHeight = containerDimensions[$edcf132a9284368a$var$AXIS_SIZE[axis]];\n  var startEdgeOffset = offset - padding - containerScroll;\n  var endEdgeOffset = offset + padding - containerScroll + size;\n  if (startEdgeOffset < 0) return -startEdgeOffset;else if (endEdgeOffset > containerHeight) return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);else return 0;\n}\nfunction $edcf132a9284368a$var$getMargins(node) {\n  var style = window.getComputedStyle(node);\n  return {\n    top: parseInt(style.marginTop, 10) || 0,\n    bottom: parseInt(style.marginBottom, 10) || 0,\n    left: parseInt(style.marginLeft, 10) || 0,\n    right: parseInt(style.marginRight, 10) || 0\n  };\n}\nfunction $edcf132a9284368a$var$parsePlacement(input) {\n  if ($edcf132a9284368a$var$PARSED_PLACEMENT_CACHE[input]) return $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE[input];\n  var _input$split = input.split(\" \"),\n    _input$split2 = _slicedToArray(_input$split, 2),\n    placement = _input$split2[0],\n    crossPlacement = _input$split2[1];\n  var axis = $edcf132a9284368a$var$AXIS[placement] || \"right\";\n  var crossAxis = $edcf132a9284368a$var$CROSS_AXIS[axis];\n  if (!$edcf132a9284368a$var$AXIS[crossPlacement]) crossPlacement = \"center\";\n  var size = $edcf132a9284368a$var$AXIS_SIZE[axis];\n  var crossSize = $edcf132a9284368a$var$AXIS_SIZE[crossAxis];\n  $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE[input] = {\n    placement: placement,\n    crossPlacement: crossPlacement,\n    axis: axis,\n    crossAxis: crossAxis,\n    size: size,\n    crossSize: crossSize\n  };\n  return $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE[input];\n}\nfunction $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned) {\n  var placement = placementInfo.placement,\n    crossPlacement = placementInfo.crossPlacement,\n    axis = placementInfo.axis,\n    crossAxis = placementInfo.crossAxis,\n    size = placementInfo.size,\n    crossSize = placementInfo.crossSize;\n  var position = {};\n  position[crossAxis] = childOffset[crossAxis];\n  if (crossPlacement === \"center\") position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;else if (crossPlacement !== crossAxis) position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];\n  position[crossAxis] += crossOffset;\n  var minViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2 - overlaySize[crossSize];\n  var maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;\n  position[crossAxis] = Math.min(Math.max(minViablePosition, position[crossAxis]), maxViablePosition);\n  if (placement === axis) {\n    var containerHeight = isContainerPositioned ? containerOffsetWithBoundary[size] : boundaryDimensions[size];\n    position[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] = Math.floor(containerHeight - childOffset[axis] + offset);\n  } else position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n  return position;\n}\nfunction $edcf132a9284368a$var$getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding) {\n  return position.top != null ? Math.max(0, boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top - (containerOffsetWithBoundary.top + position.top) - (margins.top + margins.bottom + padding)) : Math.max(0, childOffset.top + containerOffsetWithBoundary.top - (boundaryDimensions.top + boundaryDimensions.scroll.top) - (margins.top + margins.bottom + padding));\n}\nfunction $edcf132a9284368a$var$getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding, placementInfo) {\n  var placement = placementInfo.placement,\n    axis = placementInfo.axis,\n    size = placementInfo.size;\n  if (placement === axis) return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - boundaryDimensions.scroll[axis] + containerOffsetWithBoundary[axis] - margins[axis] - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);\n  return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - margins[axis] - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);\n}\nfunction $edcf132a9284368a$export$6839422d1f33cee9(placementInput, childOffset, overlaySize, scrollSize, margins, padding, flip, boundaryDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, userSetMaxHeight) {\n  var placementInfo = $edcf132a9284368a$var$parsePlacement(placementInput);\n  var _placementInfo = placementInfo,\n    size = _placementInfo.size,\n    crossAxis = _placementInfo.crossAxis,\n    crossSize = _placementInfo.crossSize,\n    placement = _placementInfo.placement,\n    crossPlacement = _placementInfo.crossPlacement;\n  var position = $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n  var normalizedOffset = offset;\n  var space = $edcf132a9284368a$var$getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, placementInfo);\n  if (flip && scrollSize[size] > space) {\n    var flippedPlacementInfo = $edcf132a9284368a$var$parsePlacement($edcf132a9284368a$var$FLIPPED_DIRECTION[placement] + \" \" + crossPlacement);\n    var flippedPosition = $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, flippedPlacementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n    var flippedSpace = $edcf132a9284368a$var$getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, flippedPlacementInfo);\n    if (flippedSpace > space) {\n      placementInfo = flippedPlacementInfo;\n      position = flippedPosition;\n      normalizedOffset = offset;\n    }\n  }\n  var delta = $edcf132a9284368a$var$getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n  position[crossAxis] += delta;\n  var maxHeight = $edcf132a9284368a$var$getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding);\n  if (userSetMaxHeight && userSetMaxHeight < maxHeight) maxHeight = userSetMaxHeight;\n  overlaySize.height = Math.min(overlaySize.height, maxHeight);\n  position = $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, normalizedOffset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n  delta = $edcf132a9284368a$var$getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n  position[crossAxis] += delta;\n  var arrowPosition = {};\n  arrowPosition[crossAxis] = childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;\n  return {\n    position: position,\n    maxHeight: maxHeight,\n    arrowOffsetLeft: arrowPosition.left,\n    arrowOffsetTop: arrowPosition.top,\n    placement: placementInfo.placement\n  };\n}\nfunction $edcf132a9284368a$export$b3ceb0cbf1056d98(opts) {\n  var placement = opts.placement,\n    targetNode = opts.targetNode,\n    overlayNode = opts.overlayNode,\n    scrollNode = opts.scrollNode,\n    padding = opts.padding,\n    shouldFlip = opts.shouldFlip,\n    boundaryElement = opts.boundaryElement,\n    offset = opts.offset,\n    crossOffset = opts.crossOffset,\n    maxHeight = opts.maxHeight;\n  var container = overlayNode instanceof HTMLElement && overlayNode.offsetParent || document.body;\n  var isBodyContainer = container.tagName === \"BODY\";\n  var containerPositionStyle = window.getComputedStyle(container).position;\n  var isContainerPositioned = !!containerPositionStyle && containerPositionStyle !== \"static\";\n  var childOffset = isBodyContainer ? $edcf132a9284368a$var$getOffset(targetNode) : $edcf132a9284368a$var$getPosition(targetNode, container);\n  if (!isBodyContainer) {\n    var _window$getComputedSt = window.getComputedStyle(targetNode),\n      marginTop = _window$getComputedSt.marginTop,\n      marginLeft = _window$getComputedSt.marginLeft;\n    childOffset.top += parseInt(marginTop, 10) || 0;\n    childOffset.left += parseInt(marginLeft, 10) || 0;\n  }\n  var overlaySize = $edcf132a9284368a$var$getOffset(overlayNode);\n  var margins = $edcf132a9284368a$var$getMargins(overlayNode);\n  overlaySize.width += margins.left + margins.right;\n  overlaySize.height += margins.top + margins.bottom;\n  var scrollSize = $edcf132a9284368a$var$getScroll(scrollNode);\n  var boundaryDimensions = $edcf132a9284368a$var$getContainerDimensions(boundaryElement);\n  var containerOffsetWithBoundary = boundaryElement.tagName === \"BODY\" ? $edcf132a9284368a$var$getOffset(container) : $edcf132a9284368a$var$getPosition(container, boundaryElement);\n  return $edcf132a9284368a$export$6839422d1f33cee9(placement, childOffset, overlaySize, scrollSize, margins, padding, shouldFlip, boundaryDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, maxHeight);\n}\nfunction $edcf132a9284368a$var$getOffset(node) {\n  var _node$getBoundingClie = node.getBoundingClientRect(),\n    top = _node$getBoundingClie.top,\n    left = _node$getBoundingClie.left,\n    width = _node$getBoundingClie.width,\n    height = _node$getBoundingClie.height;\n  var _document$documentEle = document.documentElement,\n    scrollTop = _document$documentEle.scrollTop,\n    scrollLeft = _document$documentEle.scrollLeft,\n    clientTop = _document$documentEle.clientTop,\n    clientLeft = _document$documentEle.clientLeft;\n  return {\n    top: top + scrollTop - clientTop,\n    left: left + scrollLeft - clientLeft,\n    width: width,\n    height: height\n  };\n}\nfunction $edcf132a9284368a$var$getPosition(node, parent) {\n  var style = window.getComputedStyle(node);\n  var offset;\n  if (style.position === \"fixed\") {\n    var _node$getBoundingClie2 = node.getBoundingClientRect(),\n      top = _node$getBoundingClie2.top,\n      left = _node$getBoundingClie2.left,\n      width = _node$getBoundingClie2.width,\n      height = _node$getBoundingClie2.height;\n    offset = {\n      top: top,\n      left: left,\n      width: width,\n      height: height\n    };\n  } else {\n    offset = $edcf132a9284368a$var$getOffset(node);\n    var parentOffset = $edcf132a9284368a$var$getOffset(parent);\n    var parentStyle = window.getComputedStyle(parent);\n    parentOffset.top += (parseInt(parentStyle.borderTopWidth, 10) || 0) - parent.scrollTop;\n    parentOffset.left += (parseInt(parentStyle.borderLeftWidth, 10) || 0) - parent.scrollLeft;\n    offset.top -= parentOffset.top;\n    offset.left -= parentOffset.left;\n  }\n  offset.top -= parseInt(style.marginTop, 10) || 0;\n  offset.left -= parseInt(style.marginLeft, 10) || 0;\n  return offset;\n}\nvar $dd149f63282afbbf$export$f6211563215e3b37 = new WeakMap();\nfunction $dd149f63282afbbf$export$18fc8428861184da(opts) {\n  var triggerRef = opts.triggerRef,\n    isOpen = opts.isOpen,\n    onClose = opts.onClose;\n  (0, $k7QOs$useEffect)(function () {\n    if (!isOpen || onClose === null) return;\n    var onScroll = function onScroll(e) {\n      var target = e.target;\n      if (!triggerRef.current || target instanceof Node && !target.contains(triggerRef.current)) return;\n      var onCloseHandler = onClose || $dd149f63282afbbf$export$f6211563215e3b37.get(triggerRef.current);\n      if (onCloseHandler) onCloseHandler();\n    };\n    window.addEventListener(\"scroll\", onScroll, true);\n    return function () {\n      window.removeEventListener(\"scroll\", onScroll, true);\n    };\n  }, [isOpen, onClose, triggerRef]);\n}\nvar $2a41e45df1593e64$var$visualViewport = typeof window !== \"undefined\" && window.visualViewport;\nfunction $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {\n  var _ref = (0, $k7QOs$useLocale)(),\n    direction = _ref.direction;\n  var targetRef = props.targetRef,\n    overlayRef = props.overlayRef,\n    _props$scrollRef = props.scrollRef,\n    scrollRef = _props$scrollRef === void 0 ? overlayRef : _props$scrollRef,\n    _props$placement = props.placement,\n    placement = _props$placement === void 0 ? \"bottom\" : _props$placement,\n    _props$containerPaddi = props.containerPadding,\n    containerPadding = _props$containerPaddi === void 0 ? 12 : _props$containerPaddi,\n    _props$shouldFlip = props.shouldFlip,\n    shouldFlip = _props$shouldFlip === void 0 ? true : _props$shouldFlip,\n    _props$boundaryElemen = props.boundaryElement,\n    boundaryElement = _props$boundaryElemen === void 0 ? typeof document !== \"undefined\" ? document.body : null : _props$boundaryElemen,\n    _props$offset = props.offset,\n    offset = _props$offset === void 0 ? 0 : _props$offset,\n    _props$crossOffset = props.crossOffset,\n    crossOffset = _props$crossOffset === void 0 ? 0 : _props$crossOffset,\n    _props$shouldUpdatePo = props.shouldUpdatePosition,\n    shouldUpdatePosition = _props$shouldUpdatePo === void 0 ? true : _props$shouldUpdatePo,\n    _props$isOpen = props.isOpen,\n    isOpen = _props$isOpen === void 0 ? true : _props$isOpen,\n    onClose = props.onClose,\n    maxHeight = props.maxHeight;\n  var _ref2 = (0, $k7QOs$useState)({\n      position: {},\n      arrowOffsetLeft: undefined,\n      arrowOffsetTop: undefined,\n      maxHeight: undefined,\n      placement: undefined\n    }),\n    _ref3 = _slicedToArray(_ref2, 2),\n    position = _ref3[0],\n    setPosition = _ref3[1];\n  var deps = [shouldUpdatePosition, placement, overlayRef.current, targetRef.current, scrollRef.current, containerPadding, shouldFlip, boundaryElement, offset, crossOffset, isOpen, direction, maxHeight];\n  var updatePosition = (0, $k7QOs$useCallback)(function () {\n    if (shouldUpdatePosition === false || !isOpen || !overlayRef.current || !targetRef.current || !scrollRef.current || !boundaryElement) return;\n    var position = (0, $edcf132a9284368a$export$b3ceb0cbf1056d98)({\n      placement: $2a41e45df1593e64$var$translateRTL(placement, direction),\n      overlayNode: overlayRef.current,\n      targetNode: targetRef.current,\n      scrollNode: scrollRef.current,\n      padding: containerPadding,\n      shouldFlip: shouldFlip,\n      boundaryElement: boundaryElement,\n      offset: offset,\n      crossOffset: crossOffset,\n      maxHeight: maxHeight\n    });\n    Object.keys(position.position).forEach(function (key) {\n      return overlayRef.current.style[key] = position.position[key] + \"px\";\n    });\n    overlayRef.current.style.maxHeight = position.maxHeight != null ? position.maxHeight + \"px\" : undefined;\n    setPosition(position);\n  }, deps);\n  (0, $k7QOs$useLayoutEffect)(updatePosition, deps);\n  $2a41e45df1593e64$var$useResize(updatePosition);\n  (0, $k7QOs$useResizeObserver)({\n    ref: overlayRef,\n    onResize: updatePosition\n  });\n  var isResizing = (0, $k7QOs$useRef)(false);\n  (0, $k7QOs$useLayoutEffect)(function () {\n    var timeout;\n    var onResize = function onResize() {\n      isResizing.current = true;\n      clearTimeout(timeout);\n      timeout = setTimeout(function () {\n        isResizing.current = false;\n      }, 500);\n      updatePosition();\n    };\n    $2a41e45df1593e64$var$visualViewport === null || $2a41e45df1593e64$var$visualViewport === void 0 ? void 0 : $2a41e45df1593e64$var$visualViewport.addEventListener(\"resize\", onResize);\n    return function () {\n      $2a41e45df1593e64$var$visualViewport === null || $2a41e45df1593e64$var$visualViewport === void 0 ? void 0 : $2a41e45df1593e64$var$visualViewport.removeEventListener(\"resize\", onResize);\n    };\n  }, [updatePosition]);\n  var close = (0, $k7QOs$useCallback)(function () {\n    if (!isResizing.current) onClose();\n  }, [onClose, isResizing]);\n  (0, $dd149f63282afbbf$export$18fc8428861184da)({\n    triggerRef: targetRef,\n    isOpen: isOpen,\n    onClose: onClose && close\n  });\n  return {\n    overlayProps: {\n      style: _objectSpread(_objectSpread({\n        position: \"absolute\",\n        zIndex: 100000\n      }, position.position), {}, {\n        maxHeight: position.maxHeight\n      })\n    },\n    placement: position.placement,\n    arrowProps: {\n      style: {\n        left: position.arrowOffsetLeft,\n        top: position.arrowOffsetTop\n      }\n    },\n    updatePosition: updatePosition\n  };\n}\nfunction $2a41e45df1593e64$var$useResize(onResize) {\n  (0, $k7QOs$useLayoutEffect)(function () {\n    window.addEventListener(\"resize\", onResize, false);\n    return function () {\n      window.removeEventListener(\"resize\", onResize, false);\n    };\n  }, [onResize]);\n}\nfunction $2a41e45df1593e64$var$translateRTL(position, direction) {\n  if (direction === \"rtl\") return position.replace(\"start\", \"right\").replace(\"end\", \"left\");\n  return position.replace(\"start\", \"left\").replace(\"end\", \"right\");\n}\nvar $a11501f3d1d39e6c$var$visibleOverlays = [];\nfunction $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {\n  var onClose = props.onClose,\n    shouldCloseOnBlur = props.shouldCloseOnBlur,\n    isOpen = props.isOpen,\n    _props$isDismissable = props.isDismissable,\n    isDismissable = _props$isDismissable === void 0 ? false : _props$isDismissable,\n    _props$isKeyboardDism = props.isKeyboardDismissDisabled,\n    isKeyboardDismissDisabled = _props$isKeyboardDism === void 0 ? false : _props$isKeyboardDism,\n    shouldCloseOnInteractOutside = props.shouldCloseOnInteractOutside;\n  (0, $k7QOs$useEffect)(function () {\n    if (isOpen) $a11501f3d1d39e6c$var$visibleOverlays.push(ref);\n    return function () {\n      var index = $a11501f3d1d39e6c$var$visibleOverlays.indexOf(ref);\n      if (index >= 0) $a11501f3d1d39e6c$var$visibleOverlays.splice(index, 1);\n    };\n  }, [isOpen, ref]);\n  var onHide = function onHide() {\n    if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref && onClose) onClose();\n  };\n  var onInteractOutsideStart = function onInteractOutsideStart(e) {\n    if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {\n      if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    }\n  };\n  var onInteractOutside = function onInteractOutside(e) {\n    if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {\n      if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n      onHide();\n    }\n  };\n  var onKeyDown = function onKeyDown(e) {\n    if (e.key === \"Escape\" && !isKeyboardDismissDisabled) {\n      e.stopPropagation();\n      e.preventDefault();\n      onHide();\n    }\n  };\n  (0, $k7QOs$useInteractOutside)({\n    ref: ref,\n    onInteractOutside: isDismissable ? onInteractOutside : null,\n    onInteractOutsideStart: onInteractOutsideStart\n  });\n  var _ref4 = (0, $k7QOs$useFocusWithin)({\n      isDisabled: !shouldCloseOnBlur,\n      onBlurWithin: function onBlurWithin(e) {\n        if (e.relatedTarget && (0, $k7QOs$isElementInChildOfActiveScope)(e.relatedTarget)) return;\n        if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose();\n      }\n    }),\n    focusWithinProps = _ref4.focusWithinProps;\n  var onPointerDownUnderlay = function onPointerDownUnderlay(e) {\n    if (e.target === e.currentTarget) e.preventDefault();\n  };\n  return {\n    overlayProps: _objectSpread({\n      onKeyDown: onKeyDown\n    }, focusWithinProps),\n    underlayProps: {\n      onPointerDown: onPointerDownUnderlay\n    }\n  };\n}\nfunction $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {\n  var type = props.type;\n  var isOpen = state.isOpen;\n  (0, $k7QOs$useEffect)(function () {\n    if (ref && ref.current) (0, $dd149f63282afbbf$export$f6211563215e3b37).set(ref.current, state.close);\n  });\n  var ariaHasPopup = undefined;\n  if (type === \"menu\") ariaHasPopup = true;else if (type === \"listbox\") ariaHasPopup = \"listbox\";\n  var overlayId = (0, $k7QOs$useId)();\n  return {\n    triggerProps: {\n      \"aria-haspopup\": ariaHasPopup,\n      \"aria-expanded\": isOpen,\n      \"aria-controls\": isOpen ? overlayId : null,\n      onPress: state.toggle\n    },\n    overlayProps: {\n      id: overlayId\n    }\n  };\n}\nvar $49c51c25361d4cd2$var$visualViewport = typeof window !== \"undefined\" && window.visualViewport;\nvar $49c51c25361d4cd2$var$nonTextInputTypes = new Set([\"checkbox\", \"radio\", \"range\", \"color\", \"file\", \"image\", \"button\", \"submit\", \"reset\"]);\nvar $49c51c25361d4cd2$var$preventScrollCount = 0;\nvar $49c51c25361d4cd2$var$restore;\nfunction $49c51c25361d4cd2$export$ee0f7cc6afcd1c18() {\n  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var isDisabled = options.isDisabled;\n  (0, $k7QOs$useLayoutEffect)(function () {\n    if (isDisabled) return;\n    $49c51c25361d4cd2$var$preventScrollCount++;\n    if ($49c51c25361d4cd2$var$preventScrollCount === 1) {\n      if ((0, $k7QOs$isIOS)()) $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollMobileSafari();else $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollStandard();\n    }\n    return function () {\n      $49c51c25361d4cd2$var$preventScrollCount--;\n      if ($49c51c25361d4cd2$var$preventScrollCount === 0) $49c51c25361d4cd2$var$restore();\n    };\n  }, [isDisabled]);\n}\nfunction $49c51c25361d4cd2$var$preventScrollStandard() {\n  return (0, $k7QOs$chain)($49c51c25361d4cd2$var$setStyle(document.documentElement, \"paddingRight\", window.innerWidth - document.documentElement.clientWidth + \"px\"), $49c51c25361d4cd2$var$setStyle(document.documentElement, \"overflow\", \"hidden\"));\n}\nfunction $49c51c25361d4cd2$var$preventScrollMobileSafari() {\n  var scrollable;\n  var lastY = 0;\n  var onTouchStart = function onTouchStart(e) {\n    scrollable = (0, $k7QOs$getScrollParent)(e.target);\n    if (scrollable === document.documentElement && scrollable === document.body) return;\n    lastY = e.changedTouches[0].pageY;\n  };\n  var onTouchMove = function onTouchMove(e) {\n    if (scrollable === document.documentElement || scrollable === document.body) {\n      e.preventDefault();\n      return;\n    }\n    var y = e.changedTouches[0].pageY;\n    var scrollTop = scrollable.scrollTop;\n    var bottom = scrollable.scrollHeight - scrollable.clientHeight;\n    if (scrollTop <= 0 && y > lastY || scrollTop >= bottom && y < lastY) e.preventDefault();\n    lastY = y;\n  };\n  var onTouchEnd = function onTouchEnd(e) {\n    var target = e.target;\n    if ($49c51c25361d4cd2$var$willOpenKeyboard(target) && target !== document.activeElement) {\n      e.preventDefault();\n      target.style.transform = \"translateY(-2000px)\";\n      target.focus();\n      requestAnimationFrame(function () {\n        target.style.transform = \"\";\n      });\n    }\n  };\n  var onFocus = function onFocus(e) {\n    var target = e.target;\n    if ($49c51c25361d4cd2$var$willOpenKeyboard(target)) {\n      target.style.transform = \"translateY(-2000px)\";\n      requestAnimationFrame(function () {\n        target.style.transform = \"\";\n        if ($49c51c25361d4cd2$var$visualViewport) {\n          if ($49c51c25361d4cd2$var$visualViewport.height < window.innerHeight) requestAnimationFrame(function () {\n              $49c51c25361d4cd2$var$scrollIntoView(target);\n            });else $49c51c25361d4cd2$var$visualViewport.addEventListener(\"resize\", function () {\n              return $49c51c25361d4cd2$var$scrollIntoView(target);\n            }, {\n              once: true\n            });\n        }\n      });\n    }\n  };\n  var onWindowScroll = function onWindowScroll() {\n    window.scrollTo(0, 0);\n  };\n  var scrollX = window.pageXOffset;\n  var scrollY = window.pageYOffset;\n  var restoreStyles = (0, $k7QOs$chain)($49c51c25361d4cd2$var$setStyle(document.documentElement, \"paddingRight\", window.innerWidth - document.documentElement.clientWidth + \"px\"), $49c51c25361d4cd2$var$setStyle(document.documentElement, \"overflow\", \"hidden\"), $49c51c25361d4cd2$var$setStyle(document.body, \"marginTop\", \"-\" + scrollY + \"px\"));\n  window.scrollTo(0, 0);\n  var removeEvents = (0, $k7QOs$chain)($49c51c25361d4cd2$var$addEvent(document, \"touchstart\", onTouchStart, {\n    passive: false,\n    capture: true\n  }), $49c51c25361d4cd2$var$addEvent(document, \"touchmove\", onTouchMove, {\n    passive: false,\n    capture: true\n  }), $49c51c25361d4cd2$var$addEvent(document, \"touchend\", onTouchEnd, {\n    passive: false,\n    capture: true\n  }), $49c51c25361d4cd2$var$addEvent(document, \"focus\", onFocus, true), $49c51c25361d4cd2$var$addEvent(window, \"scroll\", onWindowScroll));\n  return function () {\n    restoreStyles();\n    removeEvents();\n    window.scrollTo(scrollX, scrollY);\n  };\n}\nfunction $49c51c25361d4cd2$var$setStyle(element, style, value) {\n  var cur = element.style[style];\n  element.style[style] = value;\n  return function () {\n    element.style[style] = cur;\n  };\n}\nfunction $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {\n  target.addEventListener(event, handler, options);\n  return function () {\n    target.removeEventListener(event, handler, options);\n  };\n}\nfunction $49c51c25361d4cd2$var$scrollIntoView(target) {\n  var root = document.scrollingElement || document.documentElement;\n  while (target && target !== root) {\n    var scrollable = (0, $k7QOs$getScrollParent)(target);\n    if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {\n      var scrollableTop = scrollable.getBoundingClientRect().top;\n      var targetTop = target.getBoundingClientRect().top;\n      if (targetTop > scrollableTop + target.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;\n    }\n    target = scrollable.parentElement;\n  }\n}\nfunction $49c51c25361d4cd2$var$willOpenKeyboard(target) {\n  return target instanceof HTMLInputElement && !$49c51c25361d4cd2$var$nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;\n}\nvar $f57aed4a881a3485$var$Context = (0, $k7QOs$react).createContext(null);\nfunction $f57aed4a881a3485$export$178405afcd8c5eb(props) {\n  var children = props.children;\n  var parent = (0, $k7QOs$useContext)($f57aed4a881a3485$var$Context);\n  var _ref5 = (0, $k7QOs$useState)(0),\n    _ref6 = _slicedToArray(_ref5, 2),\n    modalCount = _ref6[0],\n    setModalCount = _ref6[1];\n  var context = (0, $k7QOs$useMemo)(function () {\n    return {\n      parent: parent,\n      modalCount: modalCount,\n      addModal: function addModal() {\n        setModalCount(function (count) {\n          return count + 1;\n        });\n        if (parent) parent.addModal();\n      },\n      removeModal: function removeModal() {\n        setModalCount(function (count) {\n          return count - 1;\n        });\n        if (parent) parent.removeModal();\n      }\n    };\n  }, [parent, modalCount]);\n  return (0, $k7QOs$react).createElement($f57aed4a881a3485$var$Context.Provider, {\n    value: context\n  }, children);\n}\nfunction $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {\n  var context = (0, $k7QOs$useContext)($f57aed4a881a3485$var$Context);\n  return {\n    modalProviderProps: {\n      \"aria-hidden\": context && context.modalCount > 0 ? true : null\n    }\n  };\n}\nfunction $f57aed4a881a3485$var$OverlayContainerDOM(props) {\n  var _$f57aed4a881a3485$ex = $f57aed4a881a3485$export$d9aaed4c3ece1bc0(),\n    modalProviderProps = _$f57aed4a881a3485$ex.modalProviderProps;\n  return (0, $k7QOs$react).createElement(\"div\", _objectSpread(_objectSpread({\n    \"data-overlay-container\": true\n  }, props), modalProviderProps));\n}\nfunction $f57aed4a881a3485$export$bf688221f59024e5(props) {\n  return (0, $k7QOs$react).createElement($f57aed4a881a3485$export$178405afcd8c5eb, null, (0, $k7QOs$react).createElement($f57aed4a881a3485$var$OverlayContainerDOM, props));\n}\nfunction $f57aed4a881a3485$export$b47c3594eab58386(props) {\n  var isSSR = (0, $k7QOs$useIsSSR)();\n  var _props$portalContaine = props.portalContainer,\n    portalContainer = _props$portalContaine === void 0 ? isSSR ? null : document.body : _props$portalContaine,\n    rest = _objectWithoutProperties(props, _excluded);\n  (0, $k7QOs$react).useEffect(function () {\n    if (portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.closest(\"[data-overlay-container]\")) throw new Error(\"An OverlayContainer must not be inside another container. Please change the portalContainer prop.\");\n  }, [portalContainer]);\n  if (!portalContainer) return null;\n  var contents = (0, $k7QOs$react).createElement($f57aed4a881a3485$export$bf688221f59024e5, rest);\n  return (0, $k7QOs$reactdom).createPortal(contents, portalContainer);\n}\nfunction $f57aed4a881a3485$export$33ffd74ebf07f060(options) {\n  var context = (0, $k7QOs$useContext)($f57aed4a881a3485$var$Context);\n  if (!context) throw new Error(\"Modal is not contained within a provider\");\n  (0, $k7QOs$useEffect)(function () {\n    if ((options === null || options === void 0 ? void 0 : options.isDisabled) || !context || !context.parent) return;\n    context.parent.addModal();\n    return function () {\n      if (context && context.parent) context.parent.removeModal();\n    };\n  }, [context, context.parent, options === null || options === void 0 ? void 0 : options.isDisabled]);\n  return {\n    modalProps: {\n      \"data-ismodal\": !(options === null || options === void 0 ? void 0 : options.isDisabled)\n    }\n  };\n}\nvar $61fe14465afefc5e$exports = {};\nvar $773d5888b972f1cf$exports = {};\n$773d5888b972f1cf$exports = {\n  \"dismiss\": \"\\u062A\\u062C\\u0627\\u0647\\u0644\"\n};\nvar $d11f19852b941573$exports = {};\n$d11f19852b941573$exports = {\n  \"dismiss\": \"\\u041E\\u0442\\u0445\\u0432\\u044A\\u0440\\u043B\\u044F\\u043D\\u0435\"\n};\nvar $b983974c2ee1efb3$exports = {};\n$b983974c2ee1efb3$exports = {\n  \"dismiss\": \"Odstranit\"\n};\nvar $5809cc9d4e92de73$exports = {};\n$5809cc9d4e92de73$exports = {\n  \"dismiss\": \"Luk\"\n};\nvar $c68c2e4fc74398d1$exports = {};\n$c68c2e4fc74398d1$exports = {\n  \"dismiss\": \"Schlie\\xDFen\"\n};\nvar $0898b4c153db2b77$exports = {};\n$0898b4c153db2b77$exports = {\n  \"dismiss\": \"\\u0391\\u03C0\\u03CC\\u03C1\\u03C1\\u03B9\\u03C8\\u03B7\"\n};\nvar $6d74810286a15183$exports = {};\n$6d74810286a15183$exports = {\n  \"dismiss\": \"Dismiss\"\n};\nvar $309d73dc65f78055$exports = {};\n$309d73dc65f78055$exports = {\n  \"dismiss\": \"Descartar\"\n};\nvar $44ad94f7205cf593$exports = {};\n$44ad94f7205cf593$exports = {\n  \"dismiss\": \"L\\xF5peta\"\n};\nvar $7c28f5687f0779a9$exports = {};\n$7c28f5687f0779a9$exports = {\n  \"dismiss\": \"Hylk\\xE4\\xE4\"\n};\nvar $e6d75df4b68bd73a$exports = {};\n$e6d75df4b68bd73a$exports = {\n  \"dismiss\": \"Rejeter\"\n};\nvar $87505c9dab186d0f$exports = {};\n$87505c9dab186d0f$exports = {\n  \"dismiss\": \"\\u05D4\\u05EA\\u05E2\\u05DC\\u05DD\"\n};\nvar $553439c3ffb3e492$exports = {};\n$553439c3ffb3e492$exports = {\n  \"dismiss\": \"Odbaci\"\n};\nvar $74cf411061b983a2$exports = {};\n$74cf411061b983a2$exports = {\n  \"dismiss\": \"Elutas\\xEDt\\xE1s\"\n};\nvar $e933f298574dc435$exports = {};\n$e933f298574dc435$exports = {\n  \"dismiss\": \"Ignora\"\n};\nvar $ac91fc9fe02f71f6$exports = {};\n$ac91fc9fe02f71f6$exports = {\n  \"dismiss\": \"\\u9589\\u3058\\u308B\"\n};\nvar $52b96f86422025af$exports = {};\n$52b96f86422025af$exports = {\n  \"dismiss\": \"\\uBB34\\uC2DC\"\n};\nvar $c0d724c3e51dafa6$exports = {};\n$c0d724c3e51dafa6$exports = {\n  \"dismiss\": \"Atmesti\"\n};\nvar $c92899672a3fe72e$exports = {};\n$c92899672a3fe72e$exports = {\n  \"dismiss\": \"Ner\\u0101d\\u012Bt\"\n};\nvar $9f576b39d8e7a9d6$exports = {};\n$9f576b39d8e7a9d6$exports = {\n  \"dismiss\": \"Lukk\"\n};\nvar $9d025808aeec81a7$exports = {};\n$9d025808aeec81a7$exports = {\n  \"dismiss\": \"Negeren\"\n};\nvar $fce709921e2c0fa6$exports = {};\n$fce709921e2c0fa6$exports = {\n  \"dismiss\": \"Zignoruj\"\n};\nvar $2599cf0c4ab37f59$exports = {};\n$2599cf0c4ab37f59$exports = {\n  \"dismiss\": \"Descartar\"\n};\nvar $3c220ae7ef8a35fd$exports = {};\n$3c220ae7ef8a35fd$exports = {\n  \"dismiss\": \"Dispensar\"\n};\nvar $93562b5094072f54$exports = {};\n$93562b5094072f54$exports = {\n  \"dismiss\": \"Revocare\"\n};\nvar $cd9e2abd0d06c7b4$exports = {};\n$cd9e2abd0d06c7b4$exports = {\n  \"dismiss\": \"\\u041F\\u0440\\u043E\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C\"\n};\nvar $45375701f409adf1$exports = {};\n$45375701f409adf1$exports = {\n  \"dismiss\": \"Zru\\u0161i\\u0165\"\n};\nvar $27fab53a576de9dd$exports = {};\n$27fab53a576de9dd$exports = {\n  \"dismiss\": \"Opusti\"\n};\nvar $4438748d9952e7c7$exports = {};\n$4438748d9952e7c7$exports = {\n  \"dismiss\": \"Odbaci\"\n};\nvar $0936d7347ef4da4c$exports = {};\n$0936d7347ef4da4c$exports = {\n  \"dismiss\": \"Avvisa\"\n};\nvar $29700c92185d38f8$exports = {};\n$29700c92185d38f8$exports = {\n  \"dismiss\": \"Kapat\"\n};\nvar $662ccaf2be4c25b3$exports = {};\n$662ccaf2be4c25b3$exports = {\n  \"dismiss\": \"\\u0421\\u043A\\u0430\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438\"\n};\nvar $d80a27deda7cdb3c$exports = {};\n$d80a27deda7cdb3c$exports = {\n  \"dismiss\": \"\\u53D6\\u6D88\"\n};\nvar $2b2734393847c884$exports = {};\n$2b2734393847c884$exports = {\n  \"dismiss\": \"\\u95DC\\u9589\"\n};\n$61fe14465afefc5e$exports = {\n  \"ar-AE\": $773d5888b972f1cf$exports,\n  \"bg-BG\": $d11f19852b941573$exports,\n  \"cs-CZ\": $b983974c2ee1efb3$exports,\n  \"da-DK\": $5809cc9d4e92de73$exports,\n  \"de-DE\": $c68c2e4fc74398d1$exports,\n  \"el-GR\": $0898b4c153db2b77$exports,\n  \"en-US\": $6d74810286a15183$exports,\n  \"es-ES\": $309d73dc65f78055$exports,\n  \"et-EE\": $44ad94f7205cf593$exports,\n  \"fi-FI\": $7c28f5687f0779a9$exports,\n  \"fr-FR\": $e6d75df4b68bd73a$exports,\n  \"he-IL\": $87505c9dab186d0f$exports,\n  \"hr-HR\": $553439c3ffb3e492$exports,\n  \"hu-HU\": $74cf411061b983a2$exports,\n  \"it-IT\": $e933f298574dc435$exports,\n  \"ja-JP\": $ac91fc9fe02f71f6$exports,\n  \"ko-KR\": $52b96f86422025af$exports,\n  \"lt-LT\": $c0d724c3e51dafa6$exports,\n  \"lv-LV\": $c92899672a3fe72e$exports,\n  \"nb-NO\": $9f576b39d8e7a9d6$exports,\n  \"nl-NL\": $9d025808aeec81a7$exports,\n  \"pl-PL\": $fce709921e2c0fa6$exports,\n  \"pt-BR\": $2599cf0c4ab37f59$exports,\n  \"pt-PT\": $3c220ae7ef8a35fd$exports,\n  \"ro-RO\": $93562b5094072f54$exports,\n  \"ru-RU\": $cd9e2abd0d06c7b4$exports,\n  \"sk-SK\": $45375701f409adf1$exports,\n  \"sl-SI\": $27fab53a576de9dd$exports,\n  \"sr-SP\": $4438748d9952e7c7$exports,\n  \"sv-SE\": $0936d7347ef4da4c$exports,\n  \"tr-TR\": $29700c92185d38f8$exports,\n  \"uk-UA\": $662ccaf2be4c25b3$exports,\n  \"zh-CN\": $d80a27deda7cdb3c$exports,\n  \"zh-TW\": $2b2734393847c884$exports\n};\nfunction $86ea4cb521eb2e37$export$2317d149ed6f78c4(props) {\n  var onDismiss = props.onDismiss,\n    otherProps = _objectWithoutProperties(props, _excluded2);\n  var stringFormatter = (0, $k7QOs$useLocalizedStringFormatter)((0, $parcel$interopDefault($61fe14465afefc5e$exports)));\n  var labels = (0, $k7QOs$useLabels)(otherProps, stringFormatter.format(\"dismiss\"));\n  var onClick = function onClick() {\n    if (onDismiss) onDismiss();\n  };\n  return (0, $k7QOs$react).createElement((0, $k7QOs$VisuallyHidden), null, (0, $k7QOs$react).createElement(\"button\", _objectSpread(_objectSpread({}, labels), {}, {\n    tabIndex: -1,\n    onClick: onClick\n  })));\n}\nvar $5e3802645cc19319$var$refCountMap = new WeakMap();\nvar $5e3802645cc19319$var$observerStack = [];\nfunction $5e3802645cc19319$export$1c3ebcada18427bf(targets) {\n  var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n  var visibleNodes = new Set(targets);\n  var hiddenNodes = new Set();\n  var walk = function walk(root) {\n    for (var element of root.querySelectorAll(\"[data-live-announcer], [data-react-aria-top-layer]\")) visibleNodes.add(element);\n    var acceptNode = function acceptNode(node) {\n      if (visibleNodes.has(node) || hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute(\"role\") !== \"row\") return NodeFilter.FILTER_REJECT;\n      for (var target of visibleNodes) {\n        if (node.contains(target)) return NodeFilter.FILTER_SKIP;\n      }\n      return NodeFilter.FILTER_ACCEPT;\n    };\n    var walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n      acceptNode: acceptNode\n    });\n    var acceptRoot = acceptNode(root);\n    if (acceptRoot === NodeFilter.FILTER_ACCEPT) hide(root);\n    if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n      var node = walker.nextNode();\n      while (node != null) {\n        hide(node);\n        node = walker.nextNode();\n      }\n    }\n  };\n  var hide = function hide(node) {\n    var _refCountMap_get;\n    var refCount = (_refCountMap_get = $5e3802645cc19319$var$refCountMap.get(node)) !== null && _refCountMap_get !== void 0 ? _refCountMap_get : 0;\n    if (node.getAttribute(\"aria-hidden\") === \"true\" && refCount === 0) return;\n    if (refCount === 0) node.setAttribute(\"aria-hidden\", \"true\");\n    hiddenNodes.add(node);\n    $5e3802645cc19319$var$refCountMap.set(node, refCount + 1);\n  };\n  if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].disconnect();\n  walk(root);\n  var observer = new MutationObserver(function (changes) {\n    var _loop = function _loop(change) {\n      if (change.type !== \"childList\" || change.addedNodes.length === 0) return \"continue\";\n      if (![].concat(_toConsumableArray(visibleNodes), _toConsumableArray(hiddenNodes)).some(function (node) {\n        return node.contains(change.target);\n      })) {\n        for (var node of change.removedNodes) if (node instanceof Element) {\n          visibleNodes.delete(node);\n          hiddenNodes.delete(node);\n        }\n        for (var node1 of change.addedNodes) {\n          if ((node1 instanceof HTMLElement || node1 instanceof SVGElement) && (node1.dataset.liveAnnouncer === \"true\" || node1.dataset.reactAriaTopLayer === \"true\")) visibleNodes.add(node1);else if (node1 instanceof Element) walk(node1);\n        }\n      }\n    };\n    for (var change of changes) {\n      var _ret = _loop(change);\n      if (_ret === \"continue\") continue;\n    }\n  });\n  observer.observe(root, {\n    childList: true,\n    subtree: true\n  });\n  var observerWrapper = {\n    observe: function observe() {\n      observer.observe(root, {\n        childList: true,\n        subtree: true\n      });\n    },\n    disconnect: function disconnect() {\n      observer.disconnect();\n    }\n  };\n  $5e3802645cc19319$var$observerStack.push(observerWrapper);\n  return function () {\n    observer.disconnect();\n    for (var node of hiddenNodes) {\n      var count = $5e3802645cc19319$var$refCountMap.get(node);\n      if (count === 1) {\n        node.removeAttribute(\"aria-hidden\");\n        $5e3802645cc19319$var$refCountMap.delete(node);\n      } else $5e3802645cc19319$var$refCountMap.set(node, count - 1);\n    }\n    if (observerWrapper === $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1]) {\n      $5e3802645cc19319$var$observerStack.pop();\n      if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].observe();\n    } else $5e3802645cc19319$var$observerStack.splice($5e3802645cc19319$var$observerStack.indexOf(observerWrapper), 1);\n  };\n}\nfunction $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {\n  var triggerRef = props.triggerRef,\n    popoverRef = props.popoverRef,\n    isNonModal = props.isNonModal,\n    isKeyboardDismissDisabled = props.isKeyboardDismissDisabled,\n    otherProps = _objectWithoutProperties(props, _excluded3);\n  var _ref7 = (0, $a11501f3d1d39e6c$export$ea8f71083e90600f)({\n      isOpen: state.isOpen,\n      onClose: state.close,\n      shouldCloseOnBlur: true,\n      isDismissable: !isNonModal,\n      isKeyboardDismissDisabled: isKeyboardDismissDisabled\n    }, popoverRef),\n    overlayProps = _ref7.overlayProps,\n    underlayProps = _ref7.underlayProps;\n  var _ref8 = (0, $2a41e45df1593e64$export$d39e1813b3bdd0e1)(_objectSpread(_objectSpread({}, otherProps), {}, {\n      targetRef: triggerRef,\n      overlayRef: popoverRef,\n      isOpen: state.isOpen,\n      onClose: null\n    })),\n    positionProps = _ref8.overlayProps,\n    arrowProps = _ref8.arrowProps,\n    placement = _ref8.placement;\n  (0, $49c51c25361d4cd2$export$ee0f7cc6afcd1c18)({\n    isDisabled: isNonModal\n  });\n  (0, $k7QOs$useLayoutEffect)(function () {\n    if (state.isOpen && !isNonModal && popoverRef.current) return (0, $5e3802645cc19319$export$1c3ebcada18427bf)([popoverRef.current]);\n  }, [isNonModal, state.isOpen, popoverRef]);\n  return {\n    popoverProps: (0, $k7QOs$mergeProps)(overlayProps, positionProps),\n    arrowProps: arrowProps,\n    underlayProps: underlayProps,\n    placement: placement\n  };\n}\nvar $337b884510726a0d$export$a2200b96afd16271 = (0, $k7QOs$react).createContext(null);\nfunction $337b884510726a0d$export$c6fdb837b070b4ff(props) {\n  var isSSR = (0, $k7QOs$useIsSSR)();\n  var _props$portalContaine2 = props.portalContainer,\n    portalContainer = _props$portalContaine2 === void 0 ? isSSR ? null : document.body : _props$portalContaine2;\n  var _ref9 = (0, $k7QOs$useState)(false),\n    _ref10 = _slicedToArray(_ref9, 2),\n    contain = _ref10[0],\n    setContain = _ref10[1];\n  var contextValue = (0, $k7QOs$useMemo)(function () {\n    return {\n      contain: contain,\n      setContain: setContain\n    };\n  }, [contain, setContain]);\n  if (!portalContainer) return null;\n  var contents = (0, $k7QOs$react).createElement($337b884510726a0d$export$a2200b96afd16271.Provider, {\n    value: contextValue\n  }, (0, $k7QOs$react).createElement((0, $k7QOs$FocusScope), {\n    restoreFocus: true,\n    contain: contain\n  }, props.children));\n  return (0, $k7QOs$reactdom).createPortal(contents, portalContainer);\n}\nfunction $337b884510726a0d$export$14c98a7594375490() {\n  var ctx = (0, $k7QOs$useContext)($337b884510726a0d$export$a2200b96afd16271);\n  var setContain = ctx === null || ctx === void 0 ? void 0 : ctx.setContain;\n  (0, $k7QOs$useLayoutEffect)(function () {\n    setContain === null || setContain === void 0 ? void 0 : setContain(true);\n  }, [setContain]);\n}\nfunction $8ac8429251c45e4b$export$dbc0f175b25fb0fb(props, state, ref) {\n  var _ref11 = (0, $a11501f3d1d39e6c$export$ea8f71083e90600f)(_objectSpread(_objectSpread({}, props), {}, {\n      isOpen: state.isOpen,\n      onClose: state.close\n    }), ref),\n    overlayProps = _ref11.overlayProps,\n    underlayProps = _ref11.underlayProps;\n  (0, $49c51c25361d4cd2$export$ee0f7cc6afcd1c18)({\n    isDisabled: !state.isOpen\n  });\n  (0, $337b884510726a0d$export$14c98a7594375490)();\n  (0, $k7QOs$useEffect)(function () {\n    if (state.isOpen) return (0, $5e3802645cc19319$export$1c3ebcada18427bf)([ref.current]);\n  }, [state.isOpen, ref]);\n  return {\n    modalProps: (0, $k7QOs$mergeProps)(overlayProps),\n    underlayProps: underlayProps\n  };\n}\nexport { $2a41e45df1593e64$export$d39e1813b3bdd0e1 as useOverlayPosition, $a11501f3d1d39e6c$export$ea8f71083e90600f as useOverlay, $628037886ba31236$export$f9d5c8beee7d008d as useOverlayTrigger, $49c51c25361d4cd2$export$ee0f7cc6afcd1c18 as usePreventScroll, $f57aed4a881a3485$export$178405afcd8c5eb as ModalProvider, $f57aed4a881a3485$export$d9aaed4c3ece1bc0 as useModalProvider, $f57aed4a881a3485$export$bf688221f59024e5 as OverlayProvider, $f57aed4a881a3485$export$b47c3594eab58386 as OverlayContainer, $f57aed4a881a3485$export$33ffd74ebf07f060 as useModal, $86ea4cb521eb2e37$export$2317d149ed6f78c4 as DismissButton, $5e3802645cc19319$export$1c3ebcada18427bf as ariaHideOutside, $f2f8a6077418541e$export$542a6fd13ac93354 as usePopover, $8ac8429251c45e4b$export$dbc0f175b25fb0fb as useModalOverlay, $337b884510726a0d$export$c6fdb837b070b4ff as Overlay, $337b884510726a0d$export$14c98a7594375490 as useOverlayFocusContain };","map":{"version":3,"sources":["packages/@react-aria/overlays/src/useOverlayPosition.ts","packages/@react-aria/overlays/src/calculatePosition.ts","packages/@react-aria/overlays/src/useCloseOnScroll.ts","packages/@react-aria/overlays/src/useOverlay.ts","packages/@react-aria/overlays/src/useOverlayTrigger.ts","packages/@react-aria/overlays/src/usePreventScroll.ts","packages/@react-aria/overlays/src/useModal.tsx","packages/@react-aria/overlays/src/DismissButton.tsx","packages/@react-aria/overlays/intl/*.js","packages/@react-aria/overlays/intl/ar-AE.json","packages/@react-aria/overlays/intl/bg-BG.json","packages/@react-aria/overlays/intl/cs-CZ.json","packages/@react-aria/overlays/intl/da-DK.json","packages/@react-aria/overlays/intl/de-DE.json","packages/@react-aria/overlays/intl/el-GR.json","packages/@react-aria/overlays/intl/en-US.json","packages/@react-aria/overlays/intl/es-ES.json","packages/@react-aria/overlays/intl/et-EE.json","packages/@react-aria/overlays/intl/fi-FI.json","packages/@react-aria/overlays/intl/fr-FR.json","packages/@react-aria/overlays/intl/he-IL.json","packages/@react-aria/overlays/intl/hr-HR.json","packages/@react-aria/overlays/intl/hu-HU.json","packages/@react-aria/overlays/intl/it-IT.json","packages/@react-aria/overlays/intl/ja-JP.json","packages/@react-aria/overlays/intl/ko-KR.json","packages/@react-aria/overlays/intl/lt-LT.json","packages/@react-aria/overlays/intl/lv-LV.json","packages/@react-aria/overlays/intl/nb-NO.json","packages/@react-aria/overlays/intl/nl-NL.json","packages/@react-aria/overlays/intl/pl-PL.json","packages/@react-aria/overlays/intl/pt-BR.json","packages/@react-aria/overlays/intl/pt-PT.json","packages/@react-aria/overlays/intl/ro-RO.json","packages/@react-aria/overlays/intl/ru-RU.json","packages/@react-aria/overlays/intl/sk-SK.json","packages/@react-aria/overlays/intl/sl-SI.json","packages/@react-aria/overlays/intl/sr-SP.json","packages/@react-aria/overlays/intl/sv-SE.json","packages/@react-aria/overlays/intl/tr-TR.json","packages/@react-aria/overlays/intl/uk-UA.json","packages/@react-aria/overlays/intl/zh-CN.json","packages/@react-aria/overlays/intl/zh-TW.json","packages/@react-aria/overlays/src/ariaHideOutside.ts","packages/@react-aria/overlays/src/usePopover.ts","packages/@react-aria/overlays/src/useModalOverlay.ts","packages/@react-aria/overlays/src/Overlay.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {calculatePosition, PositionResult} from './calculatePosition';\nimport {DOMAttributes} from '@react-types/shared';\nimport {Placement, PlacementAxis, PositionProps} from '@react-types/overlays';\nimport {RefObject, useCallback, useRef, useState} from 'react';\nimport {useCloseOnScroll} from './useCloseOnScroll';\nimport {useLayoutEffect, useResizeObserver} from '@react-aria/utils';\nimport {useLocale} from '@react-aria/i18n';\n\nexport interface AriaPositionProps extends PositionProps {\n  /**\n   * Element that that serves as the positioning boundary.\n   * @default document.body\n   */\n  boundaryElement?: Element,\n  /**\n   * The ref for the element which the overlay positions itself with respect to.\n   */\n  targetRef: RefObject<Element>,\n  /**\n   * The ref for the overlay element.\n   */\n  overlayRef: RefObject<Element>,\n  /**\n   * A ref for the scrollable region within the overlay.\n   * @default overlayRef\n   */\n  scrollRef?: RefObject<Element>,\n  /**\n   * Whether the overlay should update its position automatically.\n   * @default true\n   */\n  shouldUpdatePosition?: boolean,\n  /** Handler that is called when the overlay should close. */\n  onClose?: () => void,\n  /**\n   * The maxHeight specified for the overlay element.\n   * By default, it will take all space up to the current viewport height.\n   */\n  maxHeight?: number\n}\n\nexport interface PositionAria {\n  /** Props for the overlay container element. */\n  overlayProps: DOMAttributes,\n  /** Props for the overlay tip arrow if any. */\n  arrowProps: DOMAttributes,\n  /** Placement of the overlay with respect to the overlay trigger. */\n  placement: PlacementAxis,\n  /** Updates the position of the overlay. */\n  updatePosition(): void\n}\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\n/**\n * Handles positioning overlays like popovers and menus relative to a trigger\n * element, and updating the position when the window resizes.\n */\nexport function useOverlayPosition(props: AriaPositionProps): PositionAria {\n  let {direction} = useLocale();\n  let {\n    targetRef,\n    overlayRef,\n    scrollRef = overlayRef,\n    placement = 'bottom' as Placement,\n    containerPadding = 12,\n    shouldFlip = true,\n    boundaryElement = typeof document !== 'undefined' ? document.body : null,\n    offset = 0,\n    crossOffset = 0,\n    shouldUpdatePosition = true,\n    isOpen = true,\n    onClose,\n    maxHeight\n  } = props;\n  let [position, setPosition] = useState<PositionResult>({\n    position: {},\n    arrowOffsetLeft: undefined,\n    arrowOffsetTop: undefined,\n    maxHeight: undefined,\n    placement: undefined\n  });\n\n  let deps = [\n    shouldUpdatePosition,\n    placement,\n    overlayRef.current,\n    targetRef.current,\n    scrollRef.current,\n    containerPadding,\n    shouldFlip,\n    boundaryElement,\n    offset,\n    crossOffset,\n    isOpen,\n    direction,\n    maxHeight\n  ];\n\n  let updatePosition = useCallback(() => {\n    if (shouldUpdatePosition === false || !isOpen || !overlayRef.current || !targetRef.current || !scrollRef.current || !boundaryElement) {\n      return;\n    }\n\n    let position = calculatePosition({\n      placement: translateRTL(placement, direction),\n      overlayNode: overlayRef.current,\n      targetNode: targetRef.current,\n      scrollNode: scrollRef.current,\n      padding: containerPadding,\n      shouldFlip,\n      boundaryElement,\n      offset,\n      crossOffset,\n      maxHeight\n    });\n\n    // Modify overlay styles directly so positioning happens immediately without the need of a second render\n    // This is so we don't have to delay autoFocus scrolling or delay applying preventScroll for popovers\n    Object.keys(position.position).forEach(key => (overlayRef.current as HTMLElement).style[key] = position.position[key] + 'px');\n    (overlayRef.current as HTMLElement).style.maxHeight = position.maxHeight != null ?  position.maxHeight + 'px' : undefined;\n\n    // Trigger a set state for a second render anyway for arrow positioning\n    setPosition(position);\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, deps);\n\n  // Update position when anything changes\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  useLayoutEffect(updatePosition, deps);\n\n  // Update position on window resize\n  useResize(updatePosition);\n\n  // Update position when the overlay changes size (might need to flip).\n  useResizeObserver({\n    ref: overlayRef,\n    onResize: updatePosition\n  });\n\n  // Reposition the overlay and do not close on scroll while the visual viewport is resizing.\n  // This will ensure that overlays adjust their positioning when the iOS virtual keyboard appears.\n  let isResizing = useRef(false);\n  useLayoutEffect(() => {\n    let timeout: ReturnType<typeof setTimeout>;\n    let onResize = () => {\n      isResizing.current = true;\n      clearTimeout(timeout);\n\n      timeout = setTimeout(() => {\n        isResizing.current = false;\n      }, 500);\n\n      updatePosition();\n    };\n\n    visualViewport?.addEventListener('resize', onResize);\n\n    return () => {\n      visualViewport?.removeEventListener('resize', onResize);\n    };\n  }, [updatePosition]);\n\n  let close = useCallback(() => {\n    if (!isResizing.current) {\n      onClose();\n    }\n  }, [onClose, isResizing]);\n\n  // When scrolling a parent scrollable region of the trigger (other than the body),\n  // we hide the popover. Otherwise, its position would be incorrect.\n  useCloseOnScroll({\n    triggerRef: targetRef,\n    isOpen,\n    onClose: onClose && close\n  });\n\n  return {\n    overlayProps: {\n      style: {\n        position: 'absolute',\n        zIndex: 100000, // should match the z-index in ModalTrigger\n        ...position.position,\n        maxHeight: position.maxHeight\n      }\n    },\n    placement: position.placement,\n    arrowProps: {\n      style: {\n        left: position.arrowOffsetLeft,\n        top: position.arrowOffsetTop\n      }\n    },\n    updatePosition\n  };\n}\n\nfunction useResize(onResize) {\n  useLayoutEffect(() => {\n    window.addEventListener('resize', onResize, false);\n    return () => {\n      window.removeEventListener('resize', onResize, false);\n    };\n  }, [onResize]);\n}\n\nfunction translateRTL(position, direction) {\n  if (direction === 'rtl') {\n    return position.replace('start', 'right').replace('end', 'left');\n  }\n  return position.replace('start', 'left').replace('end', 'right');\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Axis, Placement, PlacementAxis, SizeAxis} from '@react-types/overlays';\n\ninterface Position {\n  top?: number,\n  left?: number,\n  bottom?: number,\n  right?: number\n}\n\ninterface Dimensions {\n  width: number,\n  height: number,\n  top: number,\n  left: number,\n  scroll: Position\n}\n\ninterface ParsedPlacement {\n  placement: PlacementAxis,\n  crossPlacement: PlacementAxis,\n  axis: Axis,\n  crossAxis: Axis,\n  size: SizeAxis,\n  crossSize: SizeAxis\n}\n\ninterface Offset {\n  top: number,\n  left: number,\n  width: number,\n  height: number\n}\n\ninterface PositionOpts {\n  placement: Placement,\n  targetNode: Element,\n  overlayNode: Element,\n  scrollNode: Element,\n  padding: number,\n  shouldFlip: boolean,\n  boundaryElement: Element,\n  offset: number,\n  crossOffset: number,\n  maxHeight?: number\n}\n\nexport interface PositionResult {\n  position?: Position,\n  arrowOffsetLeft?: number,\n  arrowOffsetTop?: number,\n  maxHeight?: number,\n  placement: PlacementAxis\n}\n\nconst AXIS = {\n  top: 'top',\n  bottom: 'top',\n  left: 'left',\n  right: 'left'\n};\n\nconst FLIPPED_DIRECTION = {\n  top: 'bottom',\n  bottom: 'top',\n  left: 'right',\n  right: 'left'\n};\n\nconst CROSS_AXIS = {\n  top: 'left',\n  left: 'top'\n};\n\nconst AXIS_SIZE = {\n  top: 'height',\n  left: 'width'\n};\n\nconst PARSED_PLACEMENT_CACHE = {};\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nfunction getContainerDimensions(containerNode: Element): Dimensions {\n  let width = 0, height = 0, top = 0, left = 0;\n  let scroll: Position = {};\n\n  if (containerNode.tagName === 'BODY') {\n    let documentElement = document.documentElement;\n    width = visualViewport?.width ?? documentElement.clientWidth;\n    height = visualViewport?.height ?? documentElement.clientHeight;\n\n    scroll.top = documentElement.scrollTop || containerNode.scrollTop;\n    scroll.left = documentElement.scrollLeft || containerNode.scrollLeft;\n  } else {\n    ({width, height, top, left} = getOffset(containerNode));\n    scroll.top = containerNode.scrollTop;\n    scroll.left = containerNode.scrollLeft;\n  }\n\n  return {width, height, scroll, top, left};\n}\n\nfunction getScroll(node: Element): Offset {\n  return {\n    top: node.scrollTop,\n    left: node.scrollLeft,\n    width: node.scrollWidth,\n    height: node.scrollHeight\n  };\n}\n\nfunction getDelta(\n  axis: Axis,\n  offset: number,\n  size: number,\n  containerDimensions: Dimensions,\n  padding: number\n) {\n  let containerScroll = containerDimensions.scroll[axis];\n  let containerHeight = containerDimensions[AXIS_SIZE[axis]];\n\n  let startEdgeOffset = offset - padding - containerScroll;\n  let endEdgeOffset = offset + padding - containerScroll + size;\n\n  if (startEdgeOffset < 0) {\n    return -startEdgeOffset;\n  } else if (endEdgeOffset > containerHeight) {\n    return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);\n  } else {\n    return 0;\n  }\n}\n\nfunction getMargins(node: Element): Position {\n  let style = window.getComputedStyle(node);\n  return {\n    top: parseInt(style.marginTop, 10) || 0,\n    bottom: parseInt(style.marginBottom, 10) || 0,\n    left: parseInt(style.marginLeft, 10) || 0,\n    right: parseInt(style.marginRight, 10) || 0\n  };\n}\n\nfunction parsePlacement(input: Placement): ParsedPlacement {\n  if (PARSED_PLACEMENT_CACHE[input]) {\n    return PARSED_PLACEMENT_CACHE[input];\n  }\n\n  let [placement, crossPlacement] = input.split(' ');\n  let axis: Axis = AXIS[placement] || 'right';\n  let crossAxis: Axis = CROSS_AXIS[axis];\n\n  if (!AXIS[crossPlacement]) {\n    crossPlacement = 'center';\n  }\n\n  let size = AXIS_SIZE[axis];\n  let crossSize = AXIS_SIZE[crossAxis];\n  PARSED_PLACEMENT_CACHE[input] = {placement, crossPlacement, axis, crossAxis, size, crossSize};\n  return PARSED_PLACEMENT_CACHE[input];\n}\n\nfunction computePosition(\n  childOffset: Offset,\n  boundaryDimensions: Dimensions,\n  overlaySize: Offset,\n  placementInfo: ParsedPlacement,\n  offset: number,\n  crossOffset: number,\n  containerOffsetWithBoundary: Offset,\n  isContainerPositioned: boolean\n) {\n  let {placement, crossPlacement, axis, crossAxis, size, crossSize} = placementInfo;\n  let position: Position = {};\n\n  // button position\n  position[crossAxis] = childOffset[crossAxis];\n  if (crossPlacement === 'center') {\n    //  + (button size / 2) - (overlay size / 2)\n    // at this point the overlay center should match the button center\n    position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;\n  } else if (crossPlacement !== crossAxis) {\n    //  + (button size) - (overlay size)\n    // at this point the overlay bottom should match the button bottom\n    position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]);\n  }/* else {\n    the overlay top should match the button top\n  } */\n  // add the crossOffset from props\n  position[crossAxis] += crossOffset;\n\n  // this is button center position - the overlay size + half of the button to align bottom of overlay with button center\n  let minViablePosition = childOffset[crossAxis] + (childOffset[crossSize] / 2) - overlaySize[crossSize];\n  // this is button position of center, aligns top of overlay with button center\n  let maxViablePosition = childOffset[crossAxis] + (childOffset[crossSize] / 2);\n\n  // clamp it into the range of the min/max positions\n  position[crossAxis] = Math.min(Math.max(minViablePosition, position[crossAxis]), maxViablePosition);\n\n  // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.\n  if (placement === axis) {\n    // If the container is positioned (non-static), then we use the container's actual\n    // height, as `bottom` will be relative to this height.  But if the container is static,\n    // then it can only be the `document.body`, and `bottom` will be relative to _its_\n    // container, which should be as large as boundaryDimensions.\n    const containerHeight = (isContainerPositioned ? containerOffsetWithBoundary[size] : boundaryDimensions[size]);\n    position[FLIPPED_DIRECTION[axis]] = Math.floor(containerHeight - childOffset[axis] + offset);\n  } else {\n    position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n  }\n\n  return position;\n}\n\nfunction getMaxHeight(\n  position: Position,\n  boundaryDimensions: Dimensions,\n  containerOffsetWithBoundary: Offset,\n  childOffset: Offset,\n  margins: Position,\n  padding: number\n) {\n  return position.top != null\n    // We want the distance between the top of the overlay to the bottom of the boundary\n    ? Math.max(0,\n      (boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top) // this is the bottom of the boundary\n      - (containerOffsetWithBoundary.top + position.top) // this is the top of the overlay\n      - (margins.top + margins.bottom + padding) // save additional space for margin and padding\n    )\n    // We want the distance between the top of the trigger to the top of the boundary\n    : Math.max(0,\n      (childOffset.top + containerOffsetWithBoundary.top) // this is the top of the trigger\n      - (boundaryDimensions.top + boundaryDimensions.scroll.top) // this is the top of the boundary\n      - (margins.top + margins.bottom + padding) // save additional space for margin and padding\n    );\n}\n\nfunction getAvailableSpace(\n  boundaryDimensions: Dimensions,\n  containerOffsetWithBoundary: Offset,\n  childOffset: Offset,\n  margins: Position,\n  padding: number,\n  placementInfo: ParsedPlacement\n) {\n  let {placement, axis, size} = placementInfo;\n  if (placement === axis) {\n    return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - boundaryDimensions.scroll[axis] + containerOffsetWithBoundary[axis] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);\n  }\n\n  return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);\n}\n\nexport function calculatePositionInternal(\n  placementInput: Placement,\n  childOffset: Offset,\n  overlaySize: Offset,\n  scrollSize: Offset,\n  margins: Position,\n  padding: number,\n  flip: boolean,\n  boundaryDimensions: Dimensions,\n  containerOffsetWithBoundary: Offset,\n  offset: number,\n  crossOffset: number,\n  isContainerPositioned: boolean,\n  userSetMaxHeight?: number\n): PositionResult {\n  let placementInfo = parsePlacement(placementInput);\n  let {size, crossAxis, crossSize, placement, crossPlacement} = placementInfo;\n  let position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n  let normalizedOffset = offset;\n  let space = getAvailableSpace(\n    boundaryDimensions,\n    containerOffsetWithBoundary,\n    childOffset,\n    margins,\n    padding + offset,\n    placementInfo\n  );\n\n  // Check if the scroll size of the overlay is greater than the available space to determine if we need to flip\n  if (flip && scrollSize[size] > space) {\n    let flippedPlacementInfo = parsePlacement(`${FLIPPED_DIRECTION[placement]} ${crossPlacement}` as Placement);\n    let flippedPosition = computePosition(childOffset, boundaryDimensions, overlaySize, flippedPlacementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n    let flippedSpace = getAvailableSpace(\n      boundaryDimensions,\n      containerOffsetWithBoundary,\n      childOffset,\n      margins,\n      padding + offset,\n      flippedPlacementInfo\n    );\n\n    // If the available space for the flipped position is greater than the original available space, flip.\n    if (flippedSpace > space) {\n      placementInfo = flippedPlacementInfo;\n      position = flippedPosition;\n      normalizedOffset = offset;\n    }\n  }\n\n  let delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n  position[crossAxis] += delta;\n\n  let maxHeight = getMaxHeight(\n    position,\n    boundaryDimensions,\n    containerOffsetWithBoundary,\n    childOffset,\n    margins,\n    padding\n  );\n\n  if (userSetMaxHeight && userSetMaxHeight < maxHeight) {\n    maxHeight = userSetMaxHeight;\n  }\n\n  overlaySize.height = Math.min(overlaySize.height, maxHeight);\n\n  position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, normalizedOffset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n  delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n  position[crossAxis] += delta;\n\n  let arrowPosition: Position = {};\n  arrowPosition[crossAxis] = (childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2);\n\n  return {\n    position,\n    maxHeight: maxHeight,\n    arrowOffsetLeft: arrowPosition.left,\n    arrowOffsetTop: arrowPosition.top,\n    placement: placementInfo.placement\n  };\n}\n\n/**\n * Determines where to place the overlay with regards to the target and the position of an optional indicator.\n */\nexport function calculatePosition(opts: PositionOpts): PositionResult {\n  let {\n    placement,\n    targetNode,\n    overlayNode,\n    scrollNode,\n    padding,\n    shouldFlip,\n    boundaryElement,\n    offset,\n    crossOffset,\n    maxHeight\n  } = opts;\n\n  let container = ((overlayNode instanceof HTMLElement && overlayNode.offsetParent) || document.body) as Element;\n  let isBodyContainer = container.tagName === 'BODY';\n  const containerPositionStyle = window.getComputedStyle(container).position;\n  let isContainerPositioned = !!containerPositionStyle && containerPositionStyle !== 'static';\n  let childOffset: Offset = isBodyContainer ? getOffset(targetNode) : getPosition(targetNode, container);\n\n  if (!isBodyContainer) {\n    let {marginTop, marginLeft} = window.getComputedStyle(targetNode);\n    childOffset.top += parseInt(marginTop, 10) || 0;\n    childOffset.left += parseInt(marginLeft, 10) || 0;\n  }\n\n  let overlaySize: Offset = getOffset(overlayNode);\n  let margins = getMargins(overlayNode);\n  overlaySize.width += margins.left + margins.right;\n  overlaySize.height += margins.top + margins.bottom;\n\n  let scrollSize = getScroll(scrollNode);\n  let boundaryDimensions = getContainerDimensions(boundaryElement);\n  let containerOffsetWithBoundary: Offset = boundaryElement.tagName === 'BODY' ? getOffset(container) : getPosition(container, boundaryElement);\n\n  return calculatePositionInternal(\n    placement,\n    childOffset,\n    overlaySize,\n    scrollSize,\n    margins,\n    padding,\n    shouldFlip,\n    boundaryDimensions,\n    containerOffsetWithBoundary,\n    offset,\n    crossOffset,\n    isContainerPositioned,\n    maxHeight\n  );\n}\n\nfunction getOffset(node: Element): Offset {\n  let {top, left, width, height} = node.getBoundingClientRect();\n  let {scrollTop, scrollLeft, clientTop, clientLeft} = document.documentElement;\n  return {\n    top: top + scrollTop - clientTop,\n    left: left + scrollLeft - clientLeft,\n    width,\n    height\n  };\n}\n\nfunction getPosition(node: Element, parent: Element): Offset {\n  let style = window.getComputedStyle(node);\n  let offset: Offset;\n  if (style.position === 'fixed') {\n    let {top, left, width, height} = node.getBoundingClientRect();\n    offset = {top, left, width, height};\n  } else {\n    offset = getOffset(node);\n    let parentOffset = getOffset(parent);\n    let parentStyle = window.getComputedStyle(parent);\n    parentOffset.top += (parseInt(parentStyle.borderTopWidth, 10) || 0) - parent.scrollTop;\n    parentOffset.left += (parseInt(parentStyle.borderLeftWidth, 10) || 0) - parent.scrollLeft;\n    offset.top -= parentOffset.top;\n    offset.left -= parentOffset.left;\n  }\n\n  offset.top -= parseInt(style.marginTop, 10) || 0;\n  offset.left -= parseInt(style.marginLeft, 10) || 0;\n  return offset;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {RefObject, useEffect} from 'react';\n\n// This behavior moved from useOverlayTrigger to useOverlayPosition.\n// For backward compatibility, where useOverlayTrigger handled hiding the popover on close,\n// it sets a close function here mapped from the trigger element. This way we can avoid\n// forcing users to pass an onClose function to useOverlayPosition which could be considered\n// a breaking change.\nexport const onCloseMap: WeakMap<Element, () => void> = new WeakMap();\n\ninterface CloseOnScrollOptions {\n  triggerRef: RefObject<Element>,\n  isOpen?: boolean,\n  onClose?: () => void\n}\n\n/** @private */\nexport function useCloseOnScroll(opts: CloseOnScrollOptions) {\n  let {triggerRef, isOpen, onClose} = opts;\n\n  useEffect(() => {\n    if (!isOpen || onClose === null) {\n      return;\n    }\n\n    let onScroll = (e: MouseEvent) => {\n      // Ignore if scrolling an scrollable region outside the trigger's tree.\n      let target = e.target;\n      // window is not a Node and doesn't have contain, but window contains everything\n      if (!triggerRef.current || ((target instanceof Node) && !target.contains(triggerRef.current))) {\n        return;\n      }\n\n      let onCloseHandler = onClose || onCloseMap.get(triggerRef.current);\n      if (onCloseHandler) {\n        onCloseHandler();\n      }\n    };\n\n    window.addEventListener('scroll', onScroll, true);\n    return () => {\n      window.removeEventListener('scroll', onScroll, true);\n    };\n  }, [isOpen, onClose, triggerRef]);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMAttributes} from '@react-types/shared';\nimport {isElementInChildOfActiveScope} from '@react-aria/focus';\nimport {RefObject, SyntheticEvent, useEffect} from 'react';\nimport {useFocusWithin, useInteractOutside} from '@react-aria/interactions';\n\nexport interface AriaOverlayProps {\n  /** Whether the overlay is currently open. */\n  isOpen?: boolean,\n\n  /** Handler that is called when the overlay should close. */\n  onClose?: () => void,\n\n  /**\n   * Whether to close the overlay when the user interacts outside it.\n   * @default false\n   */\n  isDismissable?: boolean,\n\n  /** Whether the overlay should close when focus is lost or moves outside it. */\n  shouldCloseOnBlur?: boolean,\n\n  /**\n   * Whether pressing the escape key to close the overlay should be disabled.\n   * @default false\n   */\n  isKeyboardDismissDisabled?: boolean,\n\n  /**\n   * When user interacts with the argument element outside of the overlay ref,\n   * return true if onClose should be called.  This gives you a chance to filter\n   * out interaction with elements that should not dismiss the overlay.\n   * By default, onClose will always be called on interaction outside the overlay ref.\n   */\n  shouldCloseOnInteractOutside?: (element: Element) => boolean\n}\n\nexport interface OverlayAria {\n  /** Props to apply to the overlay container element. */\n  overlayProps: DOMAttributes,\n  /** Props to apply to the underlay element, if any. */\n  underlayProps: DOMAttributes\n}\n\nconst visibleOverlays: RefObject<Element>[] = [];\n\n/**\n * Provides the behavior for overlays such as dialogs, popovers, and menus.\n * Hides the overlay when the user interacts outside it, when the Escape key is pressed,\n * or optionally, on blur. Only the top-most overlay will close at once.\n */\nexport function useOverlay(props: AriaOverlayProps, ref: RefObject<Element>): OverlayAria {\n  let {\n    onClose,\n    shouldCloseOnBlur,\n    isOpen,\n    isDismissable = false,\n    isKeyboardDismissDisabled = false,\n    shouldCloseOnInteractOutside\n  } = props;\n\n  // Add the overlay ref to the stack of visible overlays on mount, and remove on unmount.\n  useEffect(() => {\n    if (isOpen) {\n      visibleOverlays.push(ref);\n    }\n\n    return () => {\n      let index = visibleOverlays.indexOf(ref);\n      if (index >= 0) {\n        visibleOverlays.splice(index, 1);\n      }\n    };\n  }, [isOpen, ref]);\n\n  // Only hide the overlay when it is the topmost visible overlay in the stack.\n  let onHide = () => {\n    if (visibleOverlays[visibleOverlays.length - 1] === ref && onClose) {\n      onClose();\n    }\n  };\n\n  let onInteractOutsideStart = (e: SyntheticEvent<Element>) => {\n    if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target as Element)) {\n      if (visibleOverlays[visibleOverlays.length - 1] === ref) {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    }\n  };\n\n  let onInteractOutside = (e: SyntheticEvent<Element>) => {\n    if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target as Element)) {\n      if (visibleOverlays[visibleOverlays.length - 1] === ref) {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n      onHide();\n    }\n  };\n\n  // Handle the escape key\n  let onKeyDown = (e) => {\n    if (e.key === 'Escape' && !isKeyboardDismissDisabled) {\n      e.stopPropagation();\n      e.preventDefault();\n      onHide();\n    }\n  };\n\n  // Handle clicking outside the overlay to close it\n  useInteractOutside({ref, onInteractOutside: isDismissable ? onInteractOutside : null, onInteractOutsideStart});\n\n  let {focusWithinProps} = useFocusWithin({\n    isDisabled: !shouldCloseOnBlur,\n    onBlurWithin: (e) => {\n      // If focus is moving into a child focus scope (e.g. menu inside a dialog),\n      // do not close the outer overlay. At this point, the active scope should\n      // still be the outer overlay, since blur events run before focus.\n      if (e.relatedTarget && isElementInChildOfActiveScope(e.relatedTarget)) {\n        return;\n      }\n\n      if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget as Element)) {\n        onClose();\n      }\n    }\n  });\n\n  let onPointerDownUnderlay = e => {\n    // fixes a firefox issue that starts text selection https://bugzilla.mozilla.org/show_bug.cgi?id=1675846\n    if (e.target === e.currentTarget) {\n      e.preventDefault();\n    }\n  };\n\n  return {\n    overlayProps: {\n      onKeyDown,\n      ...focusWithinProps\n    },\n    underlayProps: {\n      onPointerDown: onPointerDownUnderlay\n    }\n  };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes} from '@react-types/shared';\nimport {onCloseMap} from './useCloseOnScroll';\nimport {OverlayTriggerState} from '@react-stately/overlays';\nimport {RefObject, useEffect} from 'react';\nimport {useId} from '@react-aria/utils';\n\nexport interface OverlayTriggerProps {\n  /** Type of overlay that is opened by the trigger. */\n  type: 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid'\n}\n\nexport interface OverlayTriggerAria {\n  /** Props for the trigger element. */\n  triggerProps: AriaButtonProps,\n\n  /** Props for the overlay container element. */\n  overlayProps: DOMAttributes\n}\n\n/**\n * Handles the behavior and accessibility for an overlay trigger, e.g. a button\n * that opens a popover, menu, or other overlay that is positioned relative to the trigger.\n */\nexport function useOverlayTrigger(props: OverlayTriggerProps, state: OverlayTriggerState, ref?: RefObject<Element>): OverlayTriggerAria {\n  let {type} = props;\n  let {isOpen} = state;\n\n  // Backward compatibility. Share state close function with useOverlayPosition so it can close on scroll\n  // without forcing users to pass onClose.\n  useEffect(() => {\n    if (ref && ref.current) {\n      onCloseMap.set(ref.current, state.close);\n    }\n  });\n\n  // Aria 1.1 supports multiple values for aria-haspopup other than just menus.\n  // https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup\n  // However, we only add it for menus for now because screen readers often\n  // announce it as a menu even for other values.\n  let ariaHasPopup = undefined;\n  if (type === 'menu') {\n    ariaHasPopup = true;\n  } else if (type === 'listbox') {\n    ariaHasPopup = 'listbox';\n  }\n\n  let overlayId = useId();\n  return {\n    triggerProps: {\n      'aria-haspopup': ariaHasPopup,\n      'aria-expanded': isOpen,\n      'aria-controls': isOpen ? overlayId : null,\n      onPress: state.toggle\n    },\n    overlayProps: {\n      id: overlayId\n    }\n  };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {chain, getScrollParent, isIOS, useLayoutEffect} from '@react-aria/utils';\n\ninterface PreventScrollOptions {\n  /** Whether the scroll lock is disabled. */\n  isDisabled?: boolean\n}\n\n// @ts-ignore\nconst visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\n// HTML input types that do not cause the software keyboard to appear.\nconst nonTextInputTypes = new Set([\n  'checkbox',\n  'radio',\n  'range',\n  'color',\n  'file',\n  'image',\n  'button',\n  'submit',\n  'reset'\n]);\n\n// The number of active usePreventScroll calls. Used to determine whether to revert back to the original page style/scroll position\nlet preventScrollCount = 0;\nlet restore;\n\n/**\n * Prevents scrolling on the document body on mount, and\n * restores it on unmount. Also ensures that content does not\n * shift due to the scrollbars disappearing.\n */\nexport function usePreventScroll(options: PreventScrollOptions = {}) {\n  let {isDisabled} = options;\n\n  useLayoutEffect(() => {\n    if (isDisabled) {\n      return;\n    }\n\n    preventScrollCount++;\n    if (preventScrollCount === 1) {\n      if (isIOS()) {\n        restore = preventScrollMobileSafari();\n      } else {\n        restore = preventScrollStandard();\n      }\n    }\n\n    return () => {\n      preventScrollCount--;\n      if (preventScrollCount === 0) {\n        restore();\n      }\n    };\n  }, [isDisabled]);\n}\n\n// For most browsers, all we need to do is set `overflow: hidden` on the root element, and\n// add some padding to prevent the page from shifting when the scrollbar is hidden.\nfunction preventScrollStandard() {\n  return chain(\n    setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`),\n    setStyle(document.documentElement, 'overflow', 'hidden')\n  );\n}\n\n// Mobile Safari is a whole different beast. Even with overflow: hidden,\n// it still scrolls the page in many situations:\n//\n// 1. When the bottom toolbar and address bar are collapsed, page scrolling is always allowed.\n// 2. When the keyboard is visible, the viewport does not resize. Instead, the keyboard covers part of\n//    it, so it becomes scrollable.\n// 3. When tapping on an input, the page always scrolls so that the input is centered in the visual viewport.\n//    This may cause even fixed position elements to scroll off the screen.\n// 4. When using the next/previous buttons in the keyboard to navigate between inputs, the whole page always\n//    scrolls, even if the input is inside a nested scrollable element that could be scrolled instead.\n//\n// In order to work around these cases, and prevent scrolling without jankiness, we do a few things:\n//\n// 1. Prevent default on `touchmove` events that are not in a scrollable element. This prevents touch scrolling\n//    on the window.\n// 2. Prevent default on `touchmove` events inside a scrollable element when the scroll position is at the\n//    top or bottom. This avoids the whole page scrolling instead, but does prevent overscrolling.\n// 3. Prevent default on `touchend` events on input elements and handle focusing the element ourselves.\n// 4. When focusing an input, apply a transform to trick Safari into thinking the input is at the top\n//    of the page, which prevents it from scrolling the page. After the input is focused, scroll the element\n//    into view ourselves, without scrolling the whole page.\n// 5. Offset the body by the scroll position using a negative margin and scroll to the top. This should appear the\n//    same visually, but makes the actual scroll position always zero. This is required to make all of the\n//    above work or Safari will still try to scroll the page when focusing an input.\n// 6. As a last resort, handle window scroll events, and scroll back to the top. This can happen when attempting\n//    to navigate to an input with the next/previous buttons that's outside a modal.\nfunction preventScrollMobileSafari() {\n  let scrollable: Element;\n  let lastY = 0;\n  let onTouchStart = (e: TouchEvent) => {\n    // Store the nearest scrollable parent element from the element that the user touched.\n    scrollable = getScrollParent(e.target as Element);\n    if (scrollable === document.documentElement && scrollable === document.body) {\n      return;\n    }\n\n    lastY = e.changedTouches[0].pageY;\n  };\n\n  let onTouchMove = (e: TouchEvent) => {\n    // Prevent scrolling the window.\n    if (scrollable === document.documentElement || scrollable === document.body) {\n      e.preventDefault();\n      return;\n    }\n\n    // Prevent scrolling up when at the top and scrolling down when at the bottom\n    // of a nested scrollable area, otherwise mobile Safari will start scrolling\n    // the window instead. Unfortunately, this disables bounce scrolling when at\n    // the top but it's the best we can do.\n    let y = e.changedTouches[0].pageY;\n    let scrollTop = scrollable.scrollTop;\n    let bottom = scrollable.scrollHeight - scrollable.clientHeight;\n\n    if ((scrollTop <= 0 && y > lastY) || (scrollTop >= bottom && y < lastY)) {\n      e.preventDefault();\n    }\n\n    lastY = y;\n  };\n\n  let onTouchEnd = (e: TouchEvent) => {\n    let target = e.target as HTMLElement;\n\n    // Apply this change if we're not already focused on the target element\n    if (willOpenKeyboard(target) && target !== document.activeElement) {\n      e.preventDefault();\n\n      // Apply a transform to trick Safari into thinking the input is at the top of the page\n      // so it doesn't try to scroll it into view. When tapping on an input, this needs to\n      // be done before the \"focus\" event, so we have to focus the element ourselves.\n      target.style.transform = 'translateY(-2000px)';\n      target.focus();\n      requestAnimationFrame(() => {\n        target.style.transform = '';\n      });\n    }\n  };\n\n  let onFocus = (e: FocusEvent) => {\n    let target = e.target as HTMLElement;\n    if (willOpenKeyboard(target)) {\n      // Transform also needs to be applied in the focus event in cases where focus moves\n      // other than tapping on an input directly, e.g. the next/previous buttons in the\n      // software keyboard. In these cases, it seems applying the transform in the focus event\n      // is good enough, whereas when tapping an input, it must be done before the focus event. 🤷‍♂️\n      target.style.transform = 'translateY(-2000px)';\n      requestAnimationFrame(() => {\n        target.style.transform = '';\n\n        // This will have prevented the browser from scrolling the focused element into view,\n        // so we need to do this ourselves in a way that doesn't cause the whole page to scroll.\n        if (visualViewport) {\n          if (visualViewport.height < window.innerHeight) {\n            // If the keyboard is already visible, do this after one additional frame\n            // to wait for the transform to be removed.\n            requestAnimationFrame(() => {\n              scrollIntoView(target);\n            });\n          } else {\n            // Otherwise, wait for the visual viewport to resize before scrolling so we can\n            // measure the correct position to scroll to.\n            visualViewport.addEventListener('resize', () => scrollIntoView(target), {once: true});\n          }\n        }\n      });\n    }\n  };\n\n  let onWindowScroll = () => {\n    // Last resort. If the window scrolled, scroll it back to the top.\n    // It should always be at the top because the body will have a negative margin (see below).\n    window.scrollTo(0, 0);\n  };\n\n  // Record the original scroll position so we can restore it.\n  // Then apply a negative margin to the body to offset it by the scroll position. This will\n  // enable us to scroll the window to the top, which is required for the rest of this to work.\n  let scrollX = window.pageXOffset;\n  let scrollY = window.pageYOffset;\n\n  let restoreStyles = chain(\n    setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`),\n    setStyle(document.documentElement, 'overflow', 'hidden'),\n    setStyle(document.body, 'marginTop', `-${scrollY}px`)\n  );\n\n  // Scroll to the top. The negative margin on the body will make this appear the same.\n  window.scrollTo(0, 0);\n\n  let removeEvents = chain(\n    addEvent(document, 'touchstart', onTouchStart, {passive: false, capture: true}),\n    addEvent(document, 'touchmove', onTouchMove, {passive: false, capture: true}),\n    addEvent(document, 'touchend', onTouchEnd, {passive: false, capture: true}),\n    addEvent(document, 'focus', onFocus, true),\n    addEvent(window, 'scroll', onWindowScroll)\n  );\n\n  return () => {\n    // Restore styles and scroll the page back to where it was.\n    restoreStyles();\n    removeEvents();\n    window.scrollTo(scrollX, scrollY);\n  };\n}\n\n// Sets a CSS property on an element, and returns a function to revert it to the previous value.\nfunction setStyle(element: HTMLElement, style: string, value: string) {\n  let cur = element.style[style];\n  element.style[style] = value;\n\n  return () => {\n    element.style[style] = cur;\n  };\n}\n\n// Adds an event listener to an element, and returns a function to remove it.\nfunction addEvent<K extends keyof GlobalEventHandlersEventMap>(\n  target: EventTarget,\n  event: K,\n  handler: (this: Document, ev: GlobalEventHandlersEventMap[K]) => any,\n  options?: boolean | AddEventListenerOptions\n) {\n  target.addEventListener(event, handler, options);\n  return () => {\n    target.removeEventListener(event, handler, options);\n  };\n}\n\nfunction scrollIntoView(target: Element) {\n  let root = document.scrollingElement || document.documentElement;\n  while (target && target !== root) {\n    // Find the parent scrollable element and adjust the scroll position if the target is not already in view.\n    let scrollable = getScrollParent(target);\n    if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {\n      let scrollableTop = scrollable.getBoundingClientRect().top;\n      let targetTop = target.getBoundingClientRect().top;\n      if (targetTop > scrollableTop + target.clientHeight) {\n        scrollable.scrollTop += targetTop - scrollableTop;\n      }\n    }\n\n    target = scrollable.parentElement;\n  }\n}\n\nfunction willOpenKeyboard(target: Element) {\n  return (\n    (target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type)) ||\n    target instanceof HTMLTextAreaElement ||\n    (target instanceof HTMLElement && target.isContentEditable)\n  );\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMAttributes} from '@react-types/shared';\nimport React, {AriaAttributes, ReactNode, useContext, useEffect, useMemo, useState} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useIsSSR} from '@react-aria/ssr';\n\nexport interface ModalProviderProps extends DOMAttributes {\n  children: ReactNode\n}\n\ninterface ModalContext {\n  parent: ModalContext | null,\n  modalCount: number,\n  addModal: () => void,\n  removeModal: () => void\n}\n\nconst Context = React.createContext<ModalContext | null>(null);\n\n/**\n * Each ModalProvider tracks how many modals are open in its subtree. On mount, the modals\n * trigger `addModal` to increment the count, and trigger `removeModal` on unmount to decrement it.\n * This is done recursively so that all parent providers are incremented and decremented.\n * If the modal count is greater than zero, we add `aria-hidden` to this provider to hide its\n * subtree from screen readers. This is done using React context in order to account for things\n * like portals, which can cause the React tree and the DOM tree to differ significantly in structure.\n */\nexport function ModalProvider(props: ModalProviderProps) {\n  let {children} = props;\n  let parent = useContext(Context);\n  let [modalCount, setModalCount] = useState(0);\n  let context = useMemo(() => ({\n    parent,\n    modalCount,\n    addModal() {\n      setModalCount(count => count + 1);\n      if (parent) {\n        parent.addModal();\n      }\n    },\n    removeModal() {\n      setModalCount(count => count - 1);\n      if (parent) {\n        parent.removeModal();\n      }\n    }\n  }), [parent, modalCount]);\n\n  return (\n    <Context.Provider value={context}>\n      {children}\n    </Context.Provider>\n  );\n}\n\nexport interface ModalProviderAria {\n  /**\n   * Props to be spread on the container element.\n   */\n  modalProviderProps: AriaAttributes\n}\n\n/**\n * Used to determine if the tree should be aria-hidden based on how many\n * modals are open.\n */\nexport function useModalProvider(): ModalProviderAria {\n  let context = useContext(Context);\n  return {\n    modalProviderProps: {\n      'aria-hidden': context && context.modalCount > 0 ? true : null\n    }\n  };\n}\n\n/**\n * Creates a root node that will be aria-hidden if there are other modals open.\n */\nfunction OverlayContainerDOM(props: ModalProviderProps) {\n  let {modalProviderProps} = useModalProvider();\n  return <div data-overlay-container {...props} {...modalProviderProps} />;\n}\n\n/**\n * An OverlayProvider acts as a container for the top-level application.\n * Any application that uses modal dialogs or other overlays should\n * be wrapped in a `<OverlayProvider>`. This is used to ensure that\n * the main content of the application is hidden from screen readers\n * if a modal or other overlay is opened. Only the top-most modal or\n * overlay should be accessible at once.\n */\nexport function OverlayProvider(props: ModalProviderProps) {\n  return (\n    <ModalProvider>\n      <OverlayContainerDOM {...props} />\n    </ModalProvider>\n  );\n}\n\nexport interface OverlayContainerProps extends ModalProviderProps {\n  /**\n   * The container element in which the overlay portal will be placed.\n   * @default document.body\n   */\n  portalContainer?: Element\n}\n\n/**\n * A container for overlays like modals and popovers. Renders the overlay\n * into a Portal which is placed at the end of the document body.\n * Also ensures that the overlay is hidden from screen readers if a\n * nested modal is opened. Only the top-most modal or overlay should\n * be accessible at once.\n */\nexport function OverlayContainer(props: OverlayContainerProps): React.ReactPortal {\n  let isSSR = useIsSSR();\n  let {portalContainer = isSSR ? null : document.body, ...rest} = props;\n\n  React.useEffect(() => {\n    if (portalContainer?.closest('[data-overlay-container]')) {\n      throw new Error('An OverlayContainer must not be inside another container. Please change the portalContainer prop.');\n    }\n  }, [portalContainer]);\n\n  if (!portalContainer) {\n    return null;\n  }\n\n  let contents = <OverlayProvider {...rest} />;\n  return ReactDOM.createPortal(contents, portalContainer);\n}\n\ninterface ModalAriaProps extends DOMAttributes {\n  /** Data attribute marks the dom node as a modal for the aria-modal-polyfill. */\n  'data-ismodal': boolean\n}\n\nexport interface AriaModalOptions {\n  isDisabled?: boolean\n}\n\nexport interface ModalAria {\n  /** Props for the modal content element. */\n  modalProps: ModalAriaProps\n}\n\n/**\n * Hides content outside the current `<OverlayContainer>` from screen readers\n * on mount and restores it on unmount. Typically used by modal dialogs and\n * other types of overlays to ensure that only the top-most modal is\n * accessible at once.\n */\nexport function useModal(options?: AriaModalOptions): ModalAria {\n  // Add aria-hidden to all parent providers on mount, and restore on unmount.\n  let context = useContext(Context);\n  if (!context) {\n    throw new Error('Modal is not contained within a provider');\n  }\n\n  useEffect(() => {\n    if (options?.isDisabled || !context || !context.parent) {\n      return;\n    }\n\n    // The immediate context is from the provider containing this modal, so we only\n    // want to trigger aria-hidden on its parents not on the modal provider itself.\n    context.parent.addModal();\n    return () => {\n      if (context && context.parent) {\n        context.parent.removeModal();\n      }\n    };\n  }, [context, context.parent, options?.isDisabled]);\n\n  return {\n    modalProps: {\n      'data-ismodal': !options?.isDisabled\n    }\n  };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMProps} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React from 'react';\nimport {useLabels} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\n\nexport interface DismissButtonProps extends AriaLabelingProps, DOMProps {\n  /** Called when the dismiss button is activated. */\n  onDismiss?: () => void\n}\n\n/**\n * A visually hidden button that can be used to allow screen reader\n * users to dismiss a modal or popup when there is no visual\n * affordance to do so.\n */\nexport function DismissButton(props: DismissButtonProps) {\n  let {onDismiss, ...otherProps} = props;\n  let stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n  let labels = useLabels(otherProps, stringFormatter.format('dismiss'));\n\n  let onClick = () => {\n    if (onDismiss) {\n      onDismiss();\n    }\n  };\n\n  return (\n    <VisuallyHidden>\n      <button\n        {...labels}\n        tabIndex={-1}\n        onClick={onClick} />\n    </VisuallyHidden>\n  );\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n  \"ar-AE\": _temp0,\n  \"bg-BG\": _temp1,\n  \"cs-CZ\": _temp2,\n  \"da-DK\": _temp3,\n  \"de-DE\": _temp4,\n  \"el-GR\": _temp5,\n  \"en-US\": _temp6,\n  \"es-ES\": _temp7,\n  \"et-EE\": _temp8,\n  \"fi-FI\": _temp9,\n  \"fr-FR\": _temp10,\n  \"he-IL\": _temp11,\n  \"hr-HR\": _temp12,\n  \"hu-HU\": _temp13,\n  \"it-IT\": _temp14,\n  \"ja-JP\": _temp15,\n  \"ko-KR\": _temp16,\n  \"lt-LT\": _temp17,\n  \"lv-LV\": _temp18,\n  \"nb-NO\": _temp19,\n  \"nl-NL\": _temp20,\n  \"pl-PL\": _temp21,\n  \"pt-BR\": _temp22,\n  \"pt-PT\": _temp23,\n  \"ro-RO\": _temp24,\n  \"ru-RU\": _temp25,\n  \"sk-SK\": _temp26,\n  \"sl-SI\": _temp27,\n  \"sr-SP\": _temp28,\n  \"sv-SE\": _temp29,\n  \"tr-TR\": _temp30,\n  \"uk-UA\": _temp31,\n  \"zh-CN\": _temp32,\n  \"zh-TW\": _temp33\n}","{\n  \"dismiss\": \"تجاهل\"\n}\n","{\n  \"dismiss\": \"Отхвърляне\"\n}\n","{\n  \"dismiss\": \"Odstranit\"\n}\n","{\n  \"dismiss\": \"Luk\"\n}\n","{\n  \"dismiss\": \"Schließen\"\n}\n","{\n  \"dismiss\": \"Απόρριψη\"\n}\n","{\n  \"dismiss\": \"Dismiss\"\n}\n","{\n  \"dismiss\": \"Descartar\"\n}\n","{\n  \"dismiss\": \"Lõpeta\"\n}\n","{\n  \"dismiss\": \"Hylkää\"\n}\n","{\n  \"dismiss\": \"Rejeter\"\n}\n","{\n  \"dismiss\": \"התעלם\"\n}\n","{\n  \"dismiss\": \"Odbaci\"\n}\n","{\n  \"dismiss\": \"Elutasítás\"\n}\n","{\n  \"dismiss\": \"Ignora\"\n}\n","{\n  \"dismiss\": \"閉じる\"\n}\n","{\n  \"dismiss\": \"무시\"\n}\n","{\n  \"dismiss\": \"Atmesti\"\n}\n","{\n  \"dismiss\": \"Nerādīt\"\n}\n","{\n  \"dismiss\": \"Lukk\"\n}\n","{\n  \"dismiss\": \"Negeren\"\n}\n","{\n  \"dismiss\": \"Zignoruj\"\n}\n","{\n  \"dismiss\": \"Descartar\"\n}\n","{\n  \"dismiss\": \"Dispensar\"\n}\n","{\n  \"dismiss\": \"Revocare\"\n}\n","{\n  \"dismiss\": \"Пропустить\"\n}\n","{\n  \"dismiss\": \"Zrušiť\"\n}\n","{\n  \"dismiss\": \"Opusti\"\n}\n","{\n  \"dismiss\": \"Odbaci\"\n}\n","{\n  \"dismiss\": \"Avvisa\"\n}\n","{\n  \"dismiss\": \"Kapat\"\n}\n","{\n  \"dismiss\": \"Скасувати\"\n}\n","{\n  \"dismiss\": \"取消\"\n}\n","{\n  \"dismiss\": \"關閉\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Keeps a ref count of all hidden elements. Added to when hiding an element, and\n// subtracted from when showing it again. When it reaches zero, aria-hidden is removed.\nlet refCountMap = new WeakMap<Element, number>();\nlet observerStack = [];\n\n/**\n * Hides all elements in the DOM outside the given targets from screen readers using aria-hidden,\n * and returns a function to revert these changes. In addition, changes to the DOM are watched\n * and new elements outside the targets are automatically hidden.\n * @param targets - The elements that should remain visible.\n * @param root - Nothing will be hidden above this element.\n * @returns - A function to restore all hidden elements.\n */\nexport function ariaHideOutside(targets: Element[], root = document.body) {\n  let visibleNodes = new Set<Element>(targets);\n  let hiddenNodes = new Set<Element>();\n\n  let walk = (root: Element) => {\n    // Keep live announcer and top layer elements (e.g. toasts) visible.\n    for (let element of root.querySelectorAll('[data-live-announcer], [data-react-aria-top-layer]')) {\n      visibleNodes.add(element);\n    }\n\n    let acceptNode = (node: Element) => {\n      // Skip this node and its children if it is one of the target nodes, or a live announcer.\n      // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is\n      // made for elements with role=\"row\" since VoiceOver on iOS has issues hiding elements with role=\"row\".\n      // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).\n      if (\n        visibleNodes.has(node) ||\n        (hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row')\n      ) {\n        return NodeFilter.FILTER_REJECT;\n      }\n\n      // Skip this node but continue to children if one of the targets is inside the node.\n      for (let target of visibleNodes) {\n        if (node.contains(target)) {\n          return NodeFilter.FILTER_SKIP;\n        }\n      }\n\n      return NodeFilter.FILTER_ACCEPT;\n    };\n\n    let walker = document.createTreeWalker(\n      root,\n      NodeFilter.SHOW_ELEMENT,\n      {acceptNode}\n    );\n\n    // TreeWalker does not include the root.\n    let acceptRoot = acceptNode(root);\n    if (acceptRoot === NodeFilter.FILTER_ACCEPT) {\n      hide(root);\n    }\n\n    if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n      let node = walker.nextNode() as Element;\n      while (node != null) {\n        hide(node);\n        node = walker.nextNode() as Element;\n      }\n    }\n  };\n\n  let hide = (node: Element) => {\n    let refCount = refCountMap.get(node) ?? 0;\n\n    // If already aria-hidden, and the ref count is zero, then this element\n    // was already hidden and there's nothing for us to do.\n    if (node.getAttribute('aria-hidden') === 'true' && refCount === 0) {\n      return;\n    }\n\n    if (refCount === 0) {\n      node.setAttribute('aria-hidden', 'true');\n    }\n\n    hiddenNodes.add(node);\n    refCountMap.set(node, refCount + 1);\n  };\n\n  // If there is already a MutationObserver listening from a previous call,\n  // disconnect it so the new on takes over.\n  if (observerStack.length) {\n    observerStack[observerStack.length - 1].disconnect();\n  }\n\n  walk(root);\n\n  let observer = new MutationObserver(changes => {\n    for (let change of changes) {\n      if (change.type !== 'childList' || change.addedNodes.length === 0) {\n        continue;\n      }\n\n      // If the parent element of the added nodes is not within one of the targets,\n      // and not already inside a hidden node, hide all of the new children.\n      if (![...visibleNodes, ...hiddenNodes].some(node => node.contains(change.target))) {\n        for (let node of change.removedNodes) {\n          if (node instanceof Element) {\n            visibleNodes.delete(node);\n            hiddenNodes.delete(node);\n          }\n        }\n\n        for (let node of change.addedNodes) {\n          if (\n            (node instanceof HTMLElement || node instanceof SVGElement) &&\n            (node.dataset.liveAnnouncer === 'true' || node.dataset.reactAriaTopLayer === 'true')\n          ) {\n            visibleNodes.add(node);\n          } else if (node instanceof Element) {\n            walk(node);\n          }\n        }\n      }\n    }\n  });\n\n  observer.observe(root, {childList: true, subtree: true});\n\n  let observerWrapper = {\n    observe() {\n      observer.observe(root, {childList: true, subtree: true});\n    },\n    disconnect() {\n      observer.disconnect();\n    }\n  };\n\n  observerStack.push(observerWrapper);\n\n  return () => {\n    observer.disconnect();\n\n    for (let node of hiddenNodes) {\n      let count = refCountMap.get(node);\n      if (count === 1) {\n        node.removeAttribute('aria-hidden');\n        refCountMap.delete(node);\n      } else {\n        refCountMap.set(node, count - 1);\n      }\n    }\n\n    // Remove this observer from the stack, and start the previous one.\n    if (observerWrapper === observerStack[observerStack.length - 1]) {\n      observerStack.pop();\n      if (observerStack.length) {\n        observerStack[observerStack.length - 1].observe();\n      }\n    } else {\n      observerStack.splice(observerStack.indexOf(observerWrapper), 1);\n    }\n  };\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ariaHideOutside} from './ariaHideOutside';\nimport {AriaPositionProps, useOverlayPosition} from './useOverlayPosition';\nimport {DOMAttributes} from '@react-types/shared';\nimport {mergeProps, useLayoutEffect} from '@react-aria/utils';\nimport {OverlayTriggerState} from '@react-stately/overlays';\nimport {PlacementAxis} from '@react-types/overlays';\nimport {RefObject} from 'react';\nimport {useOverlay} from './useOverlay';\nimport {usePreventScroll} from './usePreventScroll';\n\nexport interface AriaPopoverProps extends Omit<AriaPositionProps, 'isOpen' | 'onClose' | 'targetRef' | 'overlayRef'> {\n  /**\n   * The ref for the element which the popover positions itself with respect to.\n   */\n  triggerRef: RefObject<Element>,\n  /**\n   * The ref for the popover element.\n   */\n  popoverRef: RefObject<Element>,\n  /**\n   * Whether the popover is non-modal, i.e. elements outside the popover may be\n   * interacted with by assistive technologies.\n   *\n   * Most popovers should not use this option as it may negatively impact the screen\n   * reader experience. Only use with components such as combobox, which are designed\n   * to handle this situation carefully.\n   */\n  isNonModal?: boolean,\n  /**\n   * Whether pressing the escape key to close the popover should be disabled.\n   *\n   * Most popovers should not use this option. When set to true, an alternative\n   * way to close the popover with a keyboard must be provided.\n   *\n   * @default false\n   */\n  isKeyboardDismissDisabled?: boolean\n}\n\nexport interface PopoverAria {\n  /** Props for the popover element. */\n  popoverProps: DOMAttributes,\n  /** Props for the popover tip arrow if any. */\n  arrowProps: DOMAttributes,\n  /** Props to apply to the underlay element, if any. */\n  underlayProps: DOMAttributes,\n  /** Placement of the popover with respect to the trigger. */\n  placement: PlacementAxis\n}\n\n/**\n * Provides the behavior and accessibility implementation for a popover component.\n * A popover is an overlay element positioned relative to a trigger.\n */\nexport function usePopover(props: AriaPopoverProps, state: OverlayTriggerState): PopoverAria {\n  let {\n    triggerRef,\n    popoverRef,\n    isNonModal,\n    isKeyboardDismissDisabled,\n    ...otherProps\n  } = props;\n\n  let {overlayProps, underlayProps} = useOverlay(\n    {\n      isOpen: state.isOpen,\n      onClose: state.close,\n      shouldCloseOnBlur: true,\n      isDismissable: !isNonModal,\n      isKeyboardDismissDisabled\n    },\n    popoverRef\n  );\n\n  let {overlayProps: positionProps, arrowProps, placement} = useOverlayPosition({\n    ...otherProps,\n    targetRef: triggerRef,\n    overlayRef: popoverRef,\n    isOpen: state.isOpen,\n    onClose: null\n  });\n\n  usePreventScroll({\n    isDisabled: isNonModal\n  });\n\n  useLayoutEffect(() => {\n    if (state.isOpen && !isNonModal && popoverRef.current) {\n      return ariaHideOutside([popoverRef.current]);\n    }\n  }, [isNonModal, state.isOpen, popoverRef]);\n\n  return {\n    popoverProps: mergeProps(overlayProps, positionProps),\n    arrowProps,\n    underlayProps,\n    placement\n  };\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ariaHideOutside} from './ariaHideOutside';\nimport {DOMAttributes} from '@react-types/shared';\nimport {mergeProps} from '@react-aria/utils';\nimport {OverlayTriggerState} from '@react-stately/overlays';\nimport {RefObject, useEffect} from 'react';\nimport {useOverlay} from './useOverlay';\nimport {useOverlayFocusContain} from './Overlay';\nimport {usePreventScroll} from './usePreventScroll';\n\nexport interface AriaModalOverlayProps {\n  /**\n   * Whether to close the modal when the user interacts outside it.\n   * @default false\n   */\n  isDismissable?: boolean,\n  /**\n   * Whether pressing the escape key to close the modal should be disabled.\n   * @default false\n   */\n  isKeyboardDismissDisabled?: boolean\n}\n\nexport interface ModalOverlayAria {\n  /** Props for the modal element. */\n  modalProps: DOMAttributes,\n  /** Props for the underlay element. */\n  underlayProps: DOMAttributes\n}\n\n/**\n * Provides the behavior and accessibility implementation for a modal component.\n * A modal is an overlay element which blocks interaction with elements outside it.\n */\nexport function useModalOverlay(props: AriaModalOverlayProps, state: OverlayTriggerState, ref: RefObject<HTMLElement>): ModalOverlayAria {\n  let {overlayProps, underlayProps} = useOverlay({\n    ...props,\n    isOpen: state.isOpen,\n    onClose: state.close\n  }, ref);\n\n  usePreventScroll({\n    isDisabled: !state.isOpen\n  });\n\n  useOverlayFocusContain();\n\n  useEffect(() => {\n    if (state.isOpen) {\n      return ariaHideOutside([ref.current]);\n    }\n  }, [state.isOpen, ref]);\n\n  return {\n    modalProps: mergeProps(overlayProps),\n    underlayProps\n  };\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {FocusScope} from '@react-aria/focus';\nimport React, {ReactNode, useContext, useMemo, useState} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useIsSSR} from '@react-aria/ssr';\nimport {useLayoutEffect} from '@react-aria/utils';\n\nexport interface OverlayProps {\n  /**\n   * The container element in which the overlay portal will be placed.\n   * @default document.body\n   */\n  portalContainer?: Element,\n  /** The overlay to render in the portal. */\n  children: ReactNode\n}\n\nexport const OverlayContext = React.createContext(null);\n\n/**\n * A container which renders an overlay such as a popover or modal in a portal,\n * and provides a focus scope for the child elements.\n */\nexport function Overlay(props: OverlayProps) {\n  let isSSR = useIsSSR();\n  let {portalContainer = isSSR ? null : document.body} = props;\n  let [contain, setContain] = useState(false);\n  let contextValue = useMemo(() => ({contain, setContain}), [contain, setContain]);\n\n  if (!portalContainer) {\n    return null;\n  }\n\n  let contents = (\n    <OverlayContext.Provider value={contextValue}>\n      <FocusScope restoreFocus contain={contain}>\n        {props.children}\n      </FocusScope>\n    </OverlayContext.Provider>\n  );\n\n  return ReactDOM.createPortal(contents, portalContainer);\n}\n\n/** @private */\nexport function useOverlayFocusContain() {\n  let ctx = useContext(OverlayContext);\n  let setContain = ctx?.setContain;\n  useLayoutEffect(() => {\n    setContain?.(true);\n  }, [setContain]);\n}\n"]},"metadata":{},"sourceType":"module"}