ct__namespace.createElement(Insertion, {
      cache,
      serialized,
      isStringTag: typeof WrappedComponent === "string"
    }), /* @__PURE__ */ React__namespace.createElement(WrappedComponent, newProps));
  });
  var Emotion$1 = Emotion;
  var jsx = function jsx2(type, props) {
    var args = arguments;
    if (props == null || !hasOwn.call(props, "css")) {
      return React__namespace.createElement.apply(void 0, args);
    }
    var argsLength = args.length;
    var createElementArgArray = new Array(argsLength);
    createElementArgArray[0] = Emotion$1;
    createElementArgArray[1] = createEmotionProps(type, props);
    for (var i2 = 2; i2 < argsLength; i2++) {
      createElementArgArray[i2] = args[i2];
    }
    return React__namespace.createElement.apply(null, createElementArgArray);
  };
  (function(_jsx) {
    var JSX;
    /* @__PURE__ */ (function(_JSX) {
    })(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
  })(jsx || (jsx = {}));
  function css() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    return serializeStyles(args);
  }
  function keyframes() {
    var insertable = css.apply(void 0, arguments);
    var name = "animation-" + insertable.name;
    return {
      name,
      styles: "@keyframes " + name + "{" + insertable.styles + "}",
      anim: 1,
      toString: function toString() {
        return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
      }
    };
  }
  function _taggedTemplateLiteral(e2, t2) {
    return t2 || (t2 = e2.slice(0)), Object.freeze(Object.defineProperties(e2, {
      raw: {
        value: Object.freeze(t2)
      }
    }));
  }
  const min = Math.min;
  const max = Math.max;
  const round = Math.round;
  const floor = Math.floor;
  const createCoords = (v2) => ({
    x: v2,
    y: v2
  });
  function rectToClientRect(rect) {
    const {
      x: x2,
      y: y2,
      width,
      height
    } = rect;
    return {
      width,
      height,
      top: y2,
      left: x2,
      right: x2 + width,
      bottom: y2 + height,
      x: x2,
      y: y2
    };
  }
  function hasWindow() {
    return typeof window !== "undefined";
  }
  function getNodeName(node2) {
    if (isNode(node2)) {
      return (node2.nodeName || "").toLowerCase();
    }
    return "#document";
  }
  function getWindow(node2) {
    var _node$ownerDocument;
    return (node2 == null || (_node$ownerDocument = node2.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
  }
  function getDocumentElement(node2) {
    var _ref3;
    return (_ref3 = (isNode(node2) ? node2.ownerDocument : node2.document) || window.document) == null ? void 0 : _ref3.documentElement;
  }
  function isNode(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof Node || value instanceof getWindow(value).Node;
  }
  function isElement(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof Element || value instanceof getWindow(value).Element;
  }
  function isHTMLElement(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
  }
  function isShadowRoot(value) {
    if (!hasWindow() || typeof ShadowRoot === "undefined") {
      return false;
    }
    return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
  }
  const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
  function isOverflowElement(element) {
    const {
      overflow,
      overflowX,
      overflowY,
      display
    } = getComputedStyle$1(element);
    return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
  }
  function isWebKit() {
    if (typeof CSS === "undefined" || !CSS.supports) return false;
    return CSS.supports("-webkit-backdrop-filter", "none");
  }
  const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
  function isLastTraversableNode(node2) {
    return lastTraversableNodeNames.has(getNodeName(node2));
  }
  function getComputedStyle$1(element) {
    return getWindow(element).getComputedStyle(element);
  }
  function getParentNode(node2) {
    if (getNodeName(node2) === "html") {
      return node2;
    }
    const result = (
      // Step into the shadow DOM of the parent of a slotted node.
      node2.assignedSlot || // DOM Element detected.
      node2.parentNode || // ShadowRoot detected.
      isShadowRoot(node2) && node2.host || // Fallback.
      getDocumentElement(node2)
    );
    return isShadowRoot(result) ? result.host : result;
  }
  function getNearestOverflowAncestor(node2) {
    const parentNode = getParentNode(node2);
    if (isLastTraversableNode(parentNode)) {
      return node2.ownerDocument ? node2.ownerDocument.body : node2.body;
    }
    if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
      return parentNode;
    }
    return getNearestOverflowAncestor(parentNode);
  }
  function getOverflowAncestors(node2, list, traverseIframes) {
    var _node$ownerDocument2;
    if (list === void 0) {
      list = [];
    }
    if (traverseIframes === void 0) {
      traverseIframes = true;
    }
    const scrollableAncestor = getNearestOverflowAncestor(node2);
    const isBody = scrollableAncestor === ((_node$ownerDocument2 = node2.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
    const win2 = getWindow(scrollableAncestor);
    if (isBody) {
      const frameElement = getFrameElement(win2);
      return list.concat(win2, win2.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
    }
    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
  }
  function getFrameElement(win2) {
    return win2.parent && Object.getPrototypeOf(win2.parent) ? win2.frameElement : null;
  }
  function getCssDimensions(element) {
    const css3 = getComputedStyle$1(element);
    let width = parseFloat(css3.width) || 0;
    let height = parseFloat(css3.height) || 0;
    const hasOffset = isHTMLElement(element);
    const offsetWidth = hasOffset ? element.offsetWidth : width;
    const offsetHeight = hasOffset ? element.offsetHeight : height;
    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
    if (shouldFallback) {
      width = offsetWidth;
      height = offsetHeight;
    }
    return {
      width,
      height,
      $: shouldFallback
    };
  }
  function unwrapElement(element) {
    return !isElement(element) ? element.contextElement : element;
  }
  function getScale(element) {
    const domElement = unwrapElement(element);
    if (!isHTMLElement(domElement)) {
      return createCoords(1);
    }
    const rect = domElement.getBoundingClientRect();
    const {
      width,
      height,
      $
    } = getCssDimensions(domElement);
    let x2 = ($ ? round(rect.width) : rect.width) / width;
    let y2 = ($ ? round(rect.height) : rect.height) / height;
    if (!x2 || !Number.isFinite(x2)) {
      x2 = 1;
    }
    if (!y2 || !Number.isFinite(y2)) {
      y2 = 1;
    }
    return {
      x: x2,
      y: y2
    };
  }
  const noOffsets = /* @__PURE__ */ createCoords(0);
  function getVisualOffsets(element) {
    const win2 = getWindow(element);
    if (!isWebKit() || !win2.visualViewport) {
      return noOffsets;
    }
    return {
      x: win2.visualViewport.offsetLeft,
      y: win2.visualViewport.offsetTop
    };
  }
  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
    {
      return false;
    }
  }
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
    if (includeScale === void 0) {
      includeScale = false;
    }
    const clientRect = element.getBoundingClientRect();
    const domElement = unwrapElement(element);
    let scale = createCoords(1);
    if (includeScale) {
      {
        scale = getScale(element);
      }
    }
    const visualOffsets = shouldAddVisualOffsets() ? getVisualOffsets(domElement) : createCoords(0);
    let x2 = (clientRect.left + visualOffsets.x) / scale.x;
    let y2 = (clientRect.top + visualOffsets.y) / scale.y;
    let width = clientRect.width / scale.x;
    let height = clientRect.height / scale.y;
    if (domElement) {
      const win2 = getWindow(domElement);
      const offsetWin = offsetParent;
      let currentWin = win2;
      let currentIFrame = getFrameElement(currentWin);
      while (currentIFrame && offsetParent && offsetWin !== currentWin) {
        const iframeScale = getScale(currentIFrame);
        const iframeRect = currentIFrame.getBoundingClientRect();
        const css3 = getComputedStyle$1(currentIFrame);
        const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css3.paddingLeft)) * iframeScale.x;
        const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css3.paddingTop)) * iframeScale.y;
        x2 *= iframeScale.x;
        y2 *= iframeScale.y;
        width *= iframeScale.x;
        height *= iframeScale.y;
        x2 += left;
        y2 += top;
        currentWin = getWindow(currentIFrame);
        currentIFrame = getFrameElement(currentWin);
      }
    }
    return rectToClientRect({
      width,
      height,
      x: x2,
      y: y2
    });
  }
  function rectsAreEqual(a, b2) {
    return a.x === b2.x && a.y === b2.y && a.width === b2.width && a.height === b2.height;
  }
  function observeMove(element, onMove) {
    let io = null;
    let timeoutId;
    const root = getDocumentElement(element);
    function cleanup() {
      var _io;
      clearTimeout(timeoutId);
      (_io = io) == null || _io.disconnect();
      io = null;
    }
    function refresh(skip, threshold) {
      if (skip === void 0) {
        skip = false;
      }
      if (threshold === void 0) {
        threshold = 1;
      }
      cleanup();
      const elementRectForRootMargin = element.getBoundingClientRect();
      const {
        left,
        top,
        width,
        height
      } = elementRectForRootMargin;
      if (!skip) {
        onMove();
      }
      if (!width || !height) {
        return;
      }
      const insetTop = floor(top);
      const insetRight = floor(root.clientWidth - (left + width));
      const insetBottom = floor(root.clientHeight - (top + height));
      const insetLeft = floor(left);
      const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
      const options2 = {
        rootMargin,
        threshold: max(0, min(1, threshold)) || 1
      };
      let isFirstUpdate = true;
      function handleObserve(entries) {
        const ratio = entries[0].intersectionRatio;
        if (ratio !== threshold) {
          if (!isFirstUpdate) {
            return refresh();
          }
          if (!ratio) {
            timeoutId = setTimeout(() => {
              refresh(false, 1e-7);
            }, 1e3);
          } else {
            refresh(false, ratio);
          }
        }
        if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
          refresh();
        }
        isFirstUpdate = false;
      }
      try {
        io = new IntersectionObserver(handleObserve, __spreadProps(__spreadValues({}, options2), {
          // Handle <iframe>s
          root: root.ownerDocument
        }));
      } catch (_e) {
        io = new IntersectionObserver(handleObserve, options2);
      }
      io.observe(element);
    }
    refresh(true);
    return cleanup;
  }
  function autoUpdate(reference, floating, update, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      ancestorScroll = true,
      ancestorResize = true,
      elementResize = typeof ResizeObserver === "function",
      layoutShift = typeof IntersectionObserver === "function",
      animationFrame = false
    } = options2;
    const referenceEl = unwrapElement(reference);
    const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
    ancestors.forEach((ancestor) => {
      ancestorScroll && ancestor.addEventListener("scroll", update, {
        passive: true
      });
      ancestorResize && ancestor.addEventListener("resize", update);
    });
    const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
    let reobserveFrame = -1;
    let resizeObserver = null;
    if (elementResize) {
      resizeObserver = new ResizeObserver((_ref3) => {
        let [firstEntry] = _ref3;
        if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
          resizeObserver.unobserve(floating);
          cancelAnimationFrame(reobserveFrame);
          reobserveFrame = requestAnimationFrame(() => {
            var _resizeObserver;
            (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
          });
        }
        update();
      });
      if (referenceEl && !animationFrame) {
        resizeObserver.observe(referenceEl);
      }
      resizeObserver.observe(floating);
    }
    let frameId;
    let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
    if (animationFrame) {
      frameLoop();
    }
    function frameLoop() {
      const nextRefRect = getBoundingClientRect(reference);
      if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
        update();
      }
      prevRefRect = nextRefRect;
      frameId = requestAnimationFrame(frameLoop);
    }
    update();
    return () => {
      var _resizeObserver2;
      ancestors.forEach((ancestor) => {
        ancestorScroll && ancestor.removeEventListener("scroll", update);
        ancestorResize && ancestor.removeEventListener("resize", update);
      });
      cleanupIo == null || cleanupIo();
      (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
      resizeObserver = null;
      if (animationFrame) {
        cancelAnimationFrame(frameId);
      }
    };
  }
  var index = React.useLayoutEffect;
  var _excluded$4 = ["className", "clearValue", "cx", "getStyles", "getClassNames", "getValue", "hasValue", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue", "theme"];
  var noop = function noop2() {
  };
  function applyPrefixToName(prefix2, name) {
    if (!name) {
      return prefix2;
    } else if (name[0] === "-") {
      return prefix2 + name;
    } else {
      return prefix2 + "__" + name;
    }
  }
  function classNames(prefix2, state) {
    for (var _len = arguments.length, classNameList = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
      classNameList[_key - 2] = arguments[_key];
    }
    var arr = [].concat(classNameList);
    if (state && prefix2) {
      for (var key in state) {
        if (state.hasOwnProperty(key) && state[key]) {
          arr.push("".concat(applyPrefixToName(prefix2, key)));
        }
      }
    }
    return arr.filter(function(i2) {
      return i2;
    }).map(function(i2) {
      return String(i2).trim();
    }).join(" ");
  }
  var cleanValue = function cleanValue2(value) {
    if (isArray(value)) return value.filter(Boolean);
    if (_typeof(value) === "object" && value !== null) return [value];
    return [];
  };
  var cleanCommonProps = function cleanCommonProps2(props) {
    props.className;
    props.clearValue;
    props.cx;
    props.getStyles;
    props.getClassNames;
    props.getValue;
    props.hasValue;
    props.isMulti;
    props.isRtl;
    props.options;
    props.selectOption;
    props.selectProps;
    props.setValue;
    props.theme;
    var innerProps = _objectWithoutProperties(props, _excluded$4);
    return _objectSpread2({}, innerProps);
  };
  var getStyleProps = function getStyleProps2(props, name, classNamesState) {
    var cx = props.cx, getStyles = props.getStyles, getClassNames = props.getClassNames, className = props.className;
    return {
      css: getStyles(name, props),
      className: cx(classNamesState !== null && classNamesState !== void 0 ? classNamesState : {}, getClassNames(name, props), className)
    };
  };
  function isDocumentElement(el) {
    return [document.documentElement, document.body, window].indexOf(el) > -1;
  }
  function normalizedHeight(el) {
    if (isDocumentElement(el)) {
      return window.innerHeight;
    }
    return el.clientHeight;
  }
  function getScrollTop(el) {
    if (isDocumentElement(el)) {
      return window.pageYOffset;
    }
    return el.scrollTop;
  }
  function scrollTo(el, top) {
    if (isDocumentElement(el)) {
      window.scrollTo(0, top);
      return;
    }
    el.scrollTop = top;
  }
  function getScrollParent(element) {
    var style = getComputedStyle(element);
    var excludeStaticParent = style.position === "absolute";
    var overflowRx = /(auto|scroll)/;
    if (style.position === "fixed") return document.documentElement;
    for (var parent = element; parent = parent.parentElement; ) {
      style = getComputedStyle(parent);
      if (excludeStaticParent && style.position === "static") {
        continue;
      }
      if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {
        return parent;
      }
    }
    return document.documentElement;
  }
  function easeOutCubic(t2, b2, c2, d2) {
    return c2 * ((t2 = t2 / d2 - 1) * t2 * t2 + 1) + b2;
  }
  function animatedScrollTo(element, to) {
    var duration = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 200;
    var callback = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : noop;
    var start = getScrollTop(element);
    var change = to - start;
    var increment = 10;
    var currentTime = 0;
    function animateScroll() {
      currentTime += increment;
      var val = easeOutCubic(currentTime, start, change, duration);
      scrollTo(element, val);
      if (currentTime < duration) {
        window.requestAnimationFrame(animateScroll);
      } else {
        callback(element);
      }
    }
    animateScroll();
  }
  function scrollIntoView(menuEl, focusedEl) {
    var menuRect = menuEl.getBoundingClientRect();
    var focusedRect = focusedEl.getBoundingClientRect();
    var overScroll = focusedEl.offsetHeight / 3;
    if (focusedRect.bottom + overScroll > menuRect.bottom) {
      scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));
    } else if (focusedRect.top - overScroll < menuRect.top) {
      scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));
    }
  }
  function getBoundingClientObj(element) {
    var rect = element.getBoundingClientRect();
    return {
      bottom: rect.bottom,
      height: rect.height,
      left: rect.left,
      right: rect.right,
      top: rect.top,
      width: rect.width
    };
  }
  function isTouchCapable() {
    try {
      document.createEvent("TouchEvent");
      return true;
    } catch (e2) {
      return false;
    }
  }
  function isMobileDevice() {
    try {
      return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    } catch (e2) {
      return false;
    }
  }
  var passiveOptionAccessed = false;
  var options = {
    get passive() {
      return passiveOptionAccessed = true;
    }
  };
  var w = typeof window !== "undefined" ? window : {};
  if (w.addEventListener && w.removeEventListener) {
    w.addEventListener("p", noop, options);
    w.removeEventListener("p", noop, false);
  }
  var supportsPassiveEvents = passiveOptionAccessed;
  function notNullish(item) {
    return item != null;
  }
  function isArray(arg) {
    return Array.isArray(arg);
  }
  function valueTernary(isMulti, multiValue, singleValue) {
    return isMulti ? multiValue : singleValue;
  }
  function singleValueAsValue(singleValue) {
    return singleValue;
  }
  function multiValueAsValue(multiValue) {
    return multiValue;
  }
  var removeProps = function removeProps2(propsObj) {
    for (var _len2 = arguments.length, properties = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
      properties[_key2 - 1] = arguments[_key2];
    }
    var propsMap = Object.entries(propsObj).filter(function(_ref3) {
      var _ref22 = _slicedToArray(_ref3, 1), key = _ref22[0];
      return !properties.includes(key);
    });
    return propsMap.reduce(function(newProps, _ref3) {
      var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], val = _ref4[1];
      newProps[key] = val;
      return newProps;
    }, {});
  };
  var _excluded$3 = ["children", "innerProps"], _excluded2$1 = ["children", "innerProps"];
  function getMenuPlacement(_ref3) {
    var preferredMaxHeight = _ref3.maxHeight, menuEl = _ref3.menuEl, minHeight = _ref3.minHeight, preferredPlacement = _ref3.placement, shouldScroll = _ref3.shouldScroll, isFixedPosition = _ref3.isFixedPosition, controlHeight2 = _ref3.controlHeight;
    var scrollParent = getScrollParent(menuEl);
    var defaultState = {
      placement: "bottom",
      maxHeight: preferredMaxHeight
    };
    if (!menuEl || !menuEl.offsetParent) return defaultState;
    var _scrollParent$getBoun = scrollParent.getBoundingClientRect(), scrollHeight = _scrollParent$getBoun.height;
    var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(), menuBottom = _menuEl$getBoundingCl.bottom, menuHeight = _menuEl$getBoundingCl.height, menuTop = _menuEl$getBoundingCl.top;
    var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(), containerTop = _menuEl$offsetParent$.top;
    var viewHeight = isFixedPosition ? window.innerHeight : normalizedHeight(scrollParent);
    var scrollTop = getScrollTop(scrollParent);
    var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
    var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
    var viewSpaceAbove = containerTop - marginTop;
    var viewSpaceBelow = viewHeight - menuTop;
    var scrollSpaceAbove = viewSpaceAbove + scrollTop;
    var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;
    var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
    var scrollUp = scrollTop + menuTop - marginTop;
    var scrollDuration = 160;
    switch (preferredPlacement) {
      case "auto":
      case "bottom":
        if (viewSpaceBelow >= menuHeight) {
          return {
            placement: "bottom",
            maxHeight: preferredMaxHeight
          };
        }
        if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
          if (shouldScroll) {
            animatedScrollTo(scrollParent, scrollDown, scrollDuration);
          }
          return {
            placement: "bottom",
            maxHeight: preferredMaxHeight
          };
        }
        if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
          if (shouldScroll) {
            animatedScrollTo(scrollParent, scrollDown, scrollDuration);
          }
          var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
          return {
            placement: "bottom",
            maxHeight: constrainedHeight
          };
        }
        if (preferredPlacement === "auto" || isFixedPosition) {
          var _constrainedHeight = preferredMaxHeight;
          var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
          if (spaceAbove >= minHeight) {
            _constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight2, preferredMaxHeight);
          }
          return {
            placement: "top",
            maxHeight: _constrainedHeight
          };
        }
        if (preferredPlacement === "bottom") {
          if (shouldScroll) {
            scrollTo(scrollParent, scrollDown);
          }
          return {
            placement: "bottom",
            maxHeight: preferredMaxHeight
          };
        }
        break;
      case "top":
        if (viewSpaceAbove >= menuHeight) {
          return {
            placement: "top",
            maxHeight: preferredMaxHeight
          };
        }
        if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
          if (shouldScroll) {
            animatedScrollTo(scrollParent, scrollUp, scrollDuration);
          }
          return {
            placement: "top",
            maxHeight: preferredMaxHeight
          };
        }
        if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
          var _constrainedHeight2 = preferredMaxHeight;
          if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
            _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
          }
          if (shouldScroll) {
            animatedScrollTo(scrollParent, scrollUp, scrollDuration);
          }
          return {
            placement: "top",
            maxHeight: _constrainedHeight2
          };
        }
        return {
          placement: "bottom",
          maxHeight: preferredMaxHeight
        };
      default:
        throw new Error('Invalid placement provided "'.concat(preferredPlacement, '".'));
    }
    return defaultState;
  }
  function alignToControl(placement) {
    var placementToCSSProp = {
      bottom: "top",
      top: "bottom"
    };
    return placement ? placementToCSSProp[placement] : "bottom";
  }
  var coercePlacement = function coercePlacement2(p2) {
    return p2 === "auto" ? "bottom" : p2;
  };
  var menuCSS = function menuCSS2(_ref22, unstyled) {
    var _objectSpread2$1;
    var placement = _ref22.placement, _ref2$theme = _ref22.theme, borderRadius2 = _ref2$theme.borderRadius, spacing2 = _ref2$theme.spacing, colors2 = _ref2$theme.colors;
    return _objectSpread2((_objectSpread2$1 = {
      label: "menu"
    }, _defineProperty(_objectSpread2$1, alignToControl(placement), "100%"), _defineProperty(_objectSpread2$1, "position", "absolute"), _defineProperty(_objectSpread2$1, "width", "100%"), _defineProperty(_objectSpread2$1, "zIndex", 1), _objectSpread2$1), unstyled ? {} : {
      backgroundColor: colors2.neutral0,
      borderRadius: borderRadius2,
      boxShadow: "0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",
      marginBottom: spacing2.menuGutter,
      marginTop: spacing2.menuGutter
    });
  };
  var PortalPlacementContext = /* @__PURE__ */ React.createContext(null);
  var MenuPlacer = function MenuPlacer2(props) {
    var children = props.children, minMenuHeight = props.minMenuHeight, maxMenuHeight = props.maxMenuHeight, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition, menuShouldScrollIntoView = props.menuShouldScrollIntoView, theme = props.theme;
    var _ref3 = React.useContext(PortalPlacementContext) || {}, setPortalPlacement = _ref3.setPortalPlacement;
    var ref = React.useRef(null);
    var _useState = React.useState(maxMenuHeight), _useState2 = _slicedToArray(_useState, 2), maxHeight = _useState2[0], setMaxHeight = _useState2[1];
    var _useState3 = React.useState(null), _useState4 = _slicedToArray(_useState3, 2), placement = _useState4[0], setPlacement = _useState4[1];
    var controlHeight2 = theme.spacing.controlHeight;
    index(function() {
      var menuEl = ref.current;
      if (!menuEl) return;
      var isFixedPosition = menuPosition === "fixed";
      var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
      var state = getMenuPlacement({
        maxHeight: maxMenuHeight,
        menuEl,
        minHeight: minMenuHeight,
        placement: menuPlacement,
        shouldScroll,
        isFixedPosition,
        controlHeight: controlHeight2
      });
      setMaxHeight(state.maxHeight);
      setPlacement(state.placement);
      setPortalPlacement === null || setPortalPlacement === void 0 ? void 0 : setPortalPlacement(state.placement);
    }, [maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, minMenuHeight, setPortalPlacement, controlHeight2]);
    return children({
      ref,
      placerProps: _objectSpread2(_objectSpread2({}, props), {}, {
        placement: placement || coercePlacement(menuPlacement),
        maxHeight
      })
    });
  };
  var Menu = function Menu2(props) {
    var children = props.children, innerRef = props.innerRef, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "menu", {
      menu: true
    }), {
      ref: innerRef
    }, innerProps), children);
  };
  var Menu$1 = Menu;
  var menuListCSS = function menuListCSS2(_ref4, unstyled) {
    var maxHeight = _ref4.maxHeight, baseUnit2 = _ref4.theme.spacing.baseUnit;
    return _objectSpread2({
      maxHeight,
      overflowY: "auto",
      position: "relative",
      // required for offset[Height, Top] > keyboard scroll
      WebkitOverflowScrolling: "touch"
    }, unstyled ? {} : {
      paddingBottom: baseUnit2,
      paddingTop: baseUnit2
    });
  };
  var MenuList = function MenuList2(props) {
    var children = props.children, innerProps = props.innerProps, innerRef = props.innerRef, isMulti = props.isMulti;
    return jsx("div", _extends({}, getStyleProps(props, "menuList", {
      "menu-list": true,
      "menu-list--is-multi": isMulti
    }), {
      ref: innerRef
    }, innerProps), children);
  };
  var noticeCSS = function noticeCSS2(_ref5, unstyled) {
    var _ref5$theme = _ref5.theme, baseUnit2 = _ref5$theme.spacing.baseUnit, colors2 = _ref5$theme.colors;
    return _objectSpread2({
      textAlign: "center"
    }, unstyled ? {} : {
      color: colors2.neutral40,
      padding: "".concat(baseUnit2 * 2, "px ").concat(baseUnit2 * 3, "px")
    });
  };
  var noOptionsMessageCSS = noticeCSS;
  var loadingMessageCSS = noticeCSS;
  var NoOptionsMessage = function NoOptionsMessage2(_ref6) {
    var _ref6$children = _ref6.children, children = _ref6$children === void 0 ? "No options" : _ref6$children, innerProps = _ref6.innerProps, restProps = _objectWithoutProperties(_ref6, _excluded$3);
    return jsx("div", _extends({}, getStyleProps(_objectSpread2(_objectSpread2({}, restProps), {}, {
      children,
      innerProps
    }), "noOptionsMessage", {
      "menu-notice": true,
      "menu-notice--no-options": true
    }), innerProps), children);
  };
  var LoadingMessage = function LoadingMessage2(_ref7) {
    var _ref7$children = _ref7.children, children = _ref7$children === void 0 ? "Loading..." : _ref7$children, innerProps = _ref7.innerProps, restProps = _objectWithoutProperties(_ref7, _excluded2$1);
    return jsx("div", _extends({}, getStyleProps(_objectSpread2(_objectSpread2({}, restProps), {}, {
      children,
      innerProps
    }), "loadingMessage", {
      "menu-notice": true,
      "menu-notice--loading": true
    }), innerProps), children);
  };
  var menuPortalCSS = function menuPortalCSS2(_ref8) {
    var rect = _ref8.rect, offset = _ref8.offset, position2 = _ref8.position;
    return {
      left: rect.left,
      position: position2,
      top: offset,
      width: rect.width,
      zIndex: 1
    };
  };
  var MenuPortal = function MenuPortal2(props) {
    var appendTo = props.appendTo, children = props.children, controlElement = props.controlElement, innerProps = props.innerProps, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition;
    var menuPortalRef = React.useRef(null);
    var cleanupRef = React.useRef(null);
    var _useState5 = React.useState(coercePlacement(menuPlacement)), _useState6 = _slicedToArray(_useState5, 2), placement = _useState6[0], setPortalPlacement = _useState6[1];
    var portalPlacementContext = React.useMemo(function() {
      return {
        setPortalPlacement
      };
    }, []);
    var _useState7 = React.useState(null), _useState8 = _slicedToArray(_useState7, 2), computedPosition = _useState8[0], setComputedPosition = _useState8[1];
    var updateComputedPosition = React.useCallback(function() {
      if (!controlElement) return;
      var rect = getBoundingClientObj(controlElement);
      var scrollDistance = menuPosition === "fixed" ? 0 : window.pageYOffset;
      var offset = rect[placement] + scrollDistance;
      if (offset !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset) || rect.left !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left) || rect.width !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width)) {
        setComputedPosition({
          offset,
          rect
        });
      }
    }, [controlElement, menuPosition, placement, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width]);
    index(function() {
      updateComputedPosition();
    }, [updateComputedPosition]);
    var runAutoUpdate = React.useCallback(function() {
      if (typeof cleanupRef.current === "function") {
        cleanupRef.current();
        cleanupRef.current = null;
      }
      if (controlElement && menuPortalRef.current) {
        cleanupRef.current = autoUpdate(controlElement, menuPortalRef.current, updateComputedPosition, {
          elementResize: "ResizeObserver" in window
        });
      }
    }, [controlElement, updateComputedPosition]);
    index(function() {
      runAutoUpdate();
    }, [runAutoUpdate]);
    var setMenuPortalElement = React.useCallback(function(menuPortalElement) {
      menuPortalRef.current = menuPortalElement;
      runAutoUpdate();
    }, [runAutoUpdate]);
    if (!appendTo && menuPosition !== "fixed" || !computedPosition) return null;
    var menuWrapper = jsx("div", _extends({
      ref: setMenuPortalElement
    }, getStyleProps(_objectSpread2(_objectSpread2({}, props), {}, {
      offset: computedPosition.offset,
      position: menuPosition,
      rect: computedPosition.rect
    }), "menuPortal", {
      "menu-portal": true
    }), innerProps), children);
    return jsx(PortalPlacementContext.Provider, {
      value: portalPlacementContext
    }, appendTo ? /* @__PURE__ */ reactDom.createPortal(menuWrapper, appendTo) : menuWrapper);
  };
  var containerCSS = function containerCSS2(_ref3) {
    var isDisabled = _ref3.isDisabled, isRtl = _ref3.isRtl;
    return {
      label: "container",
      direction: isRtl ? "rtl" : void 0,
      pointerEvents: isDisabled ? "none" : void 0,
      // cancel mouse events when disabled
      position: "relative"
    };
  };
  var SelectContainer = function SelectContainer2(props) {
    var children = props.children, innerProps = props.innerProps, isDisabled = props.isDisabled, isRtl = props.isRtl;
    return jsx("div", _extends({}, getStyleProps(props, "container", {
      "--is-disabled": isDisabled,
      "--is-rtl": isRtl
    }), innerProps), children);
  };
  var valueContainerCSS = function valueContainerCSS2(_ref22, unstyled) {
    var spacing2 = _ref22.theme.spacing, isMulti = _ref22.isMulti, hasValue = _ref22.hasValue, controlShouldRenderValue = _ref22.selectProps.controlShouldRenderValue;
    return _objectSpread2({
      alignItems: "center",
      display: isMulti && hasValue && controlShouldRenderValue ? "flex" : "grid",
      flex: 1,
      flexWrap: "wrap",
      WebkitOverflowScrolling: "touch",
      position: "relative",
      overflow: "hidden"
    }, unstyled ? {} : {
      padding: "".concat(spacing2.baseUnit / 2, "px ").concat(spacing2.baseUnit * 2, "px")
    });
  };
  var ValueContainer = function ValueContainer2(props) {
    var children = props.children, innerProps = props.innerProps, isMulti = props.isMulti, hasValue = props.hasValue;
    return jsx("div", _extends({}, getStyleProps(props, "valueContainer", {
      "value-container": true,
      "value-container--is-multi": isMulti,
      "value-container--has-value": hasValue
    }), innerProps), children);
  };
  var indicatorsContainerCSS = function indicatorsContainerCSS2() {
    return {
      alignItems: "center",
      alignSelf: "stretch",
      display: "flex",
      flexShrink: 0
    };
  };
  var IndicatorsContainer = function IndicatorsContainer2(props) {
    var children = props.children, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "indicatorsContainer", {
      indicators: true
    }), innerProps), children);
  };
  var _templateObject;
  var _excluded$2 = ["size"], _excluded2 = ["innerProps", "isRtl", "size"];
  var _ref2$2 = {
    name: "8mmkcg",
    styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"
  };
  var Svg = function Svg2(_ref3) {
    var size = _ref3.size, props = _objectWithoutProperties(_ref3, _excluded$2);
    return jsx("svg", _extends({
      height: size,
      width: size,
      viewBox: "0 0 20 20",
      "aria-hidden": "true",
      focusable: "false",
      css: _ref2$2
    }, props));
  };
  var CrossIcon = function CrossIcon2(props) {
    return jsx(Svg, _extends({
      size: 20
    }, props), jsx("path", {
      d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
    }));
  };
  var DownChevron = function DownChevron2(props) {
    return jsx(Svg, _extends({
      size: 20
    }, props), jsx("path", {
      d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
    }));
  };
  var baseCSS = function baseCSS2(_ref3, unstyled) {
    var isFocused = _ref3.isFocused, _ref3$theme = _ref3.theme, baseUnit2 = _ref3$theme.spacing.baseUnit, colors2 = _ref3$theme.colors;
    return _objectSpread2({
      label: "indicatorContainer",
      display: "flex",
      transition: "color 150ms"
    }, unstyled ? {} : {
      color: isFocused ? colors2.neutral60 : colors2.neutral20,
      padding: baseUnit2 * 2,
      ":hover": {
        color: isFocused ? colors2.neutral80 : colors2.neutral40
      }
    });
  };
  var dropdownIndicatorCSS = baseCSS;
  var DropdownIndicator = function DropdownIndicator2(props) {
    var children = props.children, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "dropdownIndicator", {
      indicator: true,
      "dropdown-indicator": true
    }), innerProps), children || jsx(DownChevron, null));
  };
  var clearIndicatorCSS = baseCSS;
  var ClearIndicator = function ClearIndicator2(props) {
    var children = props.children, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "clearIndicator", {
      indicator: true,
      "clear-indicator": true
    }), innerProps), children || jsx(CrossIcon, null));
  };
  var indicatorSeparatorCSS = function indicatorSeparatorCSS2(_ref4, unstyled) {
    var isDisabled = _ref4.isDisabled, _ref4$theme = _ref4.theme, baseUnit2 = _ref4$theme.spacing.baseUnit, colors2 = _ref4$theme.colors;
    return _objectSpread2({
      label: "indicatorSeparator",
      alignSelf: "stretch",
      width: 1
    }, unstyled ? {} : {
      backgroundColor: isDisabled ? colors2.neutral10 : colors2.neutral20,
      marginBottom: baseUnit2 * 2,
      marginTop: baseUnit2 * 2
    });
  };
  var IndicatorSeparator = function IndicatorSeparator2(props) {
    var innerProps = props.innerProps;
    return jsx("span", _extends({}, innerProps, getStyleProps(props, "indicatorSeparator", {
      "indicator-separator": true
    })));
  };
  var loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n  0%, 80%, 100% { opacity: 0; }\n  40% { opacity: 1; }\n"])));
  var loadingIndicatorCSS = function loadingIndicatorCSS2(_ref5, unstyled) {
    var isFocused = _ref5.isFocused, size = _ref5.size, _ref5$theme = _ref5.theme, colors2 = _ref5$theme.colors, baseUnit2 = _ref5$theme.spacing.baseUnit;
    return _objectSpread2({
      label: "loadingIndicator",
      display: "flex",
      transition: "color 150ms",
      alignSelf: "center",
      fontSize: size,
      lineHeight: 1,
      marginRight: size,
      textAlign: "center",
      verticalAlign: "middle"
    }, unstyled ? {} : {
      color: isFocused ? colors2.neutral60 : colors2.neutral20,
      padding: baseUnit2 * 2
    });
  };
  var LoadingDot = function LoadingDot2(_ref6) {
    var delay = _ref6.delay, offset = _ref6.offset;
    return jsx("span", {
      css: /* @__PURE__ */ css({
        animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
        backgroundColor: "currentColor",
        borderRadius: "1em",
        display: "inline-block",
        marginLeft: offset ? "1em" : void 0,
        height: "1em",
        verticalAlign: "top",
        width: "1em"
      }, "", "")
    });
  };
  var LoadingIndicator = function LoadingIndicator2(_ref7) {
    var innerProps = _ref7.innerProps, isRtl = _ref7.isRtl, _ref7$size = _ref7.size, size = _ref7$size === void 0 ? 4 : _ref7$size, restProps = _objectWithoutProperties(_ref7, _excluded2);
    return jsx("div", _extends({}, getStyleProps(_objectSpread2(_objectSpread2({}, restProps), {}, {
      innerProps,
      isRtl,
      size
    }), "loadingIndicator", {
      indicator: true,
      "loading-indicator": true
    }), innerProps), jsx(LoadingDot, {
      delay: 0,
      offset: isRtl
    }), jsx(LoadingDot, {
      delay: 160,
      offset: true
    }), jsx(LoadingDot, {
      delay: 320,
      offset: !isRtl
    }));
  };
  var css$1 = function css3(_ref3, unstyled) {
    var isDisabled = _ref3.isDisabled, isFocused = _ref3.isFocused, _ref$theme = _ref3.theme, colors2 = _ref$theme.colors, borderRadius2 = _ref$theme.borderRadius, spacing2 = _ref$theme.spacing;
    return _objectSpread2({
      label: "control",
      alignItems: "center",
      cursor: "default",
      display: "flex",
      flexWrap: "wrap",
      justifyContent: "space-between",
      minHeight: spacing2.controlHeight,
      outline: "0 !important",
      position: "relative",
      transition: "all 100ms"
    }, unstyled ? {} : {
      backgroundColor: isDisabled ? colors2.neutral5 : colors2.neutral0,
      borderColor: isDisabled ? colors2.neutral10 : isFocused ? colors2.primary : colors2.neutral20,
      borderRadius: borderRadius2,
      borderStyle: "solid",
      borderWidth: 1,
      boxShadow: isFocused ? "0 0 0 1px ".concat(colors2.primary) : void 0,
      "&:hover": {
        borderColor: isFocused ? colors2.primary : colors2.neutral30
      }
    });
  };
  var Control = function Control2(props) {
    var children = props.children, isDisabled = props.isDisabled, isFocused = props.isFocused, innerRef = props.innerRef, innerProps = props.innerProps, menuIsOpen = props.menuIsOpen;
    return jsx("div", _extends({
      ref: innerRef
    }, getStyleProps(props, "control", {
      control: true,
      "control--is-disabled": isDisabled,
      "control--is-focused": isFocused,
      "control--menu-is-open": menuIsOpen
    }), innerProps, {
      "aria-disabled": isDisabled || void 0
    }), children);
  };
  var Control$1 = Control;
  var _excluded$1 = ["data"];
  var groupCSS = function groupCSS2(_ref3, unstyled) {
    var spacing2 = _ref3.theme.spacing;
    return unstyled ? {} : {
      paddingBottom: spacing2.baseUnit * 2,
      paddingTop: spacing2.baseUnit * 2
    };
  };
  var Group = function Group2(props) {
    var children = props.children, cx = props.cx, getStyles = props.getStyles, getClassNames = props.getClassNames, Heading = props.Heading, headingProps = props.headingProps, innerProps = props.innerProps, label = props.label, theme = props.theme, selectProps = props.selectProps;
    return jsx("div", _extends({}, getStyleProps(props, "group", {
      group: true
    }), innerProps), jsx(Heading, _extends({}, headingProps, {
      selectProps,
      theme,
      getStyles,
      getClassNames,
      cx
    }), label), jsx("div", null, children));
  };
  var groupHeadingCSS = function groupHeadingCSS2(_ref22, unstyled) {
    var _ref2$theme = _ref22.theme, colors2 = _ref2$theme.colors, spacing2 = _ref2$theme.spacing;
    return _objectSpread2({
      label: "group",
      cursor: "default",
      display: "block"
    }, unstyled ? {} : {
      color: colors2.neutral40,
      fontSize: "75%",
      fontWeight: 500,
      marginBottom: "0.25em",
      paddingLeft: spacing2.baseUnit * 3,
      paddingRight: spacing2.baseUnit * 3,
      textTransform: "uppercase"
    });
  };
  var GroupHeading = function GroupHeading2(props) {
    var _cleanCommonProps = cleanCommonProps(props);
    _cleanCommonProps.data;
    var innerProps = _objectWithoutProperties(_cleanCommonProps, _excluded$1);
    return jsx("div", _extends({}, getStyleProps(props, "groupHeading", {
      "group-heading": true
    }), innerProps));
  };
  var Group$1 = Group;
  var _excluded$5 = ["innerRef", "isDisabled", "isHidden", "inputClassName"];
  var inputCSS = function inputCSS2(_ref3, unstyled) {
    var isDisabled = _ref3.isDisabled, value = _ref3.value, _ref$theme = _ref3.theme, spacing2 = _ref$theme.spacing, colors2 = _ref$theme.colors;
    return _objectSpread2(_objectSpread2({
      visibility: isDisabled ? "hidden" : "visible",
      // force css to recompute when value change due to @emotion bug.
      // We can remove it whenever the bug is fixed.
      transform: value ? "translateZ(0)" : ""
    }, containerStyle), unstyled ? {} : {
      margin: spacing2.baseUnit / 2,
      paddingBottom: spacing2.baseUnit / 2,
      paddingTop: spacing2.baseUnit / 2,
      color: colors2.neutral80
    });
  };
  var spacingStyle = {
    gridArea: "1 / 2",
    font: "inherit",
    minWidth: "2px",
    border: 0,
    margin: 0,
    outline: 0,
    padding: 0
  };
  var containerStyle = {
    flex: "1 1 auto",
    display: "inline-grid",
    gridArea: "1 / 1 / 2 / 3",
    gridTemplateColumns: "0 min-content",
    "&:after": _objectSpread2({
      content: 'attr(data-value) " "',
      visibility: "hidden",
      whiteSpace: "pre"
    }, spacingStyle)
  };
  var inputStyle = function inputStyle2(isHidden) {
    return _objectSpread2({
      label: "input",
      color: "inherit",
      background: 0,
      opacity: isHidden ? 0 : 1,
      width: "100%"
    }, spacingStyle);
  };
  var Input = function Input2(props) {
    var cx = props.cx, value = props.value;
    var _cleanCommonProps = cleanCommonProps(props), innerRef = _cleanCommonProps.innerRef, isDisabled = _cleanCommonProps.isDisabled, isHidden = _cleanCommonProps.isHidden, inputClassName = _cleanCommonProps.inputClassName, innerProps = _objectWithoutProperties(_cleanCommonProps, _excluded$5);
    return jsx("div", _extends({}, getStyleProps(props, "input", {
      "input-container": true
    }), {
      "data-value": value || ""
    }), jsx("input", _extends({
      className: cx({
        input: true
      }, inputClassName),
      ref: innerRef,
      style: inputStyle(isHidden),
      disabled: isDisabled
    }, innerProps)));
  };
  var Input$1 = Input;
  var multiValueCSS = function multiValueCSS2(_ref3, unstyled) {
    var _ref$theme = _ref3.theme, spacing2 = _ref$theme.spacing, borderRadius2 = _ref$theme.borderRadius, colors2 = _ref$theme.colors;
    return _objectSpread2({
      label: "multiValue",
      display: "flex",
      minWidth: 0
    }, unstyled ? {} : {
      backgroundColor: colors2.neutral10,
      borderRadius: borderRadius2 / 2,
      margin: spacing2.baseUnit / 2
    });
  };
  var multiValueLabelCSS = function multiValueLabelCSS2(_ref22, unstyled) {
    var _ref2$theme = _ref22.theme, borderRadius2 = _ref2$theme.borderRadius, colors2 = _ref2$theme.colors, cropWithEllipsis = _ref22.cropWithEllipsis;
    return _objectSpread2({
      overflow: "hidden",
      textOverflow: cropWithEllipsis || cropWithEllipsis === void 0 ? "ellipsis" : void 0,
      whiteSpace: "nowrap"
    }, unstyled ? {} : {
      borderRadius: borderRadius2 / 2,
      color: colors2.neutral80,
      fontSize: "85%",
      padding: 3,
      paddingLeft: 6
    });
  };
  var multiValueRemoveCSS = function multiValueRemoveCSS2(_ref3, unstyled) {
    var _ref3$theme = _ref3.theme, spacing2 = _ref3$theme.spacing, borderRadius2 = _ref3$theme.borderRadius, colors2 = _ref3$theme.colors, isFocused = _ref3.isFocused;
    return _objectSpread2({
      alignItems: "center",
      display: "flex"
    }, unstyled ? {} : {
      borderRadius: borderRadius2 / 2,
      backgroundColor: isFocused ? colors2.dangerLight : void 0,
      paddingLeft: spacing2.baseUnit,
      paddingRight: spacing2.baseUnit,
      ":hover": {
        backgroundColor: colors2.dangerLight,
        color: colors2.danger
      }
    });
  };
  var MultiValueGeneric = function MultiValueGeneric2(_ref4) {
    var children = _ref4.children, innerProps = _ref4.innerProps;
    return jsx("div", innerProps, children);
  };
  var MultiValueContainer = MultiValueGeneric;
  var MultiValueLabel = MultiValueGeneric;
  function MultiValueRemove(_ref5) {
    var children = _ref5.children, innerProps = _ref5.innerProps;
    return jsx("div", _extends({
      role: "button"
    }, innerProps), children || jsx(CrossIcon, {
      size: 14
    }));
  }
  var MultiValue = function MultiValue2(props) {
    var children = props.children, components2 = props.components, data = props.data, innerProps = props.innerProps, isDisabled = props.isDisabled, removeProps3 = props.removeProps, selectProps = props.selectProps;
    var Container = components2.Container, Label = components2.Label, Remove = components2.Remove;
    return jsx(Container, {
      data,
      innerProps: _objectSpread2(_objectSpread2({}, getStyleProps(props, "multiValue", {
        "multi-value": true,
        "multi-value--is-disabled": isDisabled
      })), innerProps),
      selectProps
    }, jsx(Label, {
      data,
      innerProps: _objectSpread2({}, getStyleProps(props, "multiValueLabel", {
        "multi-value__label": true
      })),
      selectProps
    }, children), jsx(Remove, {
      data,
      innerProps: _objectSpread2(_objectSpread2({}, getStyleProps(props, "multiValueRemove", {
        "multi-value__remove": true
      })), {}, {
        "aria-label": "Remove ".concat(children || "option")
      }, removeProps3),
      selectProps
    }));
  };
  var MultiValue$1 = MultiValue;
  var optionCSS = function optionCSS2(_ref3, unstyled) {
    var isDisabled = _ref3.isDisabled, isFocused = _ref3.isFocused, isSelected = _ref3.isSelected, _ref$theme = _ref3.theme, spacing2 = _ref$theme.spacing, colors2 = _ref$theme.colors;
    return _objectSpread2({
      label: "option",
      cursor: "default",
      display: "block",
      fontSize: "inherit",
      width: "100%",
      userSelect: "none",
      WebkitTapHighlightColor: "rgba(0, 0, 0, 0)"
    }, unstyled ? {} : {
      backgroundColor: isSelected ? colors2.primary : isFocused ? colors2.primary25 : "transparent",
      color: isDisabled ? colors2.neutral20 : isSelected ? colors2.neutral0 : "inherit",
      padding: "".concat(spacing2.baseUnit * 2, "px ").concat(spacing2.baseUnit * 3, "px"),
      // provide some affordance on touch devices
      ":active": {
        backgroundColor: !isDisabled ? isSelected ? colors2.primary : colors2.primary50 : void 0
      }
    });
  };
  var Option = function Option2(props) {
    var children = props.children, isDisabled = props.isDisabled, isFocused = props.isFocused, isSelected = props.isSelected, innerRef = props.innerRef, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "option", {
      option: true,
      "option--is-disabled": isDisabled,
      "option--is-focused": isFocused,
      "option--is-selected": isSelected
    }), {
      ref: innerRef,
      "aria-disabled": isDisabled
    }, innerProps), children);
  };
  var Option$1 = Option;
  var placeholderCSS = function placeholderCSS2(_ref3, unstyled) {
    var _ref$theme = _ref3.theme, spacing2 = _ref$theme.spacing, colors2 = _ref$theme.colors;
    return _objectSpread2({
      label: "placeholder",
      gridArea: "1 / 1 / 2 / 3"
    }, unstyled ? {} : {
      color: colors2.neutral50,
      marginLeft: spacing2.baseUnit / 2,
      marginRight: spacing2.baseUnit / 2
    });
  };
  var Placeholder = function Placeholder2(props) {
    var children = props.children, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "placeholder", {
      placeholder: true
    }), innerProps), children);
  };
  var Placeholder$1 = Placeholder;
  var css2 = function css3(_ref3, unstyled) {
    var isDisabled = _ref3.isDisabled, _ref$theme = _ref3.theme, spacing2 = _ref$theme.spacing, colors2 = _ref$theme.colors;
    return _objectSpread2({
      label: "singleValue",
      gridArea: "1 / 1 / 2 / 3",
      maxWidth: "100%",
      overflow: "hidden",
      textOverflow: "ellipsis",
      whiteSpace: "nowrap"
    }, unstyled ? {} : {
      color: isDisabled ? colors2.neutral40 : colors2.neutral80,
      marginLeft: spacing2.baseUnit / 2,
      marginRight: spacing2.baseUnit / 2
    });
  };
  var SingleValue = function SingleValue2(props) {
    var children = props.children, isDisabled = props.isDisabled, innerProps = props.innerProps;
    return jsx("div", _extends({}, getStyleProps(props, "singleValue", {
      "single-value": true,
      "single-value--is-disabled": isDisabled
    }), innerProps), children);
  };
  var SingleValue$1 = SingleValue;
  var components = {
    ClearIndicator,
    Control: Control$1,
    DropdownIndicator,
    DownChevron,
    CrossIcon,
    Group: Group$1,
    GroupHeading,
    IndicatorsContainer,
    IndicatorSeparator,
    Input: Input$1,
    LoadingIndicator,
    Menu: Menu$1,
    MenuList,
    MenuPortal,
    LoadingMessage,
    NoOptionsMessage,
    MultiValue: MultiValue$1,
    MultiValueContainer,
    MultiValueLabel,
    MultiValueRemove,
    Option: Option$1,
    Placeholder: Placeholder$1,
    SelectContainer,
    SingleValue: SingleValue$1,
    ValueContainer
  };
  var defaultComponents = function defaultComponents2(props) {
    return _objectSpread2(_objectSpread2({}, components), props.components);
  };
  var safeIsNaN = Number.isNaN || function ponyfill(value) {
    return typeof value === "number" && value !== value;
  };
  function isEqual(first, second) {
    if (first === second) {
      return true;
    }
    if (safeIsNaN(first) && safeIsNaN(second)) {
      return true;
    }
    return false;
  }
  function areInputsEqual(newInputs, lastInputs) {
    if (newInputs.length !== lastInputs.length) {
      return false;
    }
    for (var i2 = 0; i2 < newInputs.length; i2++) {
      if (!isEqual(newInputs[i2], lastInputs[i2])) {
        return false;
      }
    }
    return true;
  }
  function memoizeOne(resultFn, isEqual2) {
    if (isEqual2 === void 0) {
      isEqual2 = areInputsEqual;
    }
    var cache = null;
    function memoized() {
      var newArgs = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        newArgs[_i] = arguments[_i];
      }
      if (cache && cache.lastThis === this && isEqual2(newArgs, cache.lastArgs)) {
        return cache.lastResult;
      }
      var lastResult = resultFn.apply(this, newArgs);
      cache = {
        lastResult,
        lastArgs: newArgs,
        lastThis: this
      };
      return lastResult;
    }
    memoized.clear = function clear() {
      cache = null;
    };
    return memoized;
  }
  var _ref = {
    name: "7pg0cj-a11yText",
    styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"
  };
  var A11yText = function A11yText2(props) {
    return jsx("span", _extends({
      css: _ref
    }, props));
  };
  var A11yText$1 = A11yText;
  var defaultAriaLiveMessages = {
    guidance: function guidance(props) {
      var isSearchable = props.isSearchable, isMulti = props.isMulti, tabSelectsValue = props.tabSelectsValue, context = props.context, isInitialFocus = props.isInitialFocus;
      switch (context) {
        case "menu":
          return "Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu".concat(tabSelectsValue ? ", press Tab to select the option and exit the menu" : "", ".");
        case "input":
          return isInitialFocus ? "".concat(props["aria-label"] || "Select", " is focused ").concat(isSearchable ? ",type to refine list" : "", ", press Down to open the menu, ").concat(isMulti ? " press left to focus selected values" : "") : "";
        case "value":
          return "Use left and right to toggle between focused values, press Backspace to remove the currently focused value";
        default:
          return "";
      }
    },
    onChange: function onChange(props) {
      var action = props.action, _props$label = props.label, label = _props$label === void 0 ? "" : _props$label, labels = props.labels, isDisabled = props.isDisabled;
      switch (action) {
        case "deselect-option":
        case "pop-value":
        case "remove-value":
          return "option ".concat(label, ", deselected.");
        case "clear":
          return "All selected options have been cleared.";
        case "initial-input-focus":
          return "option".concat(labels.length > 1 ? "s" : "", " ").concat(labels.join(","), ", selected.");
        case "select-option":
          return isDisabled ? "option ".concat(label, " is disabled. Select another option.") : "option ".concat(label, ", selected.");
        default:
          return "";
      }
    },
    onFocus: function onFocus(props) {
      var context = props.context, focused = props.focused, options2 = props.options, _props$label2 = props.label, label = _props$label2 === void 0 ? "" : _props$label2, selectValue = props.selectValue, isDisabled = props.isDisabled, isSelected = props.isSelected, isAppleDevice2 = props.isAppleDevice;
      var getArrayIndex = function getArrayIndex2(arr, item) {
        return arr && arr.length ? "".concat(arr.indexOf(item) + 1, " of ").concat(arr.length) : "";
      };
      if (context === "value" && selectValue) {
        return "value ".concat(label, " focused, ").concat(getArrayIndex(selectValue, focused), ".");
      }
      if (context === "menu" && isAppleDevice2) {
        var disabled = isDisabled ? " disabled" : "";
        var status = "".concat(isSelected ? " selected" : "").concat(disabled);
        return "".concat(label).concat(status, ", ").concat(getArrayIndex(options2, focused), ".");
      }
      return "";
    },
    onFilter: function onFilter(props) {
      var inputValue = props.inputValue, resultsMessage = props.resultsMessage;
      return "".concat(resultsMessage).concat(inputValue ? " for search term " + inputValue : "", ".");
    }
  };
  var LiveRegion = function LiveRegion2(props) {
    var ariaSelection = props.ariaSelection, focusedOption = props.focusedOption, focusedValue = props.focusedValue, focusableOptions = props.focusableOptions, isFocused = props.isFocused, selectValue = props.selectValue, selectProps = props.selectProps, id = props.id, isAppleDevice2 = props.isAppleDevice;
    var ariaLiveMessages = selectProps.ariaLiveMessages, getOptionLabel4 = selectProps.getOptionLabel, inputValue = selectProps.inputValue, isMulti = selectProps.isMulti, isOptionDisabled3 = selectProps.isOptionDisabled, isSearchable = selectProps.isSearchable, menuIsOpen = selectProps.menuIsOpen, options2 = selectProps.options, screenReaderStatus2 = selectProps.screenReaderStatus, tabSelectsValue = selectProps.tabSelectsValue, isLoading = selectProps.isLoading;
    var ariaLabel = selectProps["aria-label"];
    var ariaLive = selectProps["aria-live"];
    var messages = React.useMemo(function() {
      return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});
    }, [ariaLiveMessages]);
    var ariaSelected = React.useMemo(function() {
      var message = "";
      if (ariaSelection && messages.onChange) {
        var option = ariaSelection.option, selectedOptions = ariaSelection.options, removedValue = ariaSelection.removedValue, removedValues = ariaSelection.removedValues, value = ariaSelection.value;
        var asOption = function asOption2(val) {
          return !Array.isArray(val) ? val : null;
        };
        var selected = removedValue || option || asOption(value);
        var label = selected ? getOptionLabel4(selected) : "";
        var multiSelected = selectedOptions || removedValues || void 0;
        var labels = multiSelected ? multiSelected.map(getOptionLabel4) : [];
        var onChangeProps = _objectSpread2({
          // multiSelected items are usually items that have already been selected
          // or set by the user as a default value so we assume they are not disabled
          isDisabled: selected && isOptionDisabled3(selected, selectValue),
          label,
          labels
        }, ariaSelection);
        message = messages.onChange(onChangeProps);
      }
      return message;
    }, [ariaSelection, messages, isOptionDisabled3, selectValue, getOptionLabel4]);
    var ariaFocused = React.useMemo(function() {
      var focusMsg = "";
      var focused = focusedOption || focusedValue;
      var isSelected = !!(focusedOption && selectValue && selectValue.includes(