You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					1419 lines
				
				68 KiB
			
		
		
			
		
	
	
					1419 lines
				
				68 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
							 | 
						||
| 
								 | 
							
								var _extends = require('@babel/runtime/helpers/extends');
							 | 
						||
| 
								 | 
							
								var react = require('@emotion/react');
							 | 
						||
| 
								 | 
							
								var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
							 | 
						||
| 
								 | 
							
								var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
							 | 
						||
| 
								 | 
							
								var _typeof = require('@babel/runtime/helpers/typeof');
							 | 
						||
| 
								 | 
							
								var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
							 | 
						||
| 
								 | 
							
								var _defineProperty = require('@babel/runtime/helpers/defineProperty');
							 | 
						||
| 
								 | 
							
								var React = require('react');
							 | 
						||
| 
								 | 
							
								var reactDom = require('react-dom');
							 | 
						||
| 
								 | 
							
								var dom = require('@floating-ui/dom');
							 | 
						||
| 
								 | 
							
								var useLayoutEffect = require('use-isomorphic-layout-effect');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var useLayoutEffect__default = /*#__PURE__*/_interopDefault(useLayoutEffect);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _excluded$3 = ["className", "clearValue", "cx", "getStyles", "getClassNames", "getValue", "hasValue", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue", "theme"];
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// NO OP
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var noop = function noop() {};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Class Name Prefixer
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 String representation of component state for styling with class names.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 Expects an array of strings OR a string/object pair:
							 | 
						||
| 
								 | 
							
								 - className(['comp', 'comp-arg', 'comp-arg-2'])
							 | 
						||
| 
								 | 
							
								   @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'
							 | 
						||
| 
								 | 
							
								 - className('comp', { some: true, state: false })
							 | 
						||
| 
								 | 
							
								   @returns 'react-select__comp react-select__comp--some'
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								function applyPrefixToName(prefix, name) {
							 | 
						||
| 
								 | 
							
								  if (!name) {
							 | 
						||
| 
								 | 
							
								    return prefix;
							 | 
						||
| 
								 | 
							
								  } else if (name[0] === '-') {
							 | 
						||
| 
								 | 
							
								    return prefix + name;
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    return prefix + '__' + name;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function classNames(prefix, 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 && prefix) {
							 | 
						||
| 
								 | 
							
								    for (var key in state) {
							 | 
						||
| 
								 | 
							
								      if (state.hasOwnProperty(key) && state[key]) {
							 | 
						||
| 
								 | 
							
								        arr.push("".concat(applyPrefixToName(prefix, key)));
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return arr.filter(function (i) {
							 | 
						||
| 
								 | 
							
								    return i;
							 | 
						||
| 
								 | 
							
								  }).map(function (i) {
							 | 
						||
| 
								 | 
							
								    return String(i).trim();
							 | 
						||
| 
								 | 
							
								  }).join(' ');
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Clean Value
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var cleanValue = function cleanValue(value) {
							 | 
						||
| 
								 | 
							
								  if (isArray(value)) return value.filter(Boolean);
							 | 
						||
| 
								 | 
							
								  if (_typeof(value) === 'object' && value !== null) return [value];
							 | 
						||
| 
								 | 
							
								  return [];
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Clean Common Props
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var cleanCommonProps = function cleanCommonProps(props) {
							 | 
						||
| 
								 | 
							
								  //className
							 | 
						||
| 
								 | 
							
								  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$3);
							 | 
						||
| 
								 | 
							
								  return _objectSpread({}, innerProps);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Get Style Props
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var getStyleProps = function getStyleProps(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)
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Handle Input Change
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function handleInputChange(inputValue, actionMeta, onInputChange) {
							 | 
						||
| 
								 | 
							
								  if (onInputChange) {
							 | 
						||
| 
								 | 
							
								    var _newValue = onInputChange(inputValue, actionMeta);
							 | 
						||
| 
								 | 
							
								    if (typeof _newValue === 'string') return _newValue;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return inputValue;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Scroll Helpers
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function isDocumentElement(el) {
							 | 
						||
| 
								 | 
							
								  return [document.documentElement, document.body, window].indexOf(el) > -1;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Normalized Scroll Top
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function normalizedHeight(el) {
							 | 
						||
| 
								 | 
							
								  if (isDocumentElement(el)) {
							 | 
						||
| 
								 | 
							
								    return window.innerHeight;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return el.clientHeight;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Normalized scrollTo & scrollTop
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getScrollTop(el) {
							 | 
						||
| 
								 | 
							
								  if (isDocumentElement(el)) {
							 | 
						||
| 
								 | 
							
								    return window.pageYOffset;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return el.scrollTop;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function scrollTo(el, top) {
							 | 
						||
| 
								 | 
							
								  // with a scroll distance, we perform scroll on the element
							 | 
						||
| 
								 | 
							
								  if (isDocumentElement(el)) {
							 | 
						||
| 
								 | 
							
								    window.scrollTo(0, top);
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  el.scrollTop = top;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Get Scroll Parent
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Animated Scroll To
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  @param t: time (elapsed)
							 | 
						||
| 
								 | 
							
								  @param b: initial value
							 | 
						||
| 
								 | 
							
								  @param c: amount of change
							 | 
						||
| 
								 | 
							
								  @param d: duration
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								function easeOutCubic(t, b, c, d) {
							 | 
						||
| 
								 | 
							
								  return c * ((t = t / d - 1) * t * t + 1) + b;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function animatedScrollTo(element, to) {
							 | 
						||
| 
								 | 
							
								  var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;
							 | 
						||
| 
								 | 
							
								  var callback = arguments.length > 3 && arguments[3] !== undefined ? 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();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Scroll Into View
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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));
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Get bounding client object
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// cannot get keys using array notation with DOMRect
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Touch Capability Detector
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function isTouchCapable() {
							 | 
						||
| 
								 | 
							
								  try {
							 | 
						||
| 
								 | 
							
								    document.createEvent('TouchEvent');
							 | 
						||
| 
								 | 
							
								    return true;
							 | 
						||
| 
								 | 
							
								  } catch (e) {
							 | 
						||
| 
								 | 
							
								    return false;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Mobile Device Detector
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function isMobileDevice() {
							 | 
						||
| 
								 | 
							
								  try {
							 | 
						||
| 
								 | 
							
								    return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
							 | 
						||
| 
								 | 
							
								  } catch (e) {
							 | 
						||
| 
								 | 
							
								    return false;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Passive Event Detector
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36
							 | 
						||
| 
								 | 
							
								var passiveOptionAccessed = false;
							 | 
						||
| 
								 | 
							
								var options = {
							 | 
						||
| 
								 | 
							
								  get passive() {
							 | 
						||
| 
								 | 
							
								    return passiveOptionAccessed = true;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								// check for SSR
							 | 
						||
| 
								 | 
							
								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 removeProps(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 (_ref) {
							 | 
						||
| 
								 | 
							
								    var _ref2 = _slicedToArray(_ref, 1),
							 | 
						||
| 
								 | 
							
								      key = _ref2[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;
							 | 
						||
| 
								 | 
							
								  }, {});
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getMenuPlacement(_ref) {
							 | 
						||
| 
								 | 
							
								  var preferredMaxHeight = _ref.maxHeight,
							 | 
						||
| 
								 | 
							
								    menuEl = _ref.menuEl,
							 | 
						||
| 
								 | 
							
								    minHeight = _ref.minHeight,
							 | 
						||
| 
								 | 
							
								    preferredPlacement = _ref.placement,
							 | 
						||
| 
								 | 
							
								    shouldScroll = _ref.shouldScroll,
							 | 
						||
| 
								 | 
							
								    isFixedPosition = _ref.isFixedPosition,
							 | 
						||
| 
								 | 
							
								    controlHeight = _ref.controlHeight;
							 | 
						||
| 
								 | 
							
								  var scrollParent = getScrollParent(menuEl);
							 | 
						||
| 
								 | 
							
								  var defaultState = {
							 | 
						||
| 
								 | 
							
								    placement: 'bottom',
							 | 
						||
| 
								 | 
							
								    maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // something went wrong, return default state
							 | 
						||
| 
								 | 
							
								  if (!menuEl || !menuEl.offsetParent) return defaultState;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // we can't trust `scrollParent.scrollHeight` --> it may increase when
							 | 
						||
| 
								 | 
							
								  // the menu is rendered
							 | 
						||
| 
								 | 
							
								  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':
							 | 
						||
| 
								 | 
							
								      // 1: the menu will fit, do nothing
							 | 
						||
| 
								 | 
							
								      if (viewSpaceBelow >= menuHeight) {
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'bottom',
							 | 
						||
| 
								 | 
							
								          maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 2: the menu will fit, if scrolled
							 | 
						||
| 
								 | 
							
								      if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
							 | 
						||
| 
								 | 
							
								        if (shouldScroll) {
							 | 
						||
| 
								 | 
							
								          animatedScrollTo(scrollParent, scrollDown, scrollDuration);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'bottom',
							 | 
						||
| 
								 | 
							
								          maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 3: the menu will fit, if constrained
							 | 
						||
| 
								 | 
							
								      if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
							 | 
						||
| 
								 | 
							
								        if (shouldScroll) {
							 | 
						||
| 
								 | 
							
								          animatedScrollTo(scrollParent, scrollDown, scrollDuration);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // we want to provide as much of the menu as possible to the user,
							 | 
						||
| 
								 | 
							
								        // so give them whatever is available below rather than the minHeight.
							 | 
						||
| 
								 | 
							
								        var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'bottom',
							 | 
						||
| 
								 | 
							
								          maxHeight: constrainedHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 4. Forked beviour when there isn't enough space below
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // AUTO: flip the menu, render above
							 | 
						||
| 
								 | 
							
								      if (preferredPlacement === 'auto' || isFixedPosition) {
							 | 
						||
| 
								 | 
							
								        // may need to be constrained after flipping
							 | 
						||
| 
								 | 
							
								        var _constrainedHeight = preferredMaxHeight;
							 | 
						||
| 
								 | 
							
								        var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
							 | 
						||
| 
								 | 
							
								        if (spaceAbove >= minHeight) {
							 | 
						||
| 
								 | 
							
								          _constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight, preferredMaxHeight);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'top',
							 | 
						||
| 
								 | 
							
								          maxHeight: _constrainedHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // BOTTOM: allow browser to increase scrollable area and immediately set scroll
							 | 
						||
| 
								 | 
							
								      if (preferredPlacement === 'bottom') {
							 | 
						||
| 
								 | 
							
								        if (shouldScroll) {
							 | 
						||
| 
								 | 
							
								          scrollTo(scrollParent, scrollDown);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'bottom',
							 | 
						||
| 
								 | 
							
								          maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    case 'top':
							 | 
						||
| 
								 | 
							
								      // 1: the menu will fit, do nothing
							 | 
						||
| 
								 | 
							
								      if (viewSpaceAbove >= menuHeight) {
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'top',
							 | 
						||
| 
								 | 
							
								          maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 2: the menu will fit, if scrolled
							 | 
						||
| 
								 | 
							
								      if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
							 | 
						||
| 
								 | 
							
								        if (shouldScroll) {
							 | 
						||
| 
								 | 
							
								          animatedScrollTo(scrollParent, scrollUp, scrollDuration);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'top',
							 | 
						||
| 
								 | 
							
								          maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 3: the menu will fit, if constrained
							 | 
						||
| 
								 | 
							
								      if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
							 | 
						||
| 
								 | 
							
								        var _constrainedHeight2 = preferredMaxHeight;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // we want to provide as much of the menu as possible to the user,
							 | 
						||
| 
								 | 
							
								        // so give them whatever is available below rather than the minHeight.
							 | 
						||
| 
								 | 
							
								        if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
							 | 
						||
| 
								 | 
							
								          _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (shouldScroll) {
							 | 
						||
| 
								 | 
							
								          animatedScrollTo(scrollParent, scrollUp, scrollDuration);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return {
							 | 
						||
| 
								 | 
							
								          placement: 'top',
							 | 
						||
| 
								 | 
							
								          maxHeight: _constrainedHeight2
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      // 4. not enough space, the browser WILL NOT increase scrollable area when
							 | 
						||
| 
								 | 
							
								      // absolutely positioned element rendered above the viewport (only below).
							 | 
						||
| 
								 | 
							
								      // Flip the menu, render below
							 | 
						||
| 
								 | 
							
								      return {
							 | 
						||
| 
								 | 
							
								        placement: 'bottom',
							 | 
						||
| 
								 | 
							
								        maxHeight: preferredMaxHeight
							 | 
						||
| 
								 | 
							
								      };
							 | 
						||
| 
								 | 
							
								    default:
							 | 
						||
| 
								 | 
							
								      throw new Error("Invalid placement provided \"".concat(preferredPlacement, "\"."));
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return defaultState;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Menu Component
							 | 
						||
| 
								 | 
							
								// ------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function alignToControl(placement) {
							 | 
						||
| 
								 | 
							
								  var placementToCSSProp = {
							 | 
						||
| 
								 | 
							
								    bottom: 'top',
							 | 
						||
| 
								 | 
							
								    top: 'bottom'
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  return placement ? placementToCSSProp[placement] : 'bottom';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								var coercePlacement = function coercePlacement(p) {
							 | 
						||
| 
								 | 
							
								  return p === 'auto' ? 'bottom' : p;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var menuCSS = function menuCSS(_ref2, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _objectSpread2;
							 | 
						||
| 
								 | 
							
								  var placement = _ref2.placement,
							 | 
						||
| 
								 | 
							
								    _ref2$theme = _ref2.theme,
							 | 
						||
| 
								 | 
							
								    borderRadius = _ref2$theme.borderRadius,
							 | 
						||
| 
								 | 
							
								    spacing = _ref2$theme.spacing,
							 | 
						||
| 
								 | 
							
								    colors = _ref2$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread((_objectSpread2 = {
							 | 
						||
| 
								 | 
							
								    label: 'menu'
							 | 
						||
| 
								 | 
							
								  }, _defineProperty(_objectSpread2, alignToControl(placement), '100%'), _defineProperty(_objectSpread2, "position", 'absolute'), _defineProperty(_objectSpread2, "width", '100%'), _defineProperty(_objectSpread2, "zIndex", 1), _objectSpread2), unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    backgroundColor: colors.neutral0,
							 | 
						||
| 
								 | 
							
								    borderRadius: borderRadius,
							 | 
						||
| 
								 | 
							
								    boxShadow: '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)',
							 | 
						||
| 
								 | 
							
								    marginBottom: spacing.menuGutter,
							 | 
						||
| 
								 | 
							
								    marginTop: spacing.menuGutter
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var PortalPlacementContext = /*#__PURE__*/React.createContext(null);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// NOTE: internal only
							 | 
						||
| 
								 | 
							
								var MenuPlacer = function MenuPlacer(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 controlHeight = theme.spacing.controlHeight;
							 | 
						||
| 
								 | 
							
								  useLayoutEffect__default['default'](function () {
							 | 
						||
| 
								 | 
							
								    var menuEl = ref.current;
							 | 
						||
| 
								 | 
							
								    if (!menuEl) return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // DO NOT scroll if position is fixed
							 | 
						||
| 
								 | 
							
								    var isFixedPosition = menuPosition === 'fixed';
							 | 
						||
| 
								 | 
							
								    var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
							 | 
						||
| 
								 | 
							
								    var state = getMenuPlacement({
							 | 
						||
| 
								 | 
							
								      maxHeight: maxMenuHeight,
							 | 
						||
| 
								 | 
							
								      menuEl: menuEl,
							 | 
						||
| 
								 | 
							
								      minHeight: minMenuHeight,
							 | 
						||
| 
								 | 
							
								      placement: menuPlacement,
							 | 
						||
| 
								 | 
							
								      shouldScroll: shouldScroll,
							 | 
						||
| 
								 | 
							
								      isFixedPosition: isFixedPosition,
							 | 
						||
| 
								 | 
							
								      controlHeight: controlHeight
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    setMaxHeight(state.maxHeight);
							 | 
						||
| 
								 | 
							
								    setPlacement(state.placement);
							 | 
						||
| 
								 | 
							
								    setPortalPlacement === null || setPortalPlacement === void 0 ? void 0 : setPortalPlacement(state.placement);
							 | 
						||
| 
								 | 
							
								  }, [maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, minMenuHeight, setPortalPlacement, controlHeight]);
							 | 
						||
| 
								 | 
							
								  return children({
							 | 
						||
| 
								 | 
							
								    ref: ref,
							 | 
						||
| 
								 | 
							
								    placerProps: _objectSpread(_objectSpread({}, props), {}, {
							 | 
						||
| 
								 | 
							
								      placement: placement || coercePlacement(menuPlacement),
							 | 
						||
| 
								 | 
							
								      maxHeight: maxHeight
							 | 
						||
| 
								 | 
							
								    })
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Menu = function Menu(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerRef = props.innerRef,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'menu', {
							 | 
						||
| 
								 | 
							
								    menu: true
							 | 
						||
| 
								 | 
							
								  }), {
							 | 
						||
| 
								 | 
							
								    ref: innerRef
							 | 
						||
| 
								 | 
							
								  }, innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Menu List
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var menuListCSS = function menuListCSS(_ref4, unstyled) {
							 | 
						||
| 
								 | 
							
								  var maxHeight = _ref4.maxHeight,
							 | 
						||
| 
								 | 
							
								    baseUnit = _ref4.theme.spacing.baseUnit;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    maxHeight: maxHeight,
							 | 
						||
| 
								 | 
							
								    overflowY: 'auto',
							 | 
						||
| 
								 | 
							
								    position: 'relative',
							 | 
						||
| 
								 | 
							
								    // required for offset[Height, Top] > keyboard scroll
							 | 
						||
| 
								 | 
							
								    WebkitOverflowScrolling: 'touch'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    paddingBottom: baseUnit,
							 | 
						||
| 
								 | 
							
								    paddingTop: baseUnit
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var MenuList = function MenuList(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    innerRef = props.innerRef,
							 | 
						||
| 
								 | 
							
								    isMulti = props.isMulti;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'menuList', {
							 | 
						||
| 
								 | 
							
								    'menu-list': true,
							 | 
						||
| 
								 | 
							
								    'menu-list--is-multi': isMulti
							 | 
						||
| 
								 | 
							
								  }), {
							 | 
						||
| 
								 | 
							
								    ref: innerRef
							 | 
						||
| 
								 | 
							
								  }, innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Menu Notices
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var noticeCSS = function noticeCSS(_ref5, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref5$theme = _ref5.theme,
							 | 
						||
| 
								 | 
							
								    baseUnit = _ref5$theme.spacing.baseUnit,
							 | 
						||
| 
								 | 
							
								    colors = _ref5$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    textAlign: 'center'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: colors.neutral40,
							 | 
						||
| 
								 | 
							
								    padding: "".concat(baseUnit * 2, "px ").concat(baseUnit * 3, "px")
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var noOptionsMessageCSS = noticeCSS;
							 | 
						||
| 
								 | 
							
								var loadingMessageCSS = noticeCSS;
							 | 
						||
| 
								 | 
							
								var NoOptionsMessage = function NoOptionsMessage(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'noOptionsMessage', {
							 | 
						||
| 
								 | 
							
								    'menu-notice': true,
							 | 
						||
| 
								 | 
							
								    'menu-notice--no-options': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								NoOptionsMessage.defaultProps = {
							 | 
						||
| 
								 | 
							
								  children: 'No options'
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var LoadingMessage = function LoadingMessage(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'loadingMessage', {
							 | 
						||
| 
								 | 
							
								    'menu-notice': true,
							 | 
						||
| 
								 | 
							
								    'menu-notice--loading': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								LoadingMessage.defaultProps = {
							 | 
						||
| 
								 | 
							
								  children: 'Loading...'
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Menu Portal
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var menuPortalCSS = function menuPortalCSS(_ref6) {
							 | 
						||
| 
								 | 
							
								  var rect = _ref6.rect,
							 | 
						||
| 
								 | 
							
								    offset = _ref6.offset,
							 | 
						||
| 
								 | 
							
								    position = _ref6.position;
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    left: rect.left,
							 | 
						||
| 
								 | 
							
								    position: position,
							 | 
						||
| 
								 | 
							
								    top: offset,
							 | 
						||
| 
								 | 
							
								    width: rect.width,
							 | 
						||
| 
								 | 
							
								    zIndex: 1
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var MenuPortal = function MenuPortal(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: 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: offset,
							 | 
						||
| 
								 | 
							
								        rect: 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]);
							 | 
						||
| 
								 | 
							
								  useLayoutEffect__default['default'](function () {
							 | 
						||
| 
								 | 
							
								    updateComputedPosition();
							 | 
						||
| 
								 | 
							
								  }, [updateComputedPosition]);
							 | 
						||
| 
								 | 
							
								  var runAutoUpdate = React.useCallback(function () {
							 | 
						||
| 
								 | 
							
								    if (typeof cleanupRef.current === 'function') {
							 | 
						||
| 
								 | 
							
								      cleanupRef.current();
							 | 
						||
| 
								 | 
							
								      cleanupRef.current = null;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (controlElement && menuPortalRef.current) {
							 | 
						||
| 
								 | 
							
								      cleanupRef.current = dom.autoUpdate(controlElement, menuPortalRef.current, updateComputedPosition, {
							 | 
						||
| 
								 | 
							
								        elementResize: 'ResizeObserver' in window
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }, [controlElement, updateComputedPosition]);
							 | 
						||
| 
								 | 
							
								  useLayoutEffect__default['default'](function () {
							 | 
						||
| 
								 | 
							
								    runAutoUpdate();
							 | 
						||
| 
								 | 
							
								  }, [runAutoUpdate]);
							 | 
						||
| 
								 | 
							
								  var setMenuPortalElement = React.useCallback(function (menuPortalElement) {
							 | 
						||
| 
								 | 
							
								    menuPortalRef.current = menuPortalElement;
							 | 
						||
| 
								 | 
							
								    runAutoUpdate();
							 | 
						||
| 
								 | 
							
								  }, [runAutoUpdate]);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // bail early if required elements aren't present
							 | 
						||
| 
								 | 
							
								  if (!appendTo && menuPosition !== 'fixed' || !computedPosition) return null;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // same wrapper element whether fixed or portalled
							 | 
						||
| 
								 | 
							
								  var menuWrapper = react.jsx("div", _extends({
							 | 
						||
| 
								 | 
							
								    ref: setMenuPortalElement
							 | 
						||
| 
								 | 
							
								  }, getStyleProps(_objectSpread(_objectSpread({}, props), {}, {
							 | 
						||
| 
								 | 
							
								    offset: computedPosition.offset,
							 | 
						||
| 
								 | 
							
								    position: menuPosition,
							 | 
						||
| 
								 | 
							
								    rect: computedPosition.rect
							 | 
						||
| 
								 | 
							
								  }), 'menuPortal', {
							 | 
						||
| 
								 | 
							
								    'menu-portal': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								  return react.jsx(PortalPlacementContext.Provider, {
							 | 
						||
| 
								 | 
							
								    value: portalPlacementContext
							 | 
						||
| 
								 | 
							
								  }, appendTo ? /*#__PURE__*/reactDom.createPortal(menuWrapper, appendTo) : menuWrapper);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Root Container
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var containerCSS = function containerCSS(_ref) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref.isDisabled,
							 | 
						||
| 
								 | 
							
								    isRtl = _ref.isRtl;
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    label: 'container',
							 | 
						||
| 
								 | 
							
								    direction: isRtl ? 'rtl' : undefined,
							 | 
						||
| 
								 | 
							
								    pointerEvents: isDisabled ? 'none' : undefined,
							 | 
						||
| 
								 | 
							
								    // cancel mouse events when disabled
							 | 
						||
| 
								 | 
							
								    position: 'relative'
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var SelectContainer = function SelectContainer(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    isDisabled = props.isDisabled,
							 | 
						||
| 
								 | 
							
								    isRtl = props.isRtl;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'container', {
							 | 
						||
| 
								 | 
							
								    '--is-disabled': isDisabled,
							 | 
						||
| 
								 | 
							
								    '--is-rtl': isRtl
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Value Container
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var valueContainerCSS = function valueContainerCSS(_ref2, unstyled) {
							 | 
						||
| 
								 | 
							
								  var spacing = _ref2.theme.spacing,
							 | 
						||
| 
								 | 
							
								    isMulti = _ref2.isMulti,
							 | 
						||
| 
								 | 
							
								    hasValue = _ref2.hasValue,
							 | 
						||
| 
								 | 
							
								    controlShouldRenderValue = _ref2.selectProps.controlShouldRenderValue;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    alignItems: 'center',
							 | 
						||
| 
								 | 
							
								    display: isMulti && hasValue && controlShouldRenderValue ? 'flex' : 'grid',
							 | 
						||
| 
								 | 
							
								    flex: 1,
							 | 
						||
| 
								 | 
							
								    flexWrap: 'wrap',
							 | 
						||
| 
								 | 
							
								    WebkitOverflowScrolling: 'touch',
							 | 
						||
| 
								 | 
							
								    position: 'relative',
							 | 
						||
| 
								 | 
							
								    overflow: 'hidden'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    padding: "".concat(spacing.baseUnit / 2, "px ").concat(spacing.baseUnit * 2, "px")
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var ValueContainer = function ValueContainer(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    isMulti = props.isMulti,
							 | 
						||
| 
								 | 
							
								    hasValue = props.hasValue;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'valueContainer', {
							 | 
						||
| 
								 | 
							
								    'value-container': true,
							 | 
						||
| 
								 | 
							
								    'value-container--is-multi': isMulti,
							 | 
						||
| 
								 | 
							
								    'value-container--has-value': hasValue
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Indicator Container
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var indicatorsContainerCSS = function indicatorsContainerCSS() {
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    alignItems: 'center',
							 | 
						||
| 
								 | 
							
								    alignSelf: 'stretch',
							 | 
						||
| 
								 | 
							
								    display: 'flex',
							 | 
						||
| 
								 | 
							
								    flexShrink: 0
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var IndicatorsContainer = function IndicatorsContainer(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'indicatorsContainer', {
							 | 
						||
| 
								 | 
							
								    indicators: true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _templateObject;
							 | 
						||
| 
								 | 
							
								var _excluded$2 = ["size"];
							 | 
						||
| 
								 | 
							
								function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Dropdown & Clear Icons
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								var _ref2 = process.env.NODE_ENV === "production" ? {
							 | 
						||
| 
								 | 
							
								  name: "8mmkcg",
							 | 
						||
| 
								 | 
							
								  styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"
							 | 
						||
| 
								 | 
							
								} : {
							 | 
						||
| 
								 | 
							
								  name: "tj5bde-Svg",
							 | 
						||
| 
								 | 
							
								  styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;",
							 | 
						||
| 
								 | 
							
								  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4LCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7XG4gIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lLFxuICBDU1NPYmplY3RXaXRoTGFiZWwsXG4gIEdyb3VwQmFzZSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U3R5bGVQcm9wcyB9IGZyb20gJy4uL3V0aWxzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHtcbiAgc2l6ZSxcbiAgLi4ucHJvcHNcbn06IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU6IG51bWJlciB9KSA9PiAoXG4gIDxzdmdcbiAgICBoZWlnaHQ9e3NpemV9XG4gICAgd2lkdGg9e3NpemV9XG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgY3NzPXt7XG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgbGluZUhlaWdodDogMSxcbiAgICAgIHN0cm9rZTogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBzdHJva2VXaWR0aDogMCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIENyb3NzSWNvblByb3BzID0gSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZT86IG51bWJlciB9O1xuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogQ3Jvc3NJY29uUHJvcHMpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCB0eXBlIERvd25DaGV2cm9uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IERvd25DaGV2cm9uUHJvcHMpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTQuNTE2IDcuNTQ4YzAuNDM2LTAuNDQ2IDEuMDQzLTAuNDgxIDEuNTc2IDBsMy45MDggMy43NDcgMy45MDgtMy43NDdjMC41MzMtMC40ODEgMS4xNDEtMC40NDYgMS41NzQgMCAwLjQzNiAwLjQ0NSAwLjQwOCAxLjE5NyAwIDEuNjE1LTAuNDA2IDAuNDE4LTQuNjk1IDQuNTAyLTQuNjk1IDQuNTAyLTAuMjE3IDAuMjIzLTAuNTAyIDAuMzM1LTAuNzg3IDAuMzM1cy0wLjU3LTAuMTEyLTAuNzg5LTAuMzM1YzAgMC00LjI4Ny00LjA4NC00LjY5NS00LjUwMnMtMC40MzYtMS4xNyAwLTEuNjE1elwiIC8+XG4gIDwvU3ZnPlxuKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xufVxuXG5jb25zdCBiYXNlQ1NTID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICB7XG4gICAgaXNGb2N1c2VkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTpcbiAgICB8IERyb3Bkb3duSW5kaWNhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD5cbiAgICB8IENsZWFySW5kaWNhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JDb250YWluZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDI
							 | 
						||
| 
								 | 
							
								  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Svg = function Svg(_ref) {
							 | 
						||
| 
								 | 
							
								  var size = _ref.size,
							 | 
						||
| 
								 | 
							
								    props = _objectWithoutProperties(_ref, _excluded$2);
							 | 
						||
| 
								 | 
							
								  return react.jsx("svg", _extends({
							 | 
						||
| 
								 | 
							
								    height: size,
							 | 
						||
| 
								 | 
							
								    width: size,
							 | 
						||
| 
								 | 
							
								    viewBox: "0 0 20 20",
							 | 
						||
| 
								 | 
							
								    "aria-hidden": "true",
							 | 
						||
| 
								 | 
							
								    focusable: "false",
							 | 
						||
| 
								 | 
							
								    css: _ref2
							 | 
						||
| 
								 | 
							
								  }, props));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var CrossIcon = function CrossIcon(props) {
							 | 
						||
| 
								 | 
							
								  return react.jsx(Svg, _extends({
							 | 
						||
| 
								 | 
							
								    size: 20
							 | 
						||
| 
								 | 
							
								  }, props), react.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 DownChevron(props) {
							 | 
						||
| 
								 | 
							
								  return react.jsx(Svg, _extends({
							 | 
						||
| 
								 | 
							
								    size: 20
							 | 
						||
| 
								 | 
							
								  }, props), react.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"
							 | 
						||
| 
								 | 
							
								  }));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Dropdown & Clear Buttons
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var baseCSS = function baseCSS(_ref3, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isFocused = _ref3.isFocused,
							 | 
						||
| 
								 | 
							
								    _ref3$theme = _ref3.theme,
							 | 
						||
| 
								 | 
							
								    baseUnit = _ref3$theme.spacing.baseUnit,
							 | 
						||
| 
								 | 
							
								    colors = _ref3$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'indicatorContainer',
							 | 
						||
| 
								 | 
							
								    display: 'flex',
							 | 
						||
| 
								 | 
							
								    transition: 'color 150ms'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: isFocused ? colors.neutral60 : colors.neutral20,
							 | 
						||
| 
								 | 
							
								    padding: baseUnit * 2,
							 | 
						||
| 
								 | 
							
								    ':hover': {
							 | 
						||
| 
								 | 
							
								      color: isFocused ? colors.neutral80 : colors.neutral40
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var dropdownIndicatorCSS = baseCSS;
							 | 
						||
| 
								 | 
							
								var DropdownIndicator = function DropdownIndicator(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'dropdownIndicator', {
							 | 
						||
| 
								 | 
							
								    indicator: true,
							 | 
						||
| 
								 | 
							
								    'dropdown-indicator': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children || react.jsx(DownChevron, null));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var clearIndicatorCSS = baseCSS;
							 | 
						||
| 
								 | 
							
								var ClearIndicator = function ClearIndicator(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'clearIndicator', {
							 | 
						||
| 
								 | 
							
								    indicator: true,
							 | 
						||
| 
								 | 
							
								    'clear-indicator': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children || react.jsx(CrossIcon, null));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Separator
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref4.isDisabled,
							 | 
						||
| 
								 | 
							
								    _ref4$theme = _ref4.theme,
							 | 
						||
| 
								 | 
							
								    baseUnit = _ref4$theme.spacing.baseUnit,
							 | 
						||
| 
								 | 
							
								    colors = _ref4$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'indicatorSeparator',
							 | 
						||
| 
								 | 
							
								    alignSelf: 'stretch',
							 | 
						||
| 
								 | 
							
								    width: 1
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
							 | 
						||
| 
								 | 
							
								    marginBottom: baseUnit * 2,
							 | 
						||
| 
								 | 
							
								    marginTop: baseUnit * 2
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var IndicatorSeparator = function IndicatorSeparator(props) {
							 | 
						||
| 
								 | 
							
								  var innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("span", _extends({}, innerProps, getStyleProps(props, 'indicatorSeparator', {
							 | 
						||
| 
								 | 
							
								    'indicator-separator': true
							 | 
						||
| 
								 | 
							
								  })));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								// Loading
							 | 
						||
| 
								 | 
							
								// ==============================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var loadingDotAnimations = react.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n  0%, 80%, 100% { opacity: 0; }\n  40% { opacity: 1; }\n"])));
							 | 
						||
| 
								 | 
							
								var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isFocused = _ref5.isFocused,
							 | 
						||
| 
								 | 
							
								    size = _ref5.size,
							 | 
						||
| 
								 | 
							
								    _ref5$theme = _ref5.theme,
							 | 
						||
| 
								 | 
							
								    colors = _ref5$theme.colors,
							 | 
						||
| 
								 | 
							
								    baseUnit = _ref5$theme.spacing.baseUnit;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'loadingIndicator',
							 | 
						||
| 
								 | 
							
								    display: 'flex',
							 | 
						||
| 
								 | 
							
								    transition: 'color 150ms',
							 | 
						||
| 
								 | 
							
								    alignSelf: 'center',
							 | 
						||
| 
								 | 
							
								    fontSize: size,
							 | 
						||
| 
								 | 
							
								    lineHeight: 1,
							 | 
						||
| 
								 | 
							
								    marginRight: size,
							 | 
						||
| 
								 | 
							
								    textAlign: 'center',
							 | 
						||
| 
								 | 
							
								    verticalAlign: 'middle'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: isFocused ? colors.neutral60 : colors.neutral20,
							 | 
						||
| 
								 | 
							
								    padding: baseUnit * 2
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var LoadingDot = function LoadingDot(_ref6) {
							 | 
						||
| 
								 | 
							
								  var delay = _ref6.delay,
							 | 
						||
| 
								 | 
							
								    offset = _ref6.offset;
							 | 
						||
| 
								 | 
							
								  return react.jsx("span", {
							 | 
						||
| 
								 | 
							
								    css: /*#__PURE__*/react.css({
							 | 
						||
| 
								 | 
							
								      animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
							 | 
						||
| 
								 | 
							
								      backgroundColor: 'currentColor',
							 | 
						||
| 
								 | 
							
								      borderRadius: '1em',
							 | 
						||
| 
								 | 
							
								      display: 'inline-block',
							 | 
						||
| 
								 | 
							
								      marginLeft: offset ? '1em' : undefined,
							 | 
						||
| 
								 | 
							
								      height: '1em',
							 | 
						||
| 
								 | 
							
								      verticalAlign: 'top',
							 | 
						||
| 
								 | 
							
								      width: '1em'
							 | 
						||
| 
								 | 
							
								    }, process.env.NODE_ENV === "production" ? "" : ";label:LoadingDot;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1RSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4LCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7XG4gIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lLFxuICBDU1NPYmplY3RXaXRoTGFiZWwsXG4gIEdyb3VwQmFzZSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U3R5bGVQcm9wcyB9IGZyb20gJy4uL3V0aWxzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHtcbiAgc2l6ZSxcbiAgLi4ucHJvcHNcbn06IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU6IG51bWJlciB9KSA9PiAoXG4gIDxzdmdcbiAgICBoZWlnaHQ9e3NpemV9XG4gICAgd2lkdGg9e3NpemV9XG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgY3NzPXt7XG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgbGluZUhlaWdodDogMSxcbiAgICAgIHN0cm9rZTogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBzdHJva2VXaWR0aDogMCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIENyb3NzSWNvblByb3BzID0gSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZT86IG51bWJlciB9O1xuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogQ3Jvc3NJY29uUHJvcHMpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCB0eXBlIERvd25DaGV2cm9uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IERvd25DaGV2cm9uUHJvcHMpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTQuNTE2IDcuNTQ4YzAuNDM2LTAuNDQ2IDEuMDQzLTAuNDgxIDEuNTc2IDBsMy45MDggMy43NDcgMy45MDgtMy43NDdjMC41MzMtMC40ODEgMS4xNDEtMC40NDYgMS41NzQgMCAwLjQzNiAwLjQ0NSAwLjQwOCAxLjE5NyAwIDEuNjE1LTAuNDA2IDAuNDE4LTQuNjk1IDQuNTAyLTQuNjk1IDQuNTAyLTAuMjE3IDAuMjIzLTAuNTAyIDAuMzM1LTAuNzg3IDAuMzM1cy0wLjU3LTAuMTEyLTAuNzg5LTAuMzM1YzAgMC00LjI4Ny00LjA4NC00LjY5NS00LjUwMnMtMC40MzYtMS4xNyAwLTEuNjE1elwiIC8+XG4gIDwvU3ZnPlxuKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xufVxuXG5jb25zdCBiYXNlQ1NTID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICB7XG4gICAgaXNGb2N1c2VkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTpcbiAgICB8IERyb3Bkb3duSW5kaWNhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD5cbiAgICB8IENsZWFySW5kaWNhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JDb250YWluZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIC4uLih1bnN0eWx
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var LoadingIndicator = function LoadingIndicator(props) {
							 | 
						||
| 
								 | 
							
								  var innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    isRtl = props.isRtl;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'loadingIndicator', {
							 | 
						||
| 
								 | 
							
								    indicator: true,
							 | 
						||
| 
								 | 
							
								    'loading-indicator': true
							 | 
						||
| 
								 | 
							
								  }), innerProps), react.jsx(LoadingDot, {
							 | 
						||
| 
								 | 
							
								    delay: 0,
							 | 
						||
| 
								 | 
							
								    offset: isRtl
							 | 
						||
| 
								 | 
							
								  }), react.jsx(LoadingDot, {
							 | 
						||
| 
								 | 
							
								    delay: 160,
							 | 
						||
| 
								 | 
							
								    offset: true
							 | 
						||
| 
								 | 
							
								  }), react.jsx(LoadingDot, {
							 | 
						||
| 
								 | 
							
								    delay: 320,
							 | 
						||
| 
								 | 
							
								    offset: !isRtl
							 | 
						||
| 
								 | 
							
								  }));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								LoadingIndicator.defaultProps = {
							 | 
						||
| 
								 | 
							
								  size: 4
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var css$1 = function css(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref.isDisabled,
							 | 
						||
| 
								 | 
							
								    isFocused = _ref.isFocused,
							 | 
						||
| 
								 | 
							
								    _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors,
							 | 
						||
| 
								 | 
							
								    borderRadius = _ref$theme.borderRadius,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'control',
							 | 
						||
| 
								 | 
							
								    alignItems: 'center',
							 | 
						||
| 
								 | 
							
								    cursor: 'default',
							 | 
						||
| 
								 | 
							
								    display: 'flex',
							 | 
						||
| 
								 | 
							
								    flexWrap: 'wrap',
							 | 
						||
| 
								 | 
							
								    justifyContent: 'space-between',
							 | 
						||
| 
								 | 
							
								    minHeight: spacing.controlHeight,
							 | 
						||
| 
								 | 
							
								    outline: '0 !important',
							 | 
						||
| 
								 | 
							
								    position: 'relative',
							 | 
						||
| 
								 | 
							
								    transition: 'all 100ms'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,
							 | 
						||
| 
								 | 
							
								    borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,
							 | 
						||
| 
								 | 
							
								    borderRadius: borderRadius,
							 | 
						||
| 
								 | 
							
								    borderStyle: 'solid',
							 | 
						||
| 
								 | 
							
								    borderWidth: 1,
							 | 
						||
| 
								 | 
							
								    boxShadow: isFocused ? "0 0 0 1px ".concat(colors.primary) : undefined,
							 | 
						||
| 
								 | 
							
								    '&:hover': {
							 | 
						||
| 
								 | 
							
								      borderColor: isFocused ? colors.primary : colors.neutral30
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Control = function Control(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    isDisabled = props.isDisabled,
							 | 
						||
| 
								 | 
							
								    isFocused = props.isFocused,
							 | 
						||
| 
								 | 
							
								    innerRef = props.innerRef,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    menuIsOpen = props.menuIsOpen;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({
							 | 
						||
| 
								 | 
							
								    ref: innerRef
							 | 
						||
| 
								 | 
							
								  }, getStyleProps(props, 'control', {
							 | 
						||
| 
								 | 
							
								    control: true,
							 | 
						||
| 
								 | 
							
								    'control--is-disabled': isDisabled,
							 | 
						||
| 
								 | 
							
								    'control--is-focused': isFocused,
							 | 
						||
| 
								 | 
							
								    'control--menu-is-open': menuIsOpen
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _excluded$1 = ["data"];
							 | 
						||
| 
								 | 
							
								var groupCSS = function groupCSS(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var spacing = _ref.theme.spacing;
							 | 
						||
| 
								 | 
							
								  return unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    paddingBottom: spacing.baseUnit * 2,
							 | 
						||
| 
								 | 
							
								    paddingTop: spacing.baseUnit * 2
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Group = function Group(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 react.jsx("div", _extends({}, getStyleProps(props, 'group', {
							 | 
						||
| 
								 | 
							
								    group: true
							 | 
						||
| 
								 | 
							
								  }), innerProps), react.jsx(Heading, _extends({}, headingProps, {
							 | 
						||
| 
								 | 
							
								    selectProps: selectProps,
							 | 
						||
| 
								 | 
							
								    theme: theme,
							 | 
						||
| 
								 | 
							
								    getStyles: getStyles,
							 | 
						||
| 
								 | 
							
								    getClassNames: getClassNames,
							 | 
						||
| 
								 | 
							
								    cx: cx
							 | 
						||
| 
								 | 
							
								  }), label), react.jsx("div", null, children));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var groupHeadingCSS = function groupHeadingCSS(_ref2, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref2$theme = _ref2.theme,
							 | 
						||
| 
								 | 
							
								    colors = _ref2$theme.colors,
							 | 
						||
| 
								 | 
							
								    spacing = _ref2$theme.spacing;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'group',
							 | 
						||
| 
								 | 
							
								    cursor: 'default',
							 | 
						||
| 
								 | 
							
								    display: 'block'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: colors.neutral40,
							 | 
						||
| 
								 | 
							
								    fontSize: '75%',
							 | 
						||
| 
								 | 
							
								    fontWeight: 500,
							 | 
						||
| 
								 | 
							
								    marginBottom: '0.25em',
							 | 
						||
| 
								 | 
							
								    paddingLeft: spacing.baseUnit * 3,
							 | 
						||
| 
								 | 
							
								    paddingRight: spacing.baseUnit * 3,
							 | 
						||
| 
								 | 
							
								    textTransform: 'uppercase'
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var GroupHeading = function GroupHeading(props) {
							 | 
						||
| 
								 | 
							
								  var _cleanCommonProps = cleanCommonProps(props);
							 | 
						||
| 
								 | 
							
								    _cleanCommonProps.data;
							 | 
						||
| 
								 | 
							
								    var innerProps = _objectWithoutProperties(_cleanCommonProps, _excluded$1);
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'groupHeading', {
							 | 
						||
| 
								 | 
							
								    'group-heading': true
							 | 
						||
| 
								 | 
							
								  }), innerProps));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _excluded = ["innerRef", "isDisabled", "isHidden", "inputClassName"];
							 | 
						||
| 
								 | 
							
								var inputCSS = function inputCSS(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref.isDisabled,
							 | 
						||
| 
								 | 
							
								    value = _ref.value,
							 | 
						||
| 
								 | 
							
								    _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread(_objectSpread({
							 | 
						||
| 
								 | 
							
								    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: spacing.baseUnit / 2,
							 | 
						||
| 
								 | 
							
								    paddingBottom: spacing.baseUnit / 2,
							 | 
						||
| 
								 | 
							
								    paddingTop: spacing.baseUnit / 2,
							 | 
						||
| 
								 | 
							
								    color: colors.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': _objectSpread({
							 | 
						||
| 
								 | 
							
								    content: 'attr(data-value) " "',
							 | 
						||
| 
								 | 
							
								    visibility: 'hidden',
							 | 
						||
| 
								 | 
							
								    whiteSpace: 'pre'
							 | 
						||
| 
								 | 
							
								  }, spacingStyle)
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var inputStyle = function inputStyle(isHidden) {
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'input',
							 | 
						||
| 
								 | 
							
								    color: 'inherit',
							 | 
						||
| 
								 | 
							
								    background: 0,
							 | 
						||
| 
								 | 
							
								    opacity: isHidden ? 0 : 1,
							 | 
						||
| 
								 | 
							
								    width: '100%'
							 | 
						||
| 
								 | 
							
								  }, spacingStyle);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Input = function Input(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);
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'input', {
							 | 
						||
| 
								 | 
							
								    'input-container': true
							 | 
						||
| 
								 | 
							
								  }), {
							 | 
						||
| 
								 | 
							
								    "data-value": value || ''
							 | 
						||
| 
								 | 
							
								  }), react.jsx("input", _extends({
							 | 
						||
| 
								 | 
							
								    className: cx({
							 | 
						||
| 
								 | 
							
								      input: true
							 | 
						||
| 
								 | 
							
								    }, inputClassName),
							 | 
						||
| 
								 | 
							
								    ref: innerRef,
							 | 
						||
| 
								 | 
							
								    style: inputStyle(isHidden),
							 | 
						||
| 
								 | 
							
								    disabled: isDisabled
							 | 
						||
| 
								 | 
							
								  }, innerProps)));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var multiValueCSS = function multiValueCSS(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing,
							 | 
						||
| 
								 | 
							
								    borderRadius = _ref$theme.borderRadius,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'multiValue',
							 | 
						||
| 
								 | 
							
								    display: 'flex',
							 | 
						||
| 
								 | 
							
								    minWidth: 0
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    backgroundColor: colors.neutral10,
							 | 
						||
| 
								 | 
							
								    borderRadius: borderRadius / 2,
							 | 
						||
| 
								 | 
							
								    margin: spacing.baseUnit / 2
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var multiValueLabelCSS = function multiValueLabelCSS(_ref2, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref2$theme = _ref2.theme,
							 | 
						||
| 
								 | 
							
								    borderRadius = _ref2$theme.borderRadius,
							 | 
						||
| 
								 | 
							
								    colors = _ref2$theme.colors,
							 | 
						||
| 
								 | 
							
								    cropWithEllipsis = _ref2.cropWithEllipsis;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    overflow: 'hidden',
							 | 
						||
| 
								 | 
							
								    textOverflow: cropWithEllipsis || cropWithEllipsis === undefined ? 'ellipsis' : undefined,
							 | 
						||
| 
								 | 
							
								    whiteSpace: 'nowrap'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    borderRadius: borderRadius / 2,
							 | 
						||
| 
								 | 
							
								    color: colors.neutral80,
							 | 
						||
| 
								 | 
							
								    fontSize: '85%',
							 | 
						||
| 
								 | 
							
								    padding: 3,
							 | 
						||
| 
								 | 
							
								    paddingLeft: 6
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref3$theme = _ref3.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref3$theme.spacing,
							 | 
						||
| 
								 | 
							
								    borderRadius = _ref3$theme.borderRadius,
							 | 
						||
| 
								 | 
							
								    colors = _ref3$theme.colors,
							 | 
						||
| 
								 | 
							
								    isFocused = _ref3.isFocused;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    alignItems: 'center',
							 | 
						||
| 
								 | 
							
								    display: 'flex'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    borderRadius: borderRadius / 2,
							 | 
						||
| 
								 | 
							
								    backgroundColor: isFocused ? colors.dangerLight : undefined,
							 | 
						||
| 
								 | 
							
								    paddingLeft: spacing.baseUnit,
							 | 
						||
| 
								 | 
							
								    paddingRight: spacing.baseUnit,
							 | 
						||
| 
								 | 
							
								    ':hover': {
							 | 
						||
| 
								 | 
							
								      backgroundColor: colors.dangerLight,
							 | 
						||
| 
								 | 
							
								      color: colors.danger
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var MultiValueGeneric = function MultiValueGeneric(_ref4) {
							 | 
						||
| 
								 | 
							
								  var children = _ref4.children,
							 | 
						||
| 
								 | 
							
								    innerProps = _ref4.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", innerProps, children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var MultiValueContainer = MultiValueGeneric;
							 | 
						||
| 
								 | 
							
								var MultiValueLabel = MultiValueGeneric;
							 | 
						||
| 
								 | 
							
								function MultiValueRemove(_ref5) {
							 | 
						||
| 
								 | 
							
								  var children = _ref5.children,
							 | 
						||
| 
								 | 
							
								    innerProps = _ref5.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({
							 | 
						||
| 
								 | 
							
								    role: "button"
							 | 
						||
| 
								 | 
							
								  }, innerProps), children || react.jsx(CrossIcon, {
							 | 
						||
| 
								 | 
							
								    size: 14
							 | 
						||
| 
								 | 
							
								  }));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								var MultiValue = function MultiValue(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    components = props.components,
							 | 
						||
| 
								 | 
							
								    data = props.data,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps,
							 | 
						||
| 
								 | 
							
								    isDisabled = props.isDisabled,
							 | 
						||
| 
								 | 
							
								    removeProps = props.removeProps,
							 | 
						||
| 
								 | 
							
								    selectProps = props.selectProps;
							 | 
						||
| 
								 | 
							
								  var Container = components.Container,
							 | 
						||
| 
								 | 
							
								    Label = components.Label,
							 | 
						||
| 
								 | 
							
								    Remove = components.Remove;
							 | 
						||
| 
								 | 
							
								  return react.jsx(Container, {
							 | 
						||
| 
								 | 
							
								    data: data,
							 | 
						||
| 
								 | 
							
								    innerProps: _objectSpread(_objectSpread({}, getStyleProps(props, 'multiValue', {
							 | 
						||
| 
								 | 
							
								      'multi-value': true,
							 | 
						||
| 
								 | 
							
								      'multi-value--is-disabled': isDisabled
							 | 
						||
| 
								 | 
							
								    })), innerProps),
							 | 
						||
| 
								 | 
							
								    selectProps: selectProps
							 | 
						||
| 
								 | 
							
								  }, react.jsx(Label, {
							 | 
						||
| 
								 | 
							
								    data: data,
							 | 
						||
| 
								 | 
							
								    innerProps: _objectSpread({}, getStyleProps(props, 'multiValueLabel', {
							 | 
						||
| 
								 | 
							
								      'multi-value__label': true
							 | 
						||
| 
								 | 
							
								    })),
							 | 
						||
| 
								 | 
							
								    selectProps: selectProps
							 | 
						||
| 
								 | 
							
								  }, children), react.jsx(Remove, {
							 | 
						||
| 
								 | 
							
								    data: data,
							 | 
						||
| 
								 | 
							
								    innerProps: _objectSpread(_objectSpread({}, getStyleProps(props, 'multiValueRemove', {
							 | 
						||
| 
								 | 
							
								      'multi-value__remove': true
							 | 
						||
| 
								 | 
							
								    })), {}, {
							 | 
						||
| 
								 | 
							
								      'aria-label': "Remove ".concat(children || 'option')
							 | 
						||
| 
								 | 
							
								    }, removeProps),
							 | 
						||
| 
								 | 
							
								    selectProps: selectProps
							 | 
						||
| 
								 | 
							
								  }));
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var optionCSS = function optionCSS(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref.isDisabled,
							 | 
						||
| 
								 | 
							
								    isFocused = _ref.isFocused,
							 | 
						||
| 
								 | 
							
								    isSelected = _ref.isSelected,
							 | 
						||
| 
								 | 
							
								    _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'option',
							 | 
						||
| 
								 | 
							
								    cursor: 'default',
							 | 
						||
| 
								 | 
							
								    display: 'block',
							 | 
						||
| 
								 | 
							
								    fontSize: 'inherit',
							 | 
						||
| 
								 | 
							
								    width: '100%',
							 | 
						||
| 
								 | 
							
								    userSelect: 'none',
							 | 
						||
| 
								 | 
							
								    WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',
							 | 
						||
| 
								 | 
							
								    color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',
							 | 
						||
| 
								 | 
							
								    padding: "".concat(spacing.baseUnit * 2, "px ").concat(spacing.baseUnit * 3, "px"),
							 | 
						||
| 
								 | 
							
								    // provide some affordance on touch devices
							 | 
						||
| 
								 | 
							
								    ':active': {
							 | 
						||
| 
								 | 
							
								      backgroundColor: !isDisabled ? isSelected ? colors.primary : colors.primary50 : undefined
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Option = function Option(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    isDisabled = props.isDisabled,
							 | 
						||
| 
								 | 
							
								    isFocused = props.isFocused,
							 | 
						||
| 
								 | 
							
								    isSelected = props.isSelected,
							 | 
						||
| 
								 | 
							
								    innerRef = props.innerRef,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.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 placeholderCSS = function placeholderCSS(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'placeholder',
							 | 
						||
| 
								 | 
							
								    gridArea: '1 / 1 / 2 / 3'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: colors.neutral50,
							 | 
						||
| 
								 | 
							
								    marginLeft: spacing.baseUnit / 2,
							 | 
						||
| 
								 | 
							
								    marginRight: spacing.baseUnit / 2
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var Placeholder = function Placeholder(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'placeholder', {
							 | 
						||
| 
								 | 
							
								    placeholder: true
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var css = function css(_ref, unstyled) {
							 | 
						||
| 
								 | 
							
								  var isDisabled = _ref.isDisabled,
							 | 
						||
| 
								 | 
							
								    _ref$theme = _ref.theme,
							 | 
						||
| 
								 | 
							
								    spacing = _ref$theme.spacing,
							 | 
						||
| 
								 | 
							
								    colors = _ref$theme.colors;
							 | 
						||
| 
								 | 
							
								  return _objectSpread({
							 | 
						||
| 
								 | 
							
								    label: 'singleValue',
							 | 
						||
| 
								 | 
							
								    gridArea: '1 / 1 / 2 / 3',
							 | 
						||
| 
								 | 
							
								    maxWidth: '100%',
							 | 
						||
| 
								 | 
							
								    overflow: 'hidden',
							 | 
						||
| 
								 | 
							
								    textOverflow: 'ellipsis',
							 | 
						||
| 
								 | 
							
								    whiteSpace: 'nowrap'
							 | 
						||
| 
								 | 
							
								  }, unstyled ? {} : {
							 | 
						||
| 
								 | 
							
								    color: isDisabled ? colors.neutral40 : colors.neutral80,
							 | 
						||
| 
								 | 
							
								    marginLeft: spacing.baseUnit / 2,
							 | 
						||
| 
								 | 
							
								    marginRight: spacing.baseUnit / 2
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var SingleValue = function SingleValue(props) {
							 | 
						||
| 
								 | 
							
								  var children = props.children,
							 | 
						||
| 
								 | 
							
								    isDisabled = props.isDisabled,
							 | 
						||
| 
								 | 
							
								    innerProps = props.innerProps;
							 | 
						||
| 
								 | 
							
								  return react.jsx("div", _extends({}, getStyleProps(props, 'singleValue', {
							 | 
						||
| 
								 | 
							
								    'single-value': true,
							 | 
						||
| 
								 | 
							
								    'single-value--is-disabled': isDisabled
							 | 
						||
| 
								 | 
							
								  }), innerProps), children);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var components = {
							 | 
						||
| 
								 | 
							
								  ClearIndicator: ClearIndicator,
							 | 
						||
| 
								 | 
							
								  Control: Control,
							 | 
						||
| 
								 | 
							
								  DropdownIndicator: DropdownIndicator,
							 | 
						||
| 
								 | 
							
								  DownChevron: DownChevron,
							 | 
						||
| 
								 | 
							
								  CrossIcon: CrossIcon,
							 | 
						||
| 
								 | 
							
								  Group: Group,
							 | 
						||
| 
								 | 
							
								  GroupHeading: GroupHeading,
							 | 
						||
| 
								 | 
							
								  IndicatorsContainer: IndicatorsContainer,
							 | 
						||
| 
								 | 
							
								  IndicatorSeparator: IndicatorSeparator,
							 | 
						||
| 
								 | 
							
								  Input: Input,
							 | 
						||
| 
								 | 
							
								  LoadingIndicator: LoadingIndicator,
							 | 
						||
| 
								 | 
							
								  Menu: Menu,
							 | 
						||
| 
								 | 
							
								  MenuList: MenuList,
							 | 
						||
| 
								 | 
							
								  MenuPortal: MenuPortal,
							 | 
						||
| 
								 | 
							
								  LoadingMessage: LoadingMessage,
							 | 
						||
| 
								 | 
							
								  NoOptionsMessage: NoOptionsMessage,
							 | 
						||
| 
								 | 
							
								  MultiValue: MultiValue,
							 | 
						||
| 
								 | 
							
								  MultiValueContainer: MultiValueContainer,
							 | 
						||
| 
								 | 
							
								  MultiValueLabel: MultiValueLabel,
							 | 
						||
| 
								 | 
							
								  MultiValueRemove: MultiValueRemove,
							 | 
						||
| 
								 | 
							
								  Option: Option,
							 | 
						||
| 
								 | 
							
								  Placeholder: Placeholder,
							 | 
						||
| 
								 | 
							
								  SelectContainer: SelectContainer,
							 | 
						||
| 
								 | 
							
								  SingleValue: SingleValue,
							 | 
						||
| 
								 | 
							
								  ValueContainer: ValueContainer
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var defaultComponents = function defaultComponents(props) {
							 | 
						||
| 
								 | 
							
								  return _objectSpread(_objectSpread({}, components), props.components);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.MenuPlacer = MenuPlacer;
							 | 
						||
| 
								 | 
							
								exports.classNames = classNames;
							 | 
						||
| 
								 | 
							
								exports.cleanValue = cleanValue;
							 | 
						||
| 
								 | 
							
								exports.clearIndicatorCSS = clearIndicatorCSS;
							 | 
						||
| 
								 | 
							
								exports.components = components;
							 | 
						||
| 
								 | 
							
								exports.containerCSS = containerCSS;
							 | 
						||
| 
								 | 
							
								exports.css = css$1;
							 | 
						||
| 
								 | 
							
								exports.css$1 = css;
							 | 
						||
| 
								 | 
							
								exports.defaultComponents = defaultComponents;
							 | 
						||
| 
								 | 
							
								exports.dropdownIndicatorCSS = dropdownIndicatorCSS;
							 | 
						||
| 
								 | 
							
								exports.groupCSS = groupCSS;
							 | 
						||
| 
								 | 
							
								exports.groupHeadingCSS = groupHeadingCSS;
							 | 
						||
| 
								 | 
							
								exports.handleInputChange = handleInputChange;
							 | 
						||
| 
								 | 
							
								exports.indicatorSeparatorCSS = indicatorSeparatorCSS;
							 | 
						||
| 
								 | 
							
								exports.indicatorsContainerCSS = indicatorsContainerCSS;
							 | 
						||
| 
								 | 
							
								exports.inputCSS = inputCSS;
							 | 
						||
| 
								 | 
							
								exports.isDocumentElement = isDocumentElement;
							 | 
						||
| 
								 | 
							
								exports.isMobileDevice = isMobileDevice;
							 | 
						||
| 
								 | 
							
								exports.isTouchCapable = isTouchCapable;
							 | 
						||
| 
								 | 
							
								exports.loadingIndicatorCSS = loadingIndicatorCSS;
							 | 
						||
| 
								 | 
							
								exports.loadingMessageCSS = loadingMessageCSS;
							 | 
						||
| 
								 | 
							
								exports.menuCSS = menuCSS;
							 | 
						||
| 
								 | 
							
								exports.menuListCSS = menuListCSS;
							 | 
						||
| 
								 | 
							
								exports.menuPortalCSS = menuPortalCSS;
							 | 
						||
| 
								 | 
							
								exports.multiValueAsValue = multiValueAsValue;
							 | 
						||
| 
								 | 
							
								exports.multiValueCSS = multiValueCSS;
							 | 
						||
| 
								 | 
							
								exports.multiValueLabelCSS = multiValueLabelCSS;
							 | 
						||
| 
								 | 
							
								exports.multiValueRemoveCSS = multiValueRemoveCSS;
							 | 
						||
| 
								 | 
							
								exports.noOptionsMessageCSS = noOptionsMessageCSS;
							 | 
						||
| 
								 | 
							
								exports.noop = noop;
							 | 
						||
| 
								 | 
							
								exports.notNullish = notNullish;
							 | 
						||
| 
								 | 
							
								exports.optionCSS = optionCSS;
							 | 
						||
| 
								 | 
							
								exports.placeholderCSS = placeholderCSS;
							 | 
						||
| 
								 | 
							
								exports.removeProps = removeProps;
							 | 
						||
| 
								 | 
							
								exports.scrollIntoView = scrollIntoView;
							 | 
						||
| 
								 | 
							
								exports.singleValueAsValue = singleValueAsValue;
							 | 
						||
| 
								 | 
							
								exports.supportsPassiveEvents = supportsPassiveEvents;
							 | 
						||
| 
								 | 
							
								exports.valueContainerCSS = valueContainerCSS;
							 | 
						||
| 
								 | 
							
								exports.valueTernary = valueTernary;
							 |