{"version":3,"sources":["webpack:///./src/api.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./src/components/AnnualReportDropdown/style.js","webpack:///./src/components/AnnualReportDropdown/index.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/react-select/dist/chunk-39d3fda8.browser.esm.js","webpack:///./node_modules/react-select/dist/chunk-80640036.browser.esm.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/react-select/dist/base/dist/react-select-cac0a5ae.browser.esm.js","webpack:///./node_modules/react-select/dist/chunk-b36baf1a.browser.esm.js","webpack:///./node_modules/react-select/dist/react-select.browser.esm.js","webpack:///./src/components/Header/LanguageDropdown/style.js","webpack:///./src/enums/locale.js","webpack:///./src/components/Header/languageOptions.js","webpack:///./src/components/Header/LanguageDropdown/index.js","webpack:///./src/components/TextButton/index.js","webpack:///./src/components/TextButton/style.js","webpack:///./src/components/Header/DataInsightButton/index.js","webpack:///./src/components/Header/LanguageItemList/style.js","webpack:///./src/components/Header/LanguageItemList/index.js","webpack:///./src/components/Header/Menu/style.js","webpack:///./src/components/DownloadAnnualReportButton/style.js","webpack:///./src/components/DownloadAnnualReportButton/index.js","webpack:///./src/components/Header/Menu/index.js","webpack:///./src/components/Header/style.js","webpack:///./src/hooks/useScrollDirection.js","webpack:///./src/utils/index.js","webpack:///./src/components/Header/index.js","webpack:///./src/components/Footer/style.js","webpack:///./src/components/Footer/index.js","webpack:///./src/components/TalkToUs/LeaveMessage/style.js","webpack:///./src/components/TalkToUs/LeaveMessage/index.js","webpack:///./src/components/TalkToUs/style.js","webpack:///./src/components/TalkToUs/index.js","webpack:///./src/components/layout.js","webpack:///./src/hooks/useForm.js","webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack:///./node_modules/gatsby-plugin-intl/link.js","webpack:///./node_modules/react-spinners/helpers/index.js","webpack:///./node_modules/react-spinners/helpers/proptypes.js","webpack:///./src/images/btn-linkedin.svg","webpack:///./src/hooks/useMedia.js","webpack:///./src/context/talkToUs.js","webpack:///./node_modules/react-spinners/helpers/colors.js","webpack:///./src/assets/language-sc.svg","webpack:///./src/components/InputBox/style.js","webpack:///./src/components/InputBox/index.js","webpack:///./src/components/TextInput/style.js","webpack:///./src/components/TextInput/index.js","webpack:///./src/components/TalkToUs/LabelTextInput/style.js","webpack:///./src/components/TalkToUs/LabelTextInput/index.js","webpack:///./src/assets/language-eng.svg","webpack:///./node_modules/gatsby-plugin-google-gtag/index.js","webpack:///./node_modules/gatsby-plugin-intl/with-intl.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/sheet/dist/sheet.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/cache/dist/cache.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/utils/dist/utils.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/css/dist/css.browser.esm.js","webpack:///./node_modules/react-spinners/node_modules/@emotion/core/dist/core.browser.esm.js","webpack:///./src/assets/language-tc.svg","webpack:///./src/images/mai-logo-2.svg","webpack:///./node_modules/gatsby-plugin-intl/index.js","webpack:///./src/images/mai-logo.svg","webpack:///./node_modules/react-spinners/ClipLoader.js","webpack:///./src/assets/language-icon-white.svg","webpack:///./src/images/btn-twitter.svg","webpack:///./src/components/Button/style.js","webpack:///./src/components/Button/index.js","webpack:///./node_modules/react-use/esm/util.js","webpack:///./node_modules/react-use/esm/useEffectOnce.js","webpack:///./node_modules/react-use/esm/useUnmount.js","webpack:///./node_modules/react-use/esm/useRafState.js","webpack:///./node_modules/react-use/esm/useWindowScroll.js","webpack:///./node_modules/react-spinners/helpers/unitConverter.js"],"names":["CONTACT_US","SUBSCRIBE","REQUEST_FOOD_DELIVERY_REPORT","REQUEST_RIDE_HAILING_REPORT","REQUEST_DIGITAL_ECONOMY_REPORT_2024","REQUEST_MIDDLE_EAST_ONLINE_DELIVERY_REPORT","_objectWithoutPropertiesLoose","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","dropdown","listItem","ListItem","forwardRef","ref","innerRef","to","children","props","css","AnnualReportDropdown","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_objectSpread","arguments","ownKeys","concat","filter","sym","getOwnPropertyDescriptor","enumerable","forEach","defineProperty","_typeof","obj","Symbol","iterator","constructor","noop","applyPrefixToName","prefix","name","classNames","state","className","arr","hasOwnProperty","push","map","String","trim","join","value","Array","isArray","Boolean","isDocumentElement","el","document","documentElement","body","window","getScrollTop","pageYOffset","scrollTop","scrollTo","top","easeOutCubic","t","b","c","d","animatedScrollTo","element","duration","undefined","callback","start","change","increment","currentTime","animateScroll","val","requestAnimationFrame","isTouchCapable","createEvent","e","getMenuPlacement","_ref","maxHeight","menuEl","minHeight","placement","shouldScroll","isFixedPosition","spacing","theme","scrollParent","style","getComputedStyle","excludeStaticParent","position","overflowRx","docEl","parent","parentElement","test","overflow","overflowY","overflowX","getScrollParent","defaultState","offsetParent","scrollHeight","getBoundingClientRect","height","_menuEl$getBoundingCl","menuBottom","bottom","menuHeight","menuTop","containerTop","viewHeight","innerHeight","marginBottom","parseInt","marginTop","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","_constrainedHeight","spaceAbove","Math","min","controlHeight","_constrainedHeight2","Error","coercePlacement","p","_Component","MenuPlacer","_getPrototypeOf2","_this","this","_len","args","_key","apply","maxMenuHeight","_this$props","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","getPortalPlacement","context","setState","getPlacement","placerProps","getUpdatedProps","func","noticeCSS","_ref5","_ref5$theme","baseUnit","color","colors","neutral40","padding","textAlign","noOptionsMessageCSS","loadingMessageCSS","cx","getStyles","innerProps","defaultProps","_Component2","MenuPortal","_getPrototypeOf3","_this2","_len2","_key2","_ref7","_this$props2","appendTo","controlElement","isFixed","rect","left","right","width","getBoundingClientObj","scrollDistance","offset","menuWrapper","keyList","hasProp","exportedEqual","a","equal","arrA","arrB","dateA","Date","dateB","getTime","regexpA","RegExp","regexpB","toString","$$typeof","error","message","match","console","warn","ValueContainer","isMulti","hasValue","_templateObject","strings","raw","data","slice","freeze","defineProperties","styles","size","viewBox","focusable","baseCSS","_ref3","isFocused","_ref3$theme","label","neutral60","neutral20","display","transition","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","loadingDotAnimations","_ref6","delay","animation","backgroundColor","borderRadius","marginLeft","verticalAlign","isRtl","indicator","inputStyle","isHidden","background","border","fontSize","opacity","outline","_ref4","MultiValueRemove","MultiValue","components","isDisabled","removeProps","selectProps","Container","Label","Remove","emotionCx","cropWithEllipsis","ClearIndicator","Control","menuIsOpen","control","DropdownIndicator","DownChevron","CrossIcon","Group","Heading","headingProps","group","GroupHeading","cleanProps","IndicatorsContainer","indicators","IndicatorSeparator","Input","_ref2","input","inputRef","disabled","LoadingIndicator","Menu","menu","MenuList","LoadingMessage","NoOptionsMessage","MultiValueContainer","MultiValueLabel","Option","isSelected","option","Placeholder","placeholder","SelectContainer","SingleValue","areInputsEqual","newInputs","lastInputs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","diacritics","base","letters","stripDiacritics","str","replace","trimString","defaultStringify","DummyInput","in","out","onExited","appear","enter","exit","emotion","transform","NodeResolver","STYLE_KEYS","LOCK_STYLES","boxSizing","preventTouchMove","preventDefault","allowTouchMove","stopPropagation","preventInertiaScroll","totalScroll","currentScroll","offsetHeight","isTouchDevice","navigator","maxTouchPoints","canUseDOM","createElement","activeScrollLocks","ScrollLock","capture","passive","accountForScrollbars","touchScrollTarget","targetStyle","originalStyles","currentPadding","paddingRight","clientWidth","adjustedPadding","innerWidth","addEventListener","listenerOptions","_this3","max","removeEventListener","_ref$1","_PureComponent","ScrollBlock","activeElement","blur","isEnabled","onClick","blurSelectInput","getScrollTarget","ScrollCaptor","event","delta","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","_this$scrollTarget","scrollTarget","clientHeight","isDeltaPositive","availableScroll","shouldCancelScroll","isBottom","isTop","cancelScroll","handleEventDelta","deltaY","touchStart","changedTouches","clientY","startListening","stopListening","onWheel","onTouchStart","onTouchMove","ScrollCaptorSwitch","instructionsAriaMessage","isSearchable","valueEventAriaMessage","isOptionDisabled","defaultStyles","clearIndicator","container","direction","pointerEvents","_ref$theme","alignItems","neutral5","neutral0","borderColor","neutral10","primary","borderStyle","borderWidth","boxShadow","cursor","flexWrap","justifyContent","neutral30","dropdownIndicator","paddingBottom","paddingTop","groupHeading","fontWeight","paddingLeft","textTransform","indicatorsContainer","alignSelf","flexShrink","indicatorSeparator","_ref4$theme","margin","visibility","loadingIndicator","lineHeight","marginRight","loadingMessage","_ref2$theme","alignToControl","menuGutter","menuList","WebkitOverflowScrolling","menuPortal","zIndex","multiValue","minWidth","multiValueLabel","textOverflow","whiteSpace","multiValueRemove","dangerLight","danger","noOptionsMessage","primary25","userSelect","WebkitTapHighlightColor","primary50","neutral50","singleValue","maxWidth","valueContainer","flex","config","defaultTheme","primary75","neutral70","neutral90","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","stringify","matchFrom","candidate","toLowerCase","substr","formatGroupLabel","getOptionLabel","getOptionValue","isLoading","menuShouldBlockScroll","userAgent","isMobileDevice","openMenuOnFocus","openMenuOnClick","options","pageSize","screenReaderStatus","count","tabIndex","tabSelectsValue","instanceId","Select","_props","ariaLiveSelection","ariaLiveContext","focusedOption","focusedValue","inputIsHidden","menuOptions","render","selectValue","controlRef","focusedOptionRef","menuListRef","focusInput","blurInput","newValue","actionMeta","onChange","action","onInputChange","inputIsHiddenAfterUpdate","onMenuClose","clearFocusValueOnUpdate","_this$props3","isOptionSelected","setValue","announceAriaLiveSelection","removedValue","lastSelectedValue","custom","instancePrefix","_this$state","index","button","blockOptionHover","tagName","openMenu","openAfterFocus","type","_this$props4","clearValue","setTimeout","HTMLElement","isComposing","touch","touches","item","initialTouchX","clientX","initialTouchY","userIsDragging","deltaX","abs","contains","onControlMouseDown","onClearIndicatorMouseDown","onDropdownIndicatorMouseDown","inputValue","currentTarget","onMenuOpen","_this$props5","onFocus","announceAriaLiveContext","focus","onBlur","_this$props6","hideSelectedOptions","_this$props7","isClearable","onKeyDown","_this$state2","defaultPrevented","focusValue","removeValue","popValue","shiftKey","selectOption","keyCode","focusOption","cacheComponents","bind","_selectValue","_menuOptions","buildMenuOptions","startListeningComposition","startListeningToTouch","onScroll","autoFocus","nextProps","_this$props8","getNextFocusedValue","getNextFocusedOption","prevProps","focusedEl","menuRect","focusedRect","overScroll","_this$props9","scrollToFocusedOptionOnUpdate","offsetTop","stopListeningComposition","stopListeningToTouch","_this$props10","_this$state3","openAtIndex","selectedIndex","_this$props11","_this$state4","focusedIndex","lastIndex","nextFocus","_this$state5","classNamePrefix","getValue","getTheme","nextSelectValue","_this$state6","lastFocusedIndex","lastFocusedOption","_this$props12","some","formatOptionLabel","onCompositionStart","onCompositionEnd","onTouchEnd","_props$inputValue","toOption","id","shouldHideSelectedOptions","onHover","onOptionHover","onSelect","optionId","getElementId","onMouseMove","onMouseOver","reduce","acc","itemIndex","hasGroups","child","groupId","_this$state7","_this$props13","focusedValueMsg","valueFocusAriaMessage","focusedOptionMsg","optionFocusAriaMessage","resultsMsg","screenReaderMessage","resultsAriaMessage","countOptions","_this$props14","inputId","getInputRef","onInputBlur","onInputFocus","readOnly","ariaAttributes","_this$commonProps","commonProps","autoCapitalize","autoComplete","autoCorrect","handleInputChange","spellCheck","_this4","_this$components","_this$props15","_this$state8","opt","isOptionFocused","onMouseDown","_this$props16","onClearIndicatorTouchEnd","_this$props17","_this$components2","onDropdownIndicatorTouchEnd","_this5","_this$components3","_this$state9","_this$props18","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","getFocusedOptionRef","hasOptions","headingId","_message","menuPlacementProps","menuElement","_ref6$placerProps","onMenuMouseDown","onMenuMouseMove","getMenuListRef","_this6","_this$props19","delimiter","_value","constructAriaLiveMessage","_this$components4","_this$props20","getCommonProps","renderLiveRegion","getControlRef","onControlTouchEnd","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","SelectComponent","_class","_temp","defaultInputValue","defaultMenuIsOpen","defaultValue","StateManager","callProp","select","getProp","arrowDown","optionIcon","Icon","LanguageEngIcon","localeEnum","LanguageTCIcon","LanguageSCIcon","fill","LanguageDropdown","lightModeOn","intl","useIntl","useState","languageOptions","find","locale","selectedOption","setSelectedOption","useTheme","useMemo","provided","purples","normal","white","greens","light","handleChange","useCallback","changeLocale","TextButton","mq","tablet","LoginButton","location","gtag_report_conversion","pathname","includes","gtag","send_to","href","rel","defaultMessage","list","icon","separator","LanguageItemList","menuItem","DownloadAnnualReportButton","DataInsightButton","process","GATSBY_MULTI_LANG","scrollDirection","transparent","zIndices","header","hex","trimmedHex","substring","hexToRgba","dark","content","textButtonMargin","freeTrialButtinMargin","buttonsContainter","hamburgerLayer","Header","headerMode","y","useWindowScroll","setScrollDirection","previousScrollYRef","useRef","useEffect","current","currentScrollDirection","useScrollDirection","isMenuOpen","setIsMenuOpen","isDesktop","useMedia","logoWidth","logoHeight","src","logo_purple","logo_white","alt","hamburger","_isMenuOpen","upperFooterContainer","fontStyle","contentContainer","contentLeftContainer","contentRightContainer","maiImage","socialIcon","last","otherPages","logosContainer","allRightsReserved","pageAnchor","purpleBar","address","mobile","SocialIcon","OtherPages","Page","Footer","mailogo","linkedinIcon","twitterIcon","values","year","getFullYear","form","textarea","footer","submittedMessage","errorMessage","submitButton","buttonOutbound","initialFormState","customer_name","company_name","email_address","phone","Callback","onSubmit","formOptions","uri","additionalFormBody","request_phone_callback","should_subscribe","optionalStates","useForm","formFields","formStatus","handleSubmit","SUBMITTED","LabelTextInput","optional","as","rows","span1","span2","FAILED","Button","SUBMITTING","helpSymbol","popoverHeader","closeButton","closeSymbol","popoverBody","TalkToUs","useContext","TalkToUsContext","isOpen","open","close","onClose","isFormSubmitted","setIsFormSubmitted","open_and_gtag","opening","popup","helpButton","closing","LeaveMessage","global","fonts","main","Layout","DRAFT","initialState","status","errorCode","reducer","payload","useReducer","dispatch","formValue","formField","formBody","fetch","method","headers","JSON","response","ok","json","errorBody","error_code","exports","_extends","assign","_createClass","descriptor","configurable","writable","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","__esModule","default","sizerStyle","INPUT_PROPS_BLACKLIST","copyStyles","node","fontFamily","letterSpacing","isIE","generateId","random","AutosizeInput","instance","TypeError","_classCallCheck","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","subClass","superClass","create","setPrototypeOf","_inherits","mounted","copyInputStyles","updateInputWidth","prevState","onAutosize","inputStyles","scrollWidth","newInputWidth","placeholderIsMinWidth","extraWidth","injectStyles","dangerouslySetInnerHTML","__html","sizerValue","previousValue","currentValue","wrapperStyle","inputProps","field","cleanInputProps","inputClassName","renderStyles","Component","propTypes","string","any","oneOfType","number","bool","object","require","navigate","_extends2","_objectWithoutPropertiesLoose2","_propTypes","_gatsby","_intlContext","Link","language","rest","IntlContextConsumer","languageLink","link","routed","localStorage","setItem","isRequired","_default","_window$___gatsbyIntl","___gatsbyIntl","removeLocalePart","search","__export","m","commonValues","loading","sizeDefaults","sizeValue","heightWidthDefaults","sizeMarginDefaults","heightWidthRadiusDefaults","radius","module","breakpoints","valuesRef","mediaQueryLists","queries","bp","q","matchMedia","findIndex","mql","matches","handler","addListener","removeListener","createContext","closeCount","openCallback","page","TalkToUsProvider","setIsOpen","talkToUsContext","Provider","BasicColors","calculateRgba","res_1","split","React","LanguageSc","labelStyle","InputBox","labelFor","htmlFor","numberInput","TextInput","inputContainer","textInput","LanguageEng","OutboundLink","redirect","altKey","ctrlKey","metaKey","event_category","event_label","transport_type","event_callback","_reactIntl","injectIntl","StyleSheet","isSpeedy","speedy","tags","ctr","nonce","before","_proto","insert","rule","_tag","tag","setAttribute","appendChild","createTextNode","createStyleElement","nextSibling","insertBefore","sheet","styleSheets","ownerNode","sheetForTag","isImportRule","charCodeAt","insertRule","cssRules","flush","parentNode","removeChild","W","X","h","ia","Z","v","n","F","P","w","L","ja","ka","aa","G","ba","la","ma","R","na","ea","oa","H","g","x","A","S","B","U","D","z","M","k","C","K","u","l","r","I","J","f","N","charAt","ca","O","da","fa","Y","E","ha","Q","use","T","set","toSheet","block","Sheet","ruleSheet","selectors","parents","line","column","ns","depth","at","stylisOptions","stylis","inserted","head","_insert","nodes","querySelectorAll","getAttribute","stylisPlugins","selector","serialized","shouldCache","cache","registered","getRegisteredStyles","registeredStyles","rawClassName","insertStyles","isStringTag","next","len","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","order","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","fn","arg","styleName","p1","p2","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","result","cached","labelPattern","stringMode","identifierName","exec","EmotionCacheContext","ThemeContext","CacheProvider","Consumer","typePropName","cssProp","newProps","Emotion","argsLength","createElementArgArray","Global","_React$Component","InnerGlobal","updater","componentDidMount","querySelector","componentDidUpdate","nextElementSibling","componentWillUnmount","insertable","classnames","cls","toAdd","merge","ClassNames","ele","LanguageTc","_interopRequireWildcard","_exportNames","withIntl","IntlContextProvider","_link","_withIntl","_extendStatics","__makeTemplateObject","cooked","__extends","__","__importStar","mod","templateObject_1","templateObject_2","core_1","helpers_1","clip","keyframes","Loader","_super","_a","cssValue","jsx","PureComponent","LanguageIconWhite","isClient","effect","fnRef","frame","setRafState","cancelAnimationFrame","pageXOffset","cssUnit","cm","mm","px","pt","pc","em","ex","ch","rem","vw","vh","vmin","vmax","parseLengthAndUnit","unit","valueString","parseFloat","lengthWithunit"],"mappings":"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AU,GAELC,EAAK,EAAGA,EAAKxS,UAAUrB,OAAQ6T,IACtCD,EAAQC,GAAMxS,UAAUwS,GAG1B,OAAIF,GAAcH,IAAazK,MAAQwK,EAAQK,EAASF,KAIxDD,EAAaH,EAASnK,MAAMJ,KAAM6K,GAClCD,GAAa,EACbH,EAAWzK,KACX2K,EAAWE,GANFH,ICdTK,GAAa,CAAC,CAChBC,KAAM,IACNC,QAAS,mNACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,yBACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,mBACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,6DACR,CACDD,KAAM,IACNC,QAAS,+EACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,KACNC,QAAS,mBACR,CACDD,KAAM,KACNC,QAAS,mBACR,CACDD,KAAM,IACNC,QAAS,2LACR,CACDD,KAAM,IACNC,QAAS,2CACR,CACDD,KAAM,IACNC,QAAS,iGACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,IACNC,QAAS,+HACR,CACDD,KAAM,IACNC,QAAS,qCACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,IACNC,QAAS,mHACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,uDACR,CACDD,KAAM,IACNC,QAAS,uGACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,yQACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,mEACR,CACDD,KAAM,IACNC,QAAS,2CACR,CACDD,KAAM,IACNC,QAAS,6GACR,CACDD,KAAM,IACNC,QAAS,6GACR,CACDD,KAAM,IACNC,QAAS,iGACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,mNACR,CACDD,KAAM,IACNC,QAAS,uDACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,mEACR,CACDD,KAAM,IACNC,QAAS,qCACR,CACDD,KAAM,IACNC,QAAS,iGACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,IACNC,QAAS,yNACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,yBACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,mBACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,6DACR,CACDD,KAAM,IACNC,QAAS,qFACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,KACNC,QAAS,mBACR,CACDD,KAAM,IACNC,QAAS,iMACR,CACDD,KAAM,IACNC,QAAS,2CACR,CACDD,KAAM,IACNC,QAAS,iGACR,CACDD,KAAM,IACNC,QAAS,iGACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,+HACR,CACDD,KAAM,IACNC,QAAS,2CACR,CACDD,KAAM,IACNC,QAAS,2FACR,CACDD,KAAM,IACNC,QAAS,yHACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,uDACR,CACDD,KAAM,IACNC,QAAS,6GACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,yQACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,mEACR,CACDD,KAAM,IACNC,QAAS,2CACR,CACDD,KAAM,IACNC,QAAS,6GACR,CACDD,KAAM,IACNC,QAAS,mHACR,CACDD,KAAM,IACNC,QAAS,uGACR,CACDD,KAAM,KACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,mNACR,CACDD,KAAM,IACNC,QAAS,uDACR,CACDD,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","file":"commons-adc4482aa34e3290a48e.js","sourcesContent":["export const CONTACT_US = \"https://beta.measurable.ai:8080/v1/api/contactus\"\n\nexport const SUBSCRIBE = \"https://beta.measurable.ai:8080/v1/api/subscribe\"\n\nexport const REQUEST_FOOD_DELIVERY_REPORT =\n \"https://beta.measurable.ai:8080/v1/api/request-annual-report\"\n\nexport const REQUEST_RIDE_HAILING_REPORT =\n \"https://beta.measurable.ai:8080/v1/api/request-reports/ride-hailing-2023\"\n\nexport const REQUEST_DIGITAL_ECONOMY_REPORT_2024 =\n \"https://beta.measurable.ai:8080/v1/api/request-reports/digital-economy-annual-report-2024\"\n\nexport const REQUEST_MIDDLE_EAST_ONLINE_DELIVERY_REPORT =\n \"https://beta.measurable.ai:8080/v1/api/request-reports/middle-east-online-delivery-report\"\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { css } from \"@emotion/core\"\n\nexport const dropdown = () => css`\n position: relative;\n\n & > button {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 13px;\n background: #0a0a80;\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 900;\n font-size: 1.5rem;\n line-height: 14px;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n color: #00f9d8;\n box-shadow: inset 0 0 0 2px #00f9d8;\n text-transform: uppercase;\n padding: 0.8rem 1.2rem;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: normal;\n text-decoration: none;\n display: inline-block;\n transition: all 200ms ease;\n }\n\n & > button:hover,\n &:hover > button {\n box-shadow: inset 0 0 0 100px #00f9d8;\n color: #0a0a80;\n background-position: 0px;\n }\n\n & > button + div {\n background: #0a0a80;\n max-width: 40ch;\n width: max-content;\n position: absolute;\n top: 100%;\n left: 0;\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 200ms ease-in-out;\n\n & > div {\n overflow: hidden;\n }\n }\n\n & > button:hover + div,\n & > button + div:hover {\n grid-template-rows: 1fr;\n }\n`\n\nexport const listItem = () => css`\n display: block;\n background: #00f9d8;\n color: #0a0a80;\n font-family: \"Barlow\";\n font-style: normal;\n font-weight: 600;\n font-size: 1.3rem;\n line-height: 1.4;\n padding: 1.3rem;\n letter-spacing: 0.5px;\n text-transform: capitalize;\n text-decoration: none;\n transition: background 100ms ease-in-out, color 100ms ease-in-out;\n\n &:hover {\n background: #0a0a80;\n color: #00f9d8;\n }\n\n & > span {\n background: #ff3159;\n color: #fff;\n padding: 0.1rem 0.4rem;\n border-radius: 1000px;\n text-transform: uppercase;\n font-size: 1rem;\n font-weight: 700;\n }\n`\n","import React, { forwardRef } from \"react\"\nimport { Link } from \"gatsby-plugin-intl\"\nimport { dropdown, listItem } from \"./style\"\n\nconst ListItem = forwardRef(({ innerRef, to, children, ...props }, ref) => (\n \n {children}\n \n))\n\nconst AnnualReportDropdown = () => {\n return (\n
\n \n
\n
\n \n Middle East Online Delivery Report 2020-2024: FOOD + GROCERY\n New\n \n \n The 2024 Digital Economy Annual Report\n \n \n Asia & Americas Ride-Hailing 2019-2023\n \n \n Asia Online Delivery 2019-2022: Food & Grocery\n \n
\n
\n
\n )\n}\n\nexport default AnnualReportDropdown\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof'; // ==============================\n// NO OP\n// ==============================\n\nvar noop = function noop() {}; // Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Handle Input Change\n// ==============================\n\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\n\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n} // Touch Capability Detector\n// ==============================\n\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n}\n\nexport { getScrollParent as a, getScrollTop as b, animatedScrollTo as c, isMobileDevice as d, isDocumentElement as e, cleanValue as f, getBoundingClientObj as g, scrollIntoView as h, isTouchCapable as i, classNames as j, handleInputChange as k, noop as n, scrollTo as s };","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { Component } from 'react';\nimport { jsx, keyframes, ClassNames } from '@emotion/core';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport { g as getBoundingClientObj, a as getScrollParent, b as getScrollTop, c as animatedScrollTo, s as scrollTo } from './chunk-39d3fda8.browser.esm.js';\nimport _css from '@emotion/css';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport AutosizeInput from 'react-input-autosize';\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n scrollTo(scrollParent, scrollDown);\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty(_ref3, alignToControl(placement), '100%'), _defineProperty(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty(_ref3, \"borderRadius\", borderRadius), _defineProperty(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty(_ref3, \"position\", 'absolute'), _defineProperty(_ref3, \"width\", '100%'), _defineProperty(_ref3, \"zIndex\", 1), _ref3;\n}; // NOTE: internal only\n\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n function MenuPlacer() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MenuPlacer)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPlacement\", function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getUpdatedProps\", function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread({}, _this.props, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n });\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\n\n_defineProperty(MenuPlacer, \"contextTypes\", {\n getPortalPlacement: PropTypes.func\n});\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className)\n }, innerProps, {\n ref: innerRef\n }), children);\n}; // Menu List\n// ==============================\n\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\n\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isMulti = props.isMulti,\n innerRef = props.innerRef;\n return jsx(\"div\", {\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\n\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\n\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\n\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\n\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\n\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n function MenuPortal() {\n var _getPrototypeOf3;\n\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _possibleConstructorReturn(this, (_getPrototypeOf3 = _getPrototypeOf(MenuPortal)).call.apply(_getPrototypeOf3, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this2)), \"state\", {\n placement: null\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this2)), \"getPortalPlacement\", function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n });\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n getPortalPlacement: this.getPortalPlacement\n };\n } // callback for occassions where the menu must \"flip\"\n\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n controlElement = _this$props2.controlElement,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", {\n css: getStyles('menuPortal', state)\n }, children);\n return appendTo ? createPortal(menuWrapper, appendTo) : menuWrapper;\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\n_defineProperty(MenuPortal, \"childContextTypes\", {\n getPortalPlacement: PropTypes.func\n});\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length) {\n return false;\n }\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // Custom handling for React\n\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nfunction exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n}\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\n\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\n\nvar ValueContainer = /*#__PURE__*/function (_Component) {\n _inherits(ValueContainer, _Component);\n\n function ValueContainer() {\n _classCallCheck(this, ValueContainer);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ValueContainer).apply(this, arguments));\n }\n\n _createClass(ValueContainer, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className,\n cx = _this$props.cx,\n isMulti = _this$props.isMulti,\n getStyles = _this$props.getStyles,\n hasValue = _this$props.hasValue;\n return jsx(\"div\", {\n css: getStyles('valueContainer', this.props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, children);\n }\n }]);\n\n return ValueContainer;\n}(Component); // ==============================\n// Indicator Container\n// ==============================\n\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\n\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n return jsx(\"div\", {\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, children);\n};\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\"\n} : {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\"\n}; // ==============================\n// Dropdown & Clear Icons\n// ==============================\n\n\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n 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\"\n }));\n};\n\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n 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\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\n\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }), children || jsx(DownChevron, null));\n};\n\nvar clearIndicatorCSS = baseCSS;\n\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\n\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\n\nvar loadingDotAnimations = keyframes(_templateObject());\n\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/_css({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\n\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", {\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\n\nvar GroupHeading = function GroupHeading(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n theme = props.theme,\n selectProps = props.selectProps,\n cleanProps = _objectWithoutProperties(props, [\"className\", \"cx\", \"getStyles\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', _objectSpread({\n theme: theme\n }, cleanProps)),\n className: cx({\n 'group-heading': true\n }, className)\n }, cleanProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(_ref2) {\n var className = _ref2.className,\n cx = _ref2.cx,\n getStyles = _ref2.getStyles,\n innerRef = _ref2.innerRef,\n isHidden = _ref2.isHidden,\n isDisabled = _ref2.isDisabled,\n theme = _ref2.theme,\n selectProps = _ref2.selectProps,\n props = _objectWithoutProperties(_ref2, [\"className\", \"cx\", \"getStyles\", \"innerRef\", \"isHidden\", \"isDisabled\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', _objectSpread({\n theme: theme\n }, props))\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, props)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\n\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\n\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\n\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\n\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\n\nvar MultiValueRemove = /*#__PURE__*/function (_Component) {\n _inherits(MultiValueRemove, _Component);\n\n function MultiValueRemove() {\n _classCallCheck(this, MultiValueRemove);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(MultiValueRemove).apply(this, arguments));\n }\n\n _createClass(MultiValueRemove, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n innerProps = _this$props.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n }\n }]);\n\n return MultiValueRemove;\n}(Component);\n\nvar MultiValue = /*#__PURE__*/function (_Component2) {\n _inherits(MultiValue, _Component2);\n\n function MultiValue() {\n _classCallCheck(this, MultiValue);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(MultiValue).apply(this, arguments));\n }\n\n _createClass(MultiValue, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n components = _this$props2.components,\n cx = _this$props2.cx,\n data = _this$props2.data,\n getStyles = _this$props2.getStyles,\n innerProps = _this$props2.innerProps,\n isDisabled = _this$props2.isDisabled,\n removeProps = _this$props2.removeProps,\n selectProps = _this$props2.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref5) {\n var css = _ref5.css,\n emotionCx = _ref5.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread({}, innerProps, {\n className: emotionCx(css(getStyles('multiValue', _this.props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', _this.props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread({\n className: emotionCx(css(getStyles('multiValueRemove', _this.props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n }\n }]);\n\n return MultiValue;\n}(Component);\n\n_defineProperty(MultiValue, \"defaultProps\", {\n cropWithEllipsis: true\n});\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\n\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread({}, components, props.components);\n};\n\nexport { MenuPlacer as M, containerCSS as a, css as b, clearIndicatorCSS as c, dropdownIndicatorCSS as d, groupHeadingCSS as e, indicatorSeparatorCSS as f, groupCSS as g, inputCSS as h, indicatorsContainerCSS as i, loadingMessageCSS as j, menuListCSS as k, loadingIndicatorCSS as l, menuCSS as m, menuPortalCSS as n, multiValueCSS as o, multiValueLabelCSS as p, multiValueRemoveCSS as q, noOptionsMessageCSS as r, optionCSS as s, placeholderCSS as t, css$1 as u, valueContainerCSS as v, defaultComponents as w, exportedEqual as x, components as y };","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = areInputsEqual;\n }\n\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n var newArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n\nexport default memoizeOne;","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { Component, PureComponent } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { jsx } from '@emotion/core';\nimport { findDOMNode } from 'react-dom';\nimport { i as isTouchCapable, d as isMobileDevice, e as isDocumentElement, f as cleanValue, h as scrollIntoView, j as classNames, n as noop } from '../../chunk-39d3fda8.browser.esm.js';\nimport { c as clearIndicatorCSS, a as containerCSS, b as css, d as dropdownIndicatorCSS, g as groupCSS, e as groupHeadingCSS, i as indicatorsContainerCSS, f as indicatorSeparatorCSS, h as inputCSS, l as loadingIndicatorCSS, j as loadingMessageCSS, m as menuCSS, k as menuListCSS, n as menuPortalCSS, o as multiValueCSS, p as multiValueLabelCSS, q as multiValueRemoveCSS, r as noOptionsMessageCSS, s as optionCSS, t as placeholderCSS, u as css$1, v as valueContainerCSS, w as defaultComponents, x as exportedEqual, M as MenuPlacer } from '../../chunk-80640036.browser.esm.js';\nimport _css from '@emotion/css';\nvar diacritics = [{\n base: 'A',\n letters: /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g\n}, {\n base: 'AA',\n letters: /[\\uA732]/g\n}, {\n base: 'AE',\n letters: /[\\u00C6\\u01FC\\u01E2]/g\n}, {\n base: 'AO',\n letters: /[\\uA734]/g\n}, {\n base: 'AU',\n letters: /[\\uA736]/g\n}, {\n base: 'AV',\n letters: /[\\uA738\\uA73A]/g\n}, {\n base: 'AY',\n letters: /[\\uA73C]/g\n}, {\n base: 'B',\n letters: /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g\n}, {\n base: 'C',\n letters: /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g\n}, {\n base: 'D',\n letters: /[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]/g\n}, {\n base: 'DZ',\n letters: /[\\u01F1\\u01C4]/g\n}, {\n base: 'Dz',\n letters: /[\\u01F2\\u01C5]/g\n}, {\n base: 'E',\n letters: /[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]/g\n}, {\n base: 'F',\n letters: /[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]/g\n}, {\n base: 'G',\n letters: /[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]/g\n}, {\n base: 'H',\n letters: /[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]/g\n}, {\n base: 'I',\n letters: /[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]/g\n}, {\n base: 'J',\n letters: /[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]/g\n}, {\n base: 'K',\n letters: /[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]/g\n}, {\n base: 'L',\n letters: /[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]/g\n}, {\n base: 'LJ',\n letters: /[\\u01C7]/g\n}, {\n base: 'Lj',\n letters: /[\\u01C8]/g\n}, {\n base: 'M',\n letters: /[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]/g\n}, {\n base: 'N',\n letters: /[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]/g\n}, {\n base: 'NJ',\n letters: /[\\u01CA]/g\n}, {\n base: 'Nj',\n letters: /[\\u01CB]/g\n}, {\n base: 'O',\n letters: /[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]/g\n}, {\n base: 'OI',\n letters: /[\\u01A2]/g\n}, {\n base: 'OO',\n letters: /[\\uA74E]/g\n}, {\n base: 'OU',\n letters: /[\\u0222]/g\n}, {\n base: 'P',\n letters: /[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]/g\n}, {\n base: 'Q',\n letters: /[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]/g\n}, {\n base: 'R',\n letters: /[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]/g\n}, {\n base: 'S',\n letters: /[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]/g\n}, {\n base: 'T',\n letters: /[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]/g\n}, {\n base: 'TZ',\n letters: /[\\uA728]/g\n}, {\n base: 'U',\n letters: /[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]/g\n}, {\n base: 'V',\n letters: /[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]/g\n}, {\n base: 'VY',\n letters: /[\\uA760]/g\n}, {\n base: 'W',\n letters: /[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]/g\n}, {\n base: 'X',\n letters: /[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]/g\n}, {\n base: 'Y',\n letters: /[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]/g\n}, {\n base: 'Z',\n letters: /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g\n}, {\n base: 'a',\n letters: /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g\n}, {\n base: 'aa',\n letters: /[\\uA733]/g\n}, {\n base: 'ae',\n letters: /[\\u00E6\\u01FD\\u01E3]/g\n}, {\n base: 'ao',\n letters: /[\\uA735]/g\n}, {\n base: 'au',\n letters: /[\\uA737]/g\n}, {\n base: 'av',\n letters: /[\\uA739\\uA73B]/g\n}, {\n base: 'ay',\n letters: /[\\uA73D]/g\n}, {\n base: 'b',\n letters: /[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]/g\n}, {\n base: 'c',\n letters: /[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]/g\n}, {\n base: 'd',\n letters: /[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]/g\n}, {\n base: 'dz',\n letters: /[\\u01F3\\u01C6]/g\n}, {\n base: 'e',\n letters: /[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]/g\n}, {\n base: 'f',\n letters: /[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]/g\n}, {\n base: 'g',\n letters: /[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]/g\n}, {\n base: 'h',\n letters: /[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]/g\n}, {\n base: 'hv',\n letters: /[\\u0195]/g\n}, {\n base: 'i',\n letters: /[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]/g\n}, {\n base: 'j',\n letters: /[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]/g\n}, {\n base: 'k',\n letters: /[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]/g\n}, {\n base: 'l',\n letters: /[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]/g\n}, {\n base: 'lj',\n letters: /[\\u01C9]/g\n}, {\n base: 'm',\n letters: /[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]/g\n}, {\n base: 'n',\n letters: /[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]/g\n}, {\n base: 'nj',\n letters: /[\\u01CC]/g\n}, {\n base: 'o',\n letters: /[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]/g\n}, {\n base: 'oi',\n letters: /[\\u01A3]/g\n}, {\n base: 'ou',\n letters: /[\\u0223]/g\n}, {\n base: 'oo',\n letters: /[\\uA74F]/g\n}, {\n base: 'p',\n letters: /[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]/g\n}, {\n base: 'q',\n letters: /[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]/g\n}, {\n base: 'r',\n letters: /[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]/g\n}, {\n base: 's',\n letters: /[\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]/g\n}, {\n base: 't',\n letters: /[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]/g\n}, {\n base: 'tz',\n letters: /[\\uA729]/g\n}, {\n base: 'u',\n letters: /[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]/g\n}, {\n base: 'v',\n letters: /[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]/g\n}, {\n base: 'vy',\n letters: /[\\uA761]/g\n}, {\n base: 'w',\n letters: /[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]/g\n}, {\n base: 'x',\n letters: /[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]/g\n}, {\n base: 'y',\n letters: /[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]/g\n}, {\n base: 'z',\n letters: /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g\n}];\n\nvar stripDiacritics = function stripDiacritics(str) {\n for (var i = 0; i < diacritics.length; i++) {\n str = str.replace(diacritics[i].letters, diacritics[i].base);\n }\n\n return str;\n};\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = stripDiacritics(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\"\n} : {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFNIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbi8vIEFzc2lzdGl2ZSB0ZXh0IHRvIGRlc2NyaWJlIHZpc3VhbCBlbGVtZW50cy4gSGlkZGVuIGZvciBzaWdodGVkIHVzZXJzLlxuY29uc3QgQTExeVRleHQgPSAocHJvcHM6IEVsZW1lbnRDb25maWc8J3NwYW4nPikgPT4gKFxuICAgIDxzcGFuXG4gICAgICBjc3M9e3tcbiAgICAgICAgbGFiZWw6ICdhMTF5VGV4dCcsXG4gICAgICAgIHpJbmRleDogOTk5OSxcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBjbGlwOiAncmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpJyxcbiAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICB9fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBBMTF5VGV4dDtcbiJdfQ== */\"\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar DummyInput = /*#__PURE__*/function (_Component) {\n _inherits(DummyInput, _Component);\n\n function DummyInput() {\n _classCallCheck(this, DummyInput);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DummyInput).apply(this, arguments));\n }\n\n _createClass(DummyInput, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n inProp = _this$props.in,\n out = _this$props.out,\n onExited = _this$props.onExited,\n appear = _this$props.appear,\n enter = _this$props.enter,\n exit = _this$props.exit,\n innerRef = _this$props.innerRef,\n emotion = _this$props.emotion,\n props = _objectWithoutProperties(_this$props, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/_css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWVEiLCJmaWxlIjoiRHVtbXlJbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEdW1teUlucHV0IGV4dGVuZHMgQ29tcG9uZW50PGFueT4ge1xuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHsgaW46IGluUHJvcCwgb3V0LCBvbkV4aXRlZCwgYXBwZWFyLCBlbnRlciwgZXhpdCwgaW5uZXJSZWYsIGVtb3Rpb24sIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybihcbiAgICAgIDxpbnB1dFxuICAgICAgICByZWY9e2lubmVyUmVmfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAgICAgLy8gZ2V0IHJpZCBvZiBhbnkgZGVmYXVsdCBzdHlsZXNcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICAvLyBpbXBvcnRhbnQhIHdpdGhvdXQgYHdpZHRoYCBicm93c2VycyB3b24ndCBhbGxvdyBmb2N1c1xuICAgICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBkZXNrdG9wXG4gICAgICAgICAgY29sb3I6ICd0cmFuc3BhcmVudCcsXG5cbiAgICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgICAgbGVmdDogLTEwMCxcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDApJyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuIl19 */\")\n }));\n }\n }]);\n\n return DummyInput;\n}(Component);\n\nvar NodeResolver = /*#__PURE__*/function (_Component) {\n _inherits(NodeResolver, _Component);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NodeResolver).apply(this, arguments));\n }\n\n _createClass(NodeResolver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.innerRef(findDOMNode(this));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(Component);\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(window.document && window.document.createElement);\nvar activeScrollLocks = 0;\n\nvar ScrollLock = /*#__PURE__*/function (_Component) {\n _inherits(ScrollLock, _Component);\n\n function ScrollLock() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, ScrollLock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ScrollLock)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"originalStyles\", {});\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"listenerOptions\", {\n capture: false,\n passive: false\n });\n\n return _this;\n }\n\n _createClass(ScrollLock, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!canUseDOM) return;\n var _this$props = this.props,\n accountForScrollbars = _this$props.accountForScrollbars,\n touchScrollTarget = _this$props.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n _this2.originalStyles[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, this.listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (!canUseDOM) return;\n var _this$props2 = this.props,\n accountForScrollbars = _this$props2.accountForScrollbars,\n touchScrollTarget = _this$props2.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = _this3.originalStyles[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return ScrollLock;\n}(Component);\n\n_defineProperty(ScrollLock, \"defaultProps\", {\n accountForScrollbars: true\n});\n\nvar _ref$1 = process.env.NODE_ENV === \"production\" ? {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\"\n} : {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbEJsb2NrLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEVSIsImZpbGUiOiJTY3JvbGxCbG9jay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IFB1cmVDb21wb25lbnQsIHR5cGUgRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IE5vZGVSZXNvbHZlciBmcm9tICcuL05vZGVSZXNvbHZlcic7XG5pbXBvcnQgU2Nyb2xsTG9jayBmcm9tICcuL1Njcm9sbExvY2svaW5kZXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogRWxlbWVudDwqPixcbiAgaXNFbmFibGVkOiBib29sZWFuLFxufTtcbnR5cGUgU3RhdGUgPSB7XG4gIHRvdWNoU2Nyb2xsVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwsXG59O1xuXG4vLyBOT1RFOlxuLy8gV2Ugc2hvdWxkbid0IG5lZWQgdGhpcyBhZnRlciB1cGRhdGluZyB0byBSZWFjdCB2MTYuMy4wLCB3aGljaCBpbnRyb2R1Y2VzOlxuLy8gLSBjcmVhdGVSZWYoKSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjcmVhdGVyZWZcbi8vIC0gZm9yd2FyZFJlZigpIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGZvcndhcmRyZWZcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Nyb2xsQmxvY2sgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0ZSA9IHsgdG91Y2hTY3JvbGxUYXJnZXQ6IG51bGwgfTtcblxuICAvLyBtdXN0IGJlIGluIHN0YXRlIHRvIHRyaWdnZXIgYSByZS1yZW5kZXIsIG9ubHkgcnVucyBvbmNlIHBlciBpbnN0YW5jZVxuICBnZXRTY3JvbGxUYXJnZXQgPSAocmVmOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGlmIChyZWYgPT09IHRoaXMuc3RhdGUudG91Y2hTY3JvbGxUYXJnZXQpIHJldHVybjtcbiAgICB0aGlzLnNldFN0YXRlKHsgdG91Y2hTY3JvbGxUYXJnZXQ6IHJlZiB9KTtcbiAgfTtcblxuICAvLyB0aGlzIHdpbGwgY2xvc2UgdGhlIG1lbnUgd2hlbiBhIHVzZXIgY2xpY2tzIG91dHNpZGVcbiAgYmx1clNlbGVjdElucHV0ID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGlzRW5hYmxlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHRvdWNoU2Nyb2xsVGFyZ2V0IH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgLy8gYmFpbCBlYXJseSBpZiBub3QgZW5hYmxlZFxuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgICAvKlxuICAgICAqIERpdlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGJsb2NrcyBzY3JvbGxpbmcgb24gbm9uLWJvZHkgZWxlbWVudHMgYmVoaW5kIHRoZSBtZW51XG5cbiAgICAgKiBOb2RlUmVzb2x2ZXJcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKiB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQgdG8gXCJ1bmxvY2tcIiBzY3JvbGwgb25cbiAgICAgKiBtb2JpbGUgZGV2aWNlc1xuXG4gICAgICogU2Nyb2xsTG9ja1xuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGFjdHVhbGx5IGRvZXMgdGhlIHNjcm9sbCBsb2NraW5nXG4gICAgICovXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmJsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgICA8Tm9kZVJlc29sdmVyIGlubmVyUmVmPXt0aGlzLmdldFNjcm9sbFRhcmdldH0+e2NoaWxkcmVufTwvTm9kZVJlc29sdmVyPlxuICAgICAgICB7dG91Y2hTY3JvbGxUYXJnZXQgPyAoXG4gICAgICAgICAgPFNjcm9sbExvY2sgdG91Y2hTY3JvbGxUYXJnZXQ9e3RvdWNoU2Nyb2xsVGFyZ2V0fSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\"\n}; // NOTE:\n// We shouldn't need this after updating to React v16.3.0, which introduces:\n// - createRef() https://reactjs.org/docs/react-api.html#reactcreateref\n// - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref\n\n\nvar ScrollBlock = /*#__PURE__*/function (_PureComponent) {\n _inherits(ScrollBlock, _PureComponent);\n\n function ScrollBlock() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, ScrollBlock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ScrollBlock)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n touchScrollTarget: null\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getScrollTarget\", function (ref) {\n if (ref === _this.state.touchScrollTarget) return;\n\n _this.setState({\n touchScrollTarget: ref\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"blurSelectInput\", function () {\n if (document.activeElement) {\n document.activeElement.blur();\n }\n });\n\n return _this;\n }\n\n _createClass(ScrollBlock, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n isEnabled = _this$props.isEnabled;\n var touchScrollTarget = this.state.touchScrollTarget; // bail early if not enabled\n\n if (!isEnabled) return children;\n /*\n * Div\n * ------------------------------\n * blocks scrolling on non-body elements behind the menu\n * NodeResolver\n * ------------------------------\n * we need a reference to the scrollable element to \"unlock\" scroll on\n * mobile devices\n * ScrollLock\n * ------------------------------\n * actually does the scroll locking\n */\n\n return jsx(\"div\", null, jsx(\"div\", {\n onClick: this.blurSelectInput,\n css: _ref$1\n }), jsx(NodeResolver, {\n innerRef: this.getScrollTarget\n }, children), touchScrollTarget ? jsx(ScrollLock, {\n touchScrollTarget: touchScrollTarget\n }) : null);\n }\n }]);\n\n return ScrollBlock;\n}(PureComponent);\n\nvar ScrollCaptor = /*#__PURE__*/function (_Component) {\n _inherits(ScrollCaptor, _Component);\n\n function ScrollCaptor() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, ScrollCaptor);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ScrollCaptor)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isBottom\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isTop\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scrollTarget\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"touchStart\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"cancelScroll\", function (event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleEventDelta\", function (event, delta) {\n var _this$props = _this.props,\n onBottomArrive = _this$props.onBottomArrive,\n onBottomLeave = _this$props.onBottomLeave,\n onTopArrive = _this$props.onTopArrive,\n onTopLeave = _this$props.onTopLeave;\n var _this$scrollTarget = _this.scrollTarget,\n scrollTop = _this$scrollTarget.scrollTop,\n scrollHeight = _this$scrollTarget.scrollHeight,\n clientHeight = _this$scrollTarget.clientHeight;\n var target = _this.scrollTarget;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && _this.isBottom) {\n if (onBottomLeave) onBottomLeave(event);\n _this.isBottom = false;\n }\n\n if (isDeltaPositive && _this.isTop) {\n if (onTopLeave) onTopLeave(event);\n _this.isTop = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !_this.isBottom) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n _this.isBottom = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !_this.isTop) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n _this.isTop = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n _this.cancelScroll(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onWheel\", function (event) {\n _this.handleEventDelta(event, event.deltaY);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onTouchStart\", function (event) {\n // set touch start so we can calculate touchmove delta\n _this.touchStart = event.changedTouches[0].clientY;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onTouchMove\", function (event) {\n var deltaY = _this.touchStart - event.changedTouches[0].clientY;\n\n _this.handleEventDelta(event, deltaY);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getScrollTarget\", function (ref) {\n _this.scrollTarget = ref;\n });\n\n return _this;\n }\n\n _createClass(ScrollCaptor, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListening(this.scrollTarget);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListening(this.scrollTarget);\n }\n }, {\n key: \"startListening\",\n value: function startListening(el) {\n // bail early if no element is available to attach to\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"stopListening\",\n value: function stopListening(el) {\n // all the if statements are to appease Flow 😢\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(NodeResolver, {\n innerRef: this.getScrollTarget\n }, this.props.children);\n }\n }]);\n\n return ScrollCaptor;\n}(Component);\n\nvar ScrollCaptorSwitch = /*#__PURE__*/function (_Component2) {\n _inherits(ScrollCaptorSwitch, _Component2);\n\n function ScrollCaptorSwitch() {\n _classCallCheck(this, ScrollCaptorSwitch);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ScrollCaptorSwitch).apply(this, arguments));\n }\n\n _createClass(ScrollCaptorSwitch, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n isEnabled = _this$props2.isEnabled,\n props = _objectWithoutProperties(_this$props2, [\"isEnabled\"]);\n\n return isEnabled ? React.createElement(ScrollCaptor, props) : this.props.children;\n }\n }]);\n\n return ScrollCaptorSwitch;\n}(Component);\n\n_defineProperty(ScrollCaptorSwitch, \"defaultProps\", {\n isEnabled: true\n});\n\nvar instructionsAriaMessage = function instructionsAriaMessage(event) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var isSearchable = context.isSearchable,\n isMulti = context.isMulti,\n label = context.label,\n isDisabled = context.isDisabled;\n\n switch (event) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu, press Tab to select the option and exit the menu.\");\n\n case 'input':\n return \"\".concat(label ? label : 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n }\n};\n\nvar valueEventAriaMessage = function valueEventAriaMessage(event, context) {\n var value = context.value,\n isDisabled = context.isDisabled;\n if (!value) return;\n\n switch (event) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(value, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(value, \" is disabled. Select another option.\") : \"option \".concat(value, \", selected.\");\n }\n};\n\nvar valueFocusAriaMessage = function valueFocusAriaMessage(_ref) {\n var focusedValue = _ref.focusedValue,\n getOptionLabel = _ref.getOptionLabel,\n selectValue = _ref.selectValue;\n return \"value \".concat(getOptionLabel(focusedValue), \" focused, \").concat(selectValue.indexOf(focusedValue) + 1, \" of \").concat(selectValue.length, \".\");\n};\n\nvar optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) {\n var focusedOption = _ref2.focusedOption,\n getOptionLabel = _ref2.getOptionLabel,\n options = _ref2.options;\n return \"option \".concat(getOptionLabel(focusedOption), \" focused\").concat(focusedOption.isDisabled ? ' disabled' : '', \", \").concat(options.indexOf(focusedOption) + 1, \" of \").concat(options.length, \".\");\n};\n\nvar resultsAriaMessage = function resultsAriaMessage(_ref3) {\n var inputValue = _ref3.inputValue,\n screenReaderMessage = _ref3.screenReaderMessage;\n return \"\".concat(screenReaderMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n};\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\n\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\n\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\n\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$1,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // initialize with source styles\n\n var styles = _objectSpread({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\nvar defaultProps = {\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component); // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n\n\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).call(this, _props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n ariaLiveSelection: '',\n ariaLiveContext: '',\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n menuOptions: {\n render: [],\n focusable: []\n },\n selectValue: []\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"blockOptionHover\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isComposing\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"clearFocusValueOnUpdate\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"commonProps\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"components\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"hasGroups\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"initialTouchX\", 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"initialTouchY\", 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"inputIsHiddenAfterUpdate\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"instancePrefix\", '');\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"openAfterFocus\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scrollToFocusedOptionOnUpdate\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"userIsDragging\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"controlRef\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getControlRef\", function (ref) {\n _this.controlRef = ref;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"focusedOptionRef\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getFocusedOptionRef\", function (ref) {\n _this.focusedOptionRef = ref;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"menuListRef\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getMenuListRef\", function (ref) {\n _this.menuListRef = ref;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"inputRef\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getInputRef\", function (ref) {\n _this.inputRef = ref;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"cacheComponents\", function (components) {\n _this.components = defaultComponents({\n components: components\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"focus\", _this.focusInput);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"blur\", _this.blurInput);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onChange\", function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n onChange(newValue, _objectSpread({}, actionMeta, {\n name: name\n }));\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setValue\", function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.clearFocusValueOnUpdate = true;\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"selectOption\", function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti;\n var selectValue = _this.state.selectValue;\n\n if (isMulti) {\n if (_this.isOptionSelected(newValue, selectValue)) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'deselect-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue(newValue, 'select-option');\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"removeValue\", function (removedValue) {\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValue = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.announceAriaLiveSelection({\n event: 'remove-value',\n context: {\n value: removedValue ? _this.getOptionLabel(removedValue) : ''\n }\n });\n\n _this.focusInput();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"clearValue\", function () {\n var isMulti = _this.props.isMulti;\n\n _this.onChange(isMulti ? [] : null, {\n action: 'clear'\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popValue\", function () {\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValue = selectValue.slice(0, selectValue.length - 1);\n\n _this.announceAriaLiveSelection({\n event: 'pop-value',\n context: {\n value: lastSelectedValue ? _this.getOptionLabel(lastSelectedValue) : ''\n }\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptionLabel\", function (data) {\n return _this.props.getOptionLabel(data);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptionValue\", function (data) {\n return _this.props.getOptionValue(data);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getStyles\", function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getElementId\", function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getActiveDescendentId\", function () {\n var menuIsOpen = _this.props.menuIsOpen;\n var _this$state = _this.state,\n menuOptions = _this$state.menuOptions,\n focusedOption = _this$state.focusedOption;\n if (!focusedOption || !menuIsOpen) return undefined;\n var index = menuOptions.focusable.indexOf(focusedOption);\n var option = menuOptions.render[index];\n return option && option.key;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"announceAriaLiveSelection\", function (_ref2) {\n var event = _ref2.event,\n context = _ref2.context;\n\n _this.setState({\n ariaLiveSelection: valueEventAriaMessage(event, context)\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"announceAriaLiveContext\", function (_ref3) {\n var event = _ref3.event,\n context = _ref3.context;\n\n _this.setState({\n ariaLiveContext: instructionsAriaMessage(event, _objectSpread({}, context, {\n label: _this.props['aria-label']\n }))\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMenuMouseDown\", function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMenuMouseMove\", function (event) {\n _this.blockOptionHover = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onControlMouseDown\", function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n //$FlowFixMe\n if (event.target.tagName !== 'INPUT') {\n _this.onMenuClose();\n }\n } //$FlowFixMe\n\n\n if (event.target.tagName !== 'INPUT') {\n event.preventDefault();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onDropdownIndicatorMouseDown\", function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClearIndicatorMouseDown\", function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onScroll\", function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onCompositionStart\", function () {\n _this.isComposing = true;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onCompositionEnd\", function () {\n _this.isComposing = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onTouchStart\", function (_ref4) {\n var touches = _ref4.touches;\n var touch = touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onTouchMove\", function (_ref5) {\n var touches = _ref5.touches;\n var touch = touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onTouchEnd\", function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onControlTouchEnd\", function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClearIndicatorTouchEnd\", function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onDropdownIndicatorTouchEnd\", function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleInputChange\", function (event) {\n var inputValue = event.currentTarget.value;\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n _this.onMenuOpen();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onInputFocus\", function (event) {\n var _this$props5 = _this.props,\n isSearchable = _this$props5.isSearchable,\n isMulti = _this$props5.isMulti;\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n\n _this.setState({\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onInputBlur\", function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onOptionHover\", function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"shouldHideSelectedOptions\", function () {\n var _this$props6 = _this.props,\n hideSelectedOptions = _this$props6.hideSelectedOptions,\n isMulti = _this$props6.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onKeyDown\", function (event) {\n var _this$props7 = _this.props,\n isMulti = _this$props7.isMulti,\n backspaceRemovesValue = _this$props7.backspaceRemovesValue,\n escapeClearsValue = _this$props7.escapeClearsValue,\n inputValue = _this$props7.inputValue,\n isClearable = _this$props7.isClearable,\n isDisabled = _this$props7.isDisabled,\n menuIsOpen = _this$props7.menuIsOpen,\n onKeyDown = _this$props7.onKeyDown,\n tabSelectsValue = _this$props7.tabSelectsValue,\n openMenuOnFocus = _this$props7.openMenuOnFocus;\n var _this$state2 = _this.state,\n focusedOption = _this$state2.focusedOption,\n focusedValue = _this$state2.focusedValue,\n selectValue = _this$state2.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n });\n\n var value = _props.value;\n _this.cacheComponents = memoizeOne(_this.cacheComponents, exportedEqual).bind(_assertThisInitialized(_assertThisInitialized(_this)));\n\n _this.cacheComponents(_props.components);\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n\n var _selectValue = cleanValue(value);\n\n var _menuOptions = _props.menuIsOpen ? _this.buildMenuOptions(_props, _selectValue) : {\n render: [],\n focusable: []\n };\n\n _this.state.menuOptions = _menuOptions;\n _this.state.selectValue = _selectValue;\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this$props8 = this.props,\n options = _this$props8.options,\n value = _this$props8.value,\n menuIsOpen = _this$props8.menuIsOpen,\n inputValue = _this$props8.inputValue; // re-cache custom components\n\n this.cacheComponents(nextProps.components); // rebuild the menu options\n\n if (nextProps.value !== value || nextProps.options !== options || nextProps.menuIsOpen !== menuIsOpen || nextProps.inputValue !== inputValue) {\n var selectValue = cleanValue(nextProps.value);\n var menuOptions = nextProps.menuIsOpen ? this.buildMenuOptions(nextProps, selectValue) : {\n render: [],\n focusable: []\n };\n var focusedValue = this.getNextFocusedValue(selectValue);\n var focusedOption = this.getNextFocusedOption(menuOptions.focusable);\n this.setState({\n menuOptions: menuOptions,\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue\n });\n } // some updates should toggle the state of the input visibility\n\n\n if (this.inputIsHiddenAfterUpdate != null) {\n this.setState({\n inputIsHidden: this.inputIsHiddenAfterUpdate\n });\n delete this.inputIsHiddenAfterUpdate;\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n isDisabled = _this$props9.isDisabled,\n menuIsOpen = _this$props9.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n }\n\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n }\n }, {\n key: \"onMenuOpen\",\n // ==============================\n // Consumer Handlers\n // ==============================\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n var _this$props10 = this.props,\n isSearchable = _this$props10.isSearchable,\n isMulti = _this$props10.isMulti;\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this$state3 = this.state,\n menuOptions = _this$state3.menuOptions,\n selectValue = _this$state3.selectValue,\n isFocused = _this$state3.isFocused;\n var isMulti = this.props.isMulti;\n var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1;\n\n if (!isMulti) {\n var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.inputIsHiddenAfterUpdate = false;\n this.onMenuOpen();\n this.setState({\n focusedValue: null,\n focusedOption: menuOptions.focusable[openAtIndex]\n });\n this.announceAriaLiveContext({\n event: 'menu'\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$props11 = this.props,\n isMulti = _this$props11.isMulti,\n isSearchable = _this$props11.isSearchable;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue; // Only multiselects support value focusing\n\n if (!isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'value'\n });\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n if (nextFocus === -1) {\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var _this$state5 = this.state,\n focusedOption = _this$state5.focusedOption,\n menuOptions = _this$state5.menuOptions;\n var options = menuOptions.focusable;\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'menu'\n });\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n this.announceAriaLiveContext({\n event: 'menu',\n context: {\n isDisabled: isOptionDisabled(options[nextFocus])\n }\n });\n }\n }, {\n key: \"getTheme\",\n // ==============================\n // Getters\n // ==============================\n value: function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread({}, defaultTheme, this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n getStyles = this.getStyles,\n setValue = this.setValue,\n selectOption = this.selectOption,\n props = this.props;\n var classNamePrefix = props.classNamePrefix,\n isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var selectValue = this.state.selectValue;\n var hasValue = this.hasValue();\n\n var getValue = function getValue() {\n return selectValue;\n };\n\n var cx = classNames.bind(null, classNamePrefix);\n return {\n cx: cx,\n clearValue: clearValue,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n setValue: setValue,\n selectProps: props,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"getNextFocusedValue\",\n value: function getNextFocusedValue(nextSelectValue) {\n if (this.clearFocusValueOnUpdate) {\n this.clearFocusValueOnUpdate = false;\n return null;\n }\n\n var _this$state6 = this.state,\n focusedValue = _this$state6.focusedValue,\n lastSelectValue = _this$state6.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"getNextFocusedOption\",\n value: function getNextFocusedOption(options) {\n var lastFocusedOption = this.state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.state.menuOptions.render.length;\n }\n }, {\n key: \"countOptions\",\n value: function countOptions() {\n return this.state.menuOptions.focusable.length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props12 = this.props,\n isClearable = _this$props12.isClearable,\n isMulti = _this$props12.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false;\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n var _this2 = this;\n\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof this.props.isOptionSelected === 'function') {\n return this.props.isOptionSelected(option, selectValue);\n }\n\n var candidate = this.getOptionValue(option);\n return selectValue.some(function (i) {\n return _this2.getOptionValue(i) === candidate;\n });\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return this.props.filterOption ? this.props.filterOption(option, inputValue) : true;\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n // ==============================\n // Composition Handlers\n // ==============================\n value: function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n // ==============================\n // Touch Handlers\n // ==============================\n value: function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"buildMenuOptions\",\n // ==============================\n // Menu Options\n // ==============================\n value: function buildMenuOptions(props, selectValue) {\n var _this3 = this;\n\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue,\n options = props.options;\n\n var toOption = function toOption(option, id) {\n var isDisabled = _this3.isOptionDisabled(option, selectValue);\n\n var isSelected = _this3.isOptionSelected(option, selectValue);\n\n var label = _this3.getOptionLabel(option);\n\n var value = _this3.getOptionValue(option);\n\n if (_this3.shouldHideSelectedOptions() && isSelected || !_this3.filterOption({\n label: label,\n value: value,\n data: option\n }, inputValue)) {\n return;\n }\n\n var onHover = isDisabled ? undefined : function () {\n return _this3.onOptionHover(option);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this3.selectOption(option);\n };\n var optionId = \"\".concat(_this3.getElementId('option'), \"-\").concat(id);\n return {\n innerProps: {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n },\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: 'option',\n value: value\n };\n };\n\n return options.reduce(function (acc, item, itemIndex) {\n if (item.options) {\n // TODO needs a tidier implementation\n if (!_this3.hasGroups) _this3.hasGroups = true;\n var items = item.options;\n var children = items.map(function (child, i) {\n var option = toOption(child, \"\".concat(itemIndex, \"-\").concat(i));\n if (option) acc.focusable.push(child);\n return option;\n }).filter(Boolean);\n\n if (children.length) {\n var groupId = \"\".concat(_this3.getElementId('group'), \"-\").concat(itemIndex);\n acc.render.push({\n type: 'group',\n key: groupId,\n data: item,\n options: children\n });\n }\n } else {\n var option = toOption(item, \"\".concat(itemIndex));\n\n if (option) {\n acc.render.push(option);\n acc.focusable.push(item);\n }\n }\n\n return acc;\n }, {\n render: [],\n focusable: []\n });\n } // ==============================\n // Renderers\n // ==============================\n\n }, {\n key: \"constructAriaLiveMessage\",\n value: function constructAriaLiveMessage() {\n var _this$state7 = this.state,\n ariaLiveContext = _this$state7.ariaLiveContext,\n selectValue = _this$state7.selectValue,\n focusedValue = _this$state7.focusedValue,\n focusedOption = _this$state7.focusedOption;\n var _this$props13 = this.props,\n options = _this$props13.options,\n menuIsOpen = _this$props13.menuIsOpen,\n inputValue = _this$props13.inputValue,\n screenReaderStatus = _this$props13.screenReaderStatus; // An aria live message representing the currently focused value in the select.\n\n var focusedValueMsg = focusedValue ? valueFocusAriaMessage({\n focusedValue: focusedValue,\n getOptionLabel: this.getOptionLabel,\n selectValue: selectValue\n }) : ''; // An aria live message representing the currently focused option in the select.\n\n var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({\n focusedOption: focusedOption,\n getOptionLabel: this.getOptionLabel,\n options: options\n }) : ''; // An aria live message representing the set of focusable results and current searchterm/inputvalue.\n\n var resultsMsg = resultsAriaMessage({\n inputValue: inputValue,\n screenReaderMessage: screenReaderStatus({\n count: this.countOptions()\n })\n });\n return \"\".concat(focusedValueMsg, \" \").concat(focusedOptionMsg, \" \").concat(resultsMsg, \" \").concat(ariaLiveContext);\n }\n }, {\n key: \"renderInput\",\n value: function renderInput() {\n var _this$props14 = this.props,\n isDisabled = _this$props14.isDisabled,\n isSearchable = _this$props14.isSearchable,\n inputId = _this$props14.inputId,\n inputValue = _this$props14.inputValue,\n tabIndex = _this$props14.tabIndex;\n var Input = this.components.Input;\n var inputIsHidden = this.state.inputIsHidden;\n var id = inputId || this.getElementId('input');\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return React.createElement(DummyInput, {\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n value: \"\"\n });\n } // aria attributes makes the JSX \"noisy\", separated for clarity\n\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n var _this$commonProps = this.commonProps,\n cx = _this$commonProps.cx,\n theme = _this$commonProps.theme,\n selectProps = _this$commonProps.selectProps;\n return React.createElement(Input, _extends({\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n cx: cx,\n getStyles: this.getStyles,\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n selectProps: selectProps,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n theme: theme,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this4 = this;\n\n var _this$components = this.components,\n MultiValue = _this$components.MultiValue,\n MultiValueContainer = _this$components.MultiValueContainer,\n MultiValueLabel = _this$components.MultiValueLabel,\n MultiValueRemove = _this$components.MultiValueRemove,\n SingleValue = _this$components.SingleValue,\n Placeholder = _this$components.Placeholder;\n var commonProps = this.commonProps;\n var _this$props15 = this.props,\n controlShouldRenderValue = _this$props15.controlShouldRenderValue,\n isDisabled = _this$props15.isDisabled,\n isMulti = _this$props15.isMulti,\n inputValue = _this$props15.inputValue,\n placeholder = _this$props15.placeholder;\n var _this$state8 = this.state,\n selectValue = _this$state8.selectValue,\n focusedValue = _this$state8.focusedValue,\n isFocused = _this$state8.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: _this4.getOptionValue(opt),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this4.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this4.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this4.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var ClearIndicator = this.components.ClearIndicator;\n var commonProps = this.commonProps;\n var _this$props16 = this.props,\n isDisabled = _this$props16.isDisabled,\n isLoading = _this$props16.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var LoadingIndicator = this.components.LoadingIndicator;\n var commonProps = this.commonProps;\n var _this$props17 = this.props,\n isDisabled = _this$props17.isDisabled,\n isLoading = _this$props17.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$components2 = this.components,\n DropdownIndicator = _this$components2.DropdownIndicator,\n IndicatorSeparator = _this$components2.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var DropdownIndicator = this.components.DropdownIndicator;\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this5 = this;\n\n var _this$components3 = this.components,\n Group = _this$components3.Group,\n GroupHeading = _this$components3.GroupHeading,\n Menu = _this$components3.Menu,\n MenuList = _this$components3.MenuList,\n MenuPortal = _this$components3.MenuPortal,\n LoadingMessage = _this$components3.LoadingMessage,\n NoOptionsMessage = _this$components3.NoOptionsMessage,\n Option = _this$components3.Option;\n var commonProps = this.commonProps;\n var _this$state9 = this.state,\n focusedOption = _this$state9.focusedOption,\n menuOptions = _this$state9.menuOptions;\n var _this$props18 = this.props,\n captureMenuScroll = _this$props18.captureMenuScroll,\n inputValue = _this$props18.inputValue,\n isLoading = _this$props18.isLoading,\n loadingMessage = _this$props18.loadingMessage,\n minMenuHeight = _this$props18.minMenuHeight,\n maxMenuHeight = _this$props18.maxMenuHeight,\n menuIsOpen = _this$props18.menuIsOpen,\n menuPlacement = _this$props18.menuPlacement,\n menuPosition = _this$props18.menuPosition,\n menuPortalTarget = _this$props18.menuPortalTarget,\n menuShouldBlockScroll = _this$props18.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props18.menuShouldScrollIntoView,\n noOptionsMessage = _this$props18.noOptionsMessage,\n onMenuScrollToTop = _this$props18.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props18.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props) {\n // for performance, the menu options in state aren't changed when the\n // focused option changes so we calculate additional props based on that\n var isFocused = focusedOption === props.data;\n props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined;\n return React.createElement(Option, _extends({}, commonProps, props, {\n isFocused: isFocused\n }), _this5.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = menuOptions.render.map(function (item) {\n if (item.type === 'group') {\n var type = item.type,\n group = _objectWithoutProperties(item, [\"type\"]);\n\n var headingId = \"\".concat(item.key, \"-heading\");\n return React.createElement(Group, _extends({}, commonProps, group, {\n Heading: GroupHeading,\n headingProps: {\n id: headingId\n },\n label: _this5.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option);\n }));\n } else if (item.type === 'option') {\n return render(item);\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref6) {\n var ref = _ref6.ref,\n _ref6$placerProps = _ref6.placerProps,\n placement = _ref6$placerProps.placement,\n maxHeight = _ref6$placerProps.maxHeight;\n return React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this5.onMenuMouseDown,\n onMouseMove: _this5.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), React.createElement(ScrollCaptorSwitch, {\n isEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom\n }, React.createElement(ScrollBlock, {\n isEnabled: menuShouldBlockScroll\n }, React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: _this5.getMenuListRef,\n isLoading: isLoading,\n maxHeight: maxHeight\n }), menuUI))));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this6 = this;\n\n var _this$props19 = this.props,\n delimiter = _this$props19.delimiter,\n isDisabled = _this$props19.isDisabled,\n isMulti = _this$props19.isMulti,\n name = _this$props19.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this6.getOptionValue(opt);\n }).join(delimiter);\n return React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this6.getOptionValue(opt)\n });\n }) : React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n if (!this.state.isFocused) return null;\n return React.createElement(A11yText, {\n \"aria-live\": \"polite\"\n }, React.createElement(\"p\", {\n id: \"aria-selection-event\"\n }, \"\\xA0\", this.state.ariaLiveSelection), React.createElement(\"p\", {\n id: \"aria-context\"\n }, \"\\xA0\", this.constructAriaLiveMessage()));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$components4 = this.components,\n Control = _this$components4.Control,\n IndicatorsContainer = _this$components4.IndicatorsContainer,\n SelectContainer = _this$components4.SelectContainer,\n ValueContainer = _this$components4.ValueContainer;\n var _this$props20 = this.props,\n className = _this$props20.className,\n id = _this$props20.id,\n isDisabled = _this$props20.isDisabled,\n menuIsOpen = _this$props20.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }]);\n\n return Select;\n}(Component);\n\n_defineProperty(Select, \"defaultProps\", defaultProps);\n\nexport { Select as S, defaultTheme as a, createFilter as c, defaultProps as d, mergeStyles as m };","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { Component } from 'react';\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n function StateManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(StateManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"select\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onChange\", function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onInputChange\", function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMenuOpen\", function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMenuClose\", function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n });\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n defaultInputValue = _this$props2.defaultInputValue,\n defaultMenuIsOpen = _this$props2.defaultMenuIsOpen,\n defaultValue = _this$props2.defaultValue,\n props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _defineProperty(_class, \"defaultProps\", defaultProps), _temp;\n};\n\nexport { manageState as m };","import '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport '@babel/runtime/helpers/esm/extends';\nimport '@babel/runtime/helpers/esm/toConsumableArray';\nimport '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { Component } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CacheProvider } from '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/esm/typeof';\nimport './chunk-39d3fda8.browser.esm.js';\nexport { y as components } from './chunk-80640036.browser.esm.js';\nimport { S as Select } from './base/dist/react-select-cac0a5ae.browser.esm.js';\nexport { c as createFilter, a as defaultTheme, m as mergeStyles } from './base/dist/react-select-cac0a5ae.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { m as manageState } from './chunk-b36baf1a.browser.esm.js';\nimport createCache from '@emotion/cache';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NonceProvider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"createEmotionCache\", function (nonce) {\n return createCache({\n nonce: nonce\n });\n });\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce);\n return React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\nexport default index;\nexport { NonceProvider };","import { css } from \"@emotion/core\"\n\nexport const singleValue = css`\n display: flex;\n align-items: center;\n margin-left: 0.2rem;\n margin-right: 0.2rem;\n max-width: calc(100% - 8px);\n overflow: hidden;\n position: absolute;\n text-overflow: ellipsis;\n white-space: nowrap;\n top: 50%;\n -webkit-transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n box-sizing: border-box;\n color: inherit;\n`\n\nexport const arrowDown = css`\n width: 0;\n height: 0;\n border-left: 0.6rem solid transparent;\n border-right: 0.6rem solid transparent;\n border-top: 0.6rem solid;\n border-top-color: inherit;\n`\n\nexport const optionIcon = css`\n margin-right: 0.7rem;\n`\n","export default {\n EN_US: \"en-US\",\n ZH_HK: \"zh-HK\",\n ZH_CN: \"zh-CN\",\n}\n","import LanguageEngIcon from \"@/assets/language-eng.svg\"\nimport LanguageTCIcon from \"@/assets/language-tc.svg\"\nimport LanguageSCIcon from \"@/assets/language-sc.svg\"\nimport localeEnum from \"@/enums/locale\"\n\nexport default [\n { value: localeEnum.EN_US, label: \"ENG\", Icon: LanguageEngIcon },\n { value: localeEnum.ZH_HK, label: \"繁體\", Icon: LanguageTCIcon },\n { value: localeEnum.ZH_CN, label: \"简体\", Icon: LanguageSCIcon },\n]\n","import React, { useState, useMemo, useCallback } from \"react\"\nimport Select, { components } from \"react-select\"\nimport { useTheme } from \"emotion-theming\"\nimport { useIntl, changeLocale } from \"gatsby-plugin-intl\"\n\nimport { singleValue, optionIcon, arrowDown } from \"./style\"\n\nimport languageOptions from \"../languageOptions\"\nimport LanguageIconWhite from \"@/assets/language-icon-white.svg\"\n\nconst SingleValue = ({ children, ...props }) => (\n
\n \n {children}\n
\n)\n\nconst Option = ({ children, ...props }) => (\n \n \n {children}\n \n)\n\nconst DropdownIndicator = props => (\n \n
\n \n)\n\nconst LanguageDropdown = ({ lightModeOn, ...props }) => {\n const intl = useIntl()\n const [selectedOption, setSelectedOption] = useState(\n languageOptions.find(option => option.value === intl.locale) ||\n languageOptions[0]\n )\n const theme = useTheme()\n\n const styles = useMemo(\n () => ({\n container: provided => ({\n ...provided,\n display: \"inline-block\",\n width: \"102px\",\n }),\n control: provided => ({\n ...provided,\n minHeight: \"24px\",\n backgroundColor: \"transparent\",\n border: \"none\",\n padding: \"0.8rem 1rem\",\n color: lightModeOn ? theme.colors.purples.normal : theme.colors.white,\n \":hover\": {\n color: theme.colors.greens.light,\n },\n cursor: \"pointer\",\n }),\n valueContainer: provided => ({\n ...provided,\n padding: 0,\n color: \"inherit\",\n }),\n input: provided => ({\n ...provided,\n padding: 0,\n margin: 0,\n }),\n singleValue: () => ({\n marginLeft: \"4px\",\n color: \"inherit\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n fontSize: \"1.4rem\",\n }),\n indicatorSeparator: () => ({}),\n dropdownIndicator: () => ({}),\n indicatorsContainer: provided => ({\n ...provided,\n marginRight: \"4px\",\n color: \"inherit\",\n }),\n menu: provided => ({\n ...provided,\n backgroundColor: theme.colors.purples.normal,\n }),\n option: (provided, state) => ({\n ...provided,\n \":active\": null,\n backgroundColor: \"transparent\",\n color: state.isSelected ? theme.colors.greens.light : \"white\",\n fontSize: \"1.3rem\",\n paddingTop: \"6px\",\n paddingBottom: \"6px\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n }),\n }),\n [\n lightModeOn,\n theme.colors.greens.light,\n theme.colors.purples.normal,\n theme.colors.white,\n ]\n )\n\n const handleChange = useCallback(selectedOption => {\n changeLocale(selectedOption.value)\n setSelectedOption(selectedOption)\n }, [])\n\n return (\n \n )\n}\n\nexport default LanguageDropdown\n","import React from \"react\"\n\nimport { button } from \"./style.js\"\n\nconst TextButton = ({ children, lightModeOn, ...props }) => (\n \n)\n\nexport default TextButton\n","import { css } from \"@emotion/core\"\nimport { mq } from \"@/theme\"\n\nexport const button = (theme, lightModeOn) => css`\n background-color: transparent;\n color: ${lightModeOn ? theme.colors.purples.normal : theme.colors.white};\n text-transform: uppercase;\n padding: 0.8rem 1rem;\n font-size: 1.4rem;\n letter-spacing: 0.2rem;\n\n &:hover {\n color: ${theme.colors.greens.light};\n }\n\n ${mq.tablet} {\n font-size: 1.8rem;\n }\n`\n","import React, { useCallback } from \"react\"\nimport { FormattedMessage } from \"gatsby-plugin-intl\"\nimport { OutboundLink } from \"gatsby-plugin-google-gtag\"\n\nimport TextButton from \"@/components/TextButton\"\n\nconst LoginButton = ({ location, ...props }) => {\n const gtag_report_conversion = useCallback(() => {\n const pathname =\n typeof window !== \"undefined\" ? window.location.pathname : \"\"\n\n if (pathname.includes(\"asia-food-delivery-report\")) {\n if (typeof window.gtag !== \"undefined\") {\n window.gtag(\"event\", \"conversion\", {\n send_to: \"AW-11082494271/DdFtCIv3z4wYEL_ixaQp\",\n })\n }\n }\n }, [])\n\n return (\n gtag_report_conversion()}\n >\n \n \n \n \n )\n}\n\nexport default LoginButton\n","import { css } from \"@emotion/core\"\n\nexport const list = css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n`\n\nexport const button = css`\n display: flex;\n align-items: center;\n padding: 0;\n`\n\nexport const icon = css`\n margin-right: 0.7rem;\n`\n\nexport const separator = css`\n width: 0.1rem;\n height: 1.6rem;\n background-color: white;\n margin: 0 1.5rem;\n`\n","import React, { Fragment } from \"react\"\nimport { changeLocale } from \"gatsby-plugin-intl\"\n\nimport TextButton from \"@/components/TextButton\"\n\nimport { list, button, icon, separator } from \"./style\"\n\nimport languageOptions from \"../languageOptions\"\n\n// TODO: handle lightModeOn\nconst LanguageItemList = () => (\n
\n {languageOptions.map((option, index) => (\n \n changeLocale(option.value)}>\n \n {option.label}\n \n {index !== languageOptions.length - 1 &&
}\n \n ))}\n
\n)\n\nexport default LanguageItemList\n","import { css } from \"@emotion/core\"\n\nexport const menu = css`\n margin-top: 5.7rem;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`\n\nexport const menuItem = css`\n width: auto;\n text-align: left;\n padding: 2rem 0;\n /* border-bottom: solid 1px white; */\n`\n\nexport const annualReportMenuItem = theme => css`\n width: auto;\n text-align: left;\n padding: 2rem 0;\n /* border-bottom: solid 1px white; */\n\n & > .label {\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 900;\n font-size: 1.8rem;\n line-height: 1;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n background: #0a0a80;\n color: #00f9d8;\n box-shadow: inset 0 0 0 2px #00f9d8;\n padding: 0.8rem 1.3rem;\n margin: 0 -1.3rem 0.2rem;\n display: block;\n width: max-content;\n }\n`\n","import { css } from \"@emotion/core\"\n\nexport const button = theme => css`\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 500;\n font-size: 1.3rem;\n line-height: 1.4rem;\n letter-spacing: 0.5px;\n text-transform: capitalize;\n text-decoration: none;\n\n display: block;\n padding: 1.3rem;\n margin: 0.2rem -1.3rem;\n\n color: #0a0a80;\n background: #00f9d8;\n\n transition: all 0.4s ease;\n\n &:hover {\n background: #0a0a80;\n color: #00f9d8;\n }\n\n & > span {\n background: #ff3159;\n color: #fff;\n padding: 0.1rem 0.4rem;\n border-radius: 1000px;\n text-transform: uppercase;\n font-size: 1rem;\n font-weight: 700;\n vertical-align: top;\n }\n`\n","import React, { forwardRef } from \"react\"\nimport { Link } from \"gatsby-plugin-intl\"\n\nimport { button } from \"./style\"\n\nconst DownloadAnnualReportButton = forwardRef(\n ({ innerRef, children, to, ...props }, ref) => (\n \n {children}\n \n )\n)\n\nexport default DownloadAnnualReportButton\n","import React from \"react\"\n\nimport DataInsightButton from \"../DataInsightButton\"\nimport LanguageItemList from \"../LanguageItemList\"\n\nimport { menu, menuItem, annualReportMenuItem } from \"./style\"\nimport DownloadAnnualReportButton from \"@/components/DownloadAnnualReportButton\"\n\nconst Menu = ({ lightModeOn }) => {\n return (\n
\n {/* */}\n \n {process.env.GATSBY_MULTI_LANG === \"true\" && (\n
\n \n
\n )}\n
annualReportMenuItem(theme)}>\n
Get Annual Report
\n \n Middle East Online Delivery Report 2020-2024: FOOD + GROCERY\n New\n \n \n The 2024 Digital Economy Annual Report\n \n \n Asia & Americas Ride-Hailing 2019-2023\n \n \n Asia Online Delivery 2019-2022: Food & Grocery\n \n
\n {/*
\n open()} />\n
*/}\n
\n )\n}\n\nexport default Menu\n","import { css } from \"@emotion/core\"\nimport { mq } from \"@/theme\"\nimport { hexToRgba } from \"@/utils\"\n\nimport { SCROLL_UP } from \"@/hooks/useScrollDirection\"\n\nexport const container = (\n theme,\n scrollDirection,\n transparent,\n lightModeOn\n) => css`\n position: fixed;\n height: 12rem;\n width: 100%;\n z-index: ${theme.zIndices.header};\n transition: top 0.3s ease-in-out, background-color 0.5s;\n top: ${scrollDirection === SCROLL_UP ? 0 : \"-12rem\"};\n background-color: ${transparent\n ? \"transparent\"\n : lightModeOn\n ? theme.colors.white\n : hexToRgba(theme.colors.purples.dark, 95)};\n\n ${mq.tablet} {\n height: auto;\n width: calc(100% - 4rem);\n padding: 2rem;\n\n top: ${scrollDirection === SCROLL_UP ? 0 : \"-7.4rem\"};\n }\n`\n\nexport const content = theme => css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 100%;\n width: 100rem;\n margin: auto;\n\n ${mq.tablet} {\n width: auto;\n }\n`\n\nexport const textButtonMargin = css`\n margin-left: 2rem;\n`\n\nexport const freeTrialButtinMargin = css`\n margin-right: 1rem;\n`\n\nexport const buttonsContainter = css`\n display: flex;\n align-items: center;\n`\n\nexport const hamburger = (theme, isMenuOpen) => css`\n > span {\n &:first-of-type {\n ${isMenuOpen && `transform: rotate(45deg) translate(0px, 0px);`}\n }\n\n &:nth-of-type(2) {\n ${isMenuOpen &&\n `\n opacity: 0;\n transform: rotate(0deg) scale(0.2, 0.2);\n `}\n }\n\n &:nth-of-type(3) {\n ${isMenuOpen && `transform: rotate(-45deg) translate(1px, -1px);`}\n }\n }\n`\n\nexport const hamburgerLayer = (theme, lightModeOn) => css`\n display: block;\n width: 15px;\n height: 2px;\n margin: 4px 0;\n position: relative;\n background: ${lightModeOn ? theme.colors.purples.normal : \"#ffffff\"};\n border-radius: 3px;\n z-index: 1;\n transform-origin: 0px 1px;\n transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1),\n opacity 0.55s ease;\n`\n","import { useState, useRef, useEffect } from \"react\"\nimport { useWindowScroll } from \"react-use\"\n\nexport const SCROLL_UP = \"up\"\nexport const SCROLL_DOWN = \"down\"\n\nexport default () => {\n const { y } = useWindowScroll()\n const [scrollDirection, setScrollDirection] = useState(SCROLL_UP)\n const previousScrollYRef = useRef(y)\n\n useEffect(() => {\n if (Math.abs(y - previousScrollYRef.current) <= 100) {\n return\n }\n\n const currentScrollDirection =\n y > previousScrollYRef.current ? SCROLL_DOWN : SCROLL_UP\n\n setScrollDirection(currentScrollDirection)\n previousScrollYRef.current = y\n }, [y])\n\n return scrollDirection\n}\n","export function hexToRgba(hex, opacity = 100) {\n const trimmedHex = hex.replace(\"#\", \"\")\n const r = parseInt(trimmedHex.substring(0, 2), 16)\n const g = parseInt(trimmedHex.substring(2, 4), 16)\n const b = parseInt(trimmedHex.substring(4, 6), 16)\n\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + opacity / 100 + \")\"\n}\n\nconst OFFSET = 127397\nexport function getCountryFlagEmoji(countryCode) {\n // ensure country code is all caps\n const cc = countryCode.toUpperCase()\n // return the emoji flag corresponding to countryCode or null\n return /^[A-Z]{2}$/.test(cc)\n ? String.fromCodePoint(...[...cc].map(c => c.charCodeAt(0) + OFFSET))\n : undefined\n}\n","import React, { useState, useEffect } from \"react\"\nimport { Link } from \"gatsby-plugin-intl\"\nimport { useWindowScroll } from \"react-use\"\n\nimport AnnualReportDropdown from \"../AnnualReportDropdown\"\n\nimport LanguageDropdown from \"./LanguageDropdown\"\n// import LoginButton from \"./LoginButton\"\nimport DataInsightButton from \"./DataInsightButton\"\nimport Menu from \"./Menu\"\n\nimport logo_white from \"@/images/mai-logo.svg\"\nimport logo_purple from \"@/images/mai-logo-2.svg\"\n\nimport useMedia from \"@/hooks/useMedia\"\nimport useScrollDirection, { SCROLL_DOWN } from \"@/hooks/useScrollDirection\"\n\nimport {\n container,\n content,\n textButtonMargin,\n freeTrialButtinMargin,\n buttonsContainter,\n hamburger,\n hamburgerLayer,\n} from \"./style\"\n\nconst Header = ({ headerMode }) => {\n const scrollDirection = useScrollDirection()\n const { y } = useWindowScroll()\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const isDesktop = useMedia([false, false], true)\n const logoWidth = useMedia([145, 145], 218)\n const logoHeight = useMedia([20, 20], 30)\n useEffect(() => {\n if (scrollDirection === SCROLL_DOWN) {\n setIsMenuOpen(false)\n }\n }, [scrollDirection])\n\n const lightModeOn = headerMode === \"light\"\n\n if (typeof window === `undefined`) {\n return null\n }\n\n return (\n \n container(theme, scrollDirection, y === 0 && !isMenuOpen, lightModeOn)\n }\n >\n
\n \n \n \n {isDesktop && (\n
\n \n {/* open()}\n /> */}\n \n {process.env.GATSBY_MULTI_LANG === \"true\" && (\n \n )}\n {/* */}\n
\n )}\n {!isDesktop && (\n hamburger(theme, isMenuOpen)}\n onClick={() => setIsMenuOpen(_isMenuOpen => !_isMenuOpen)}\n >\n hamburgerLayer(theme, lightModeOn)}>\n hamburgerLayer(theme, lightModeOn)}>\n hamburgerLayer(theme, lightModeOn)}>\n \n )}\n
\n {isMenuOpen && !isDesktop && }\n
\n )\n}\n\nexport default Header\n","import { css } from \"@emotion/core\"\nimport { mq } from \"@/theme\"\n\nexport const upperFooterContainer = theme => css`\n margin: 0 auto;\n background-color: ${theme.colors.white};\n height: 100%;\n width: 102.4rem;\n padding-left: 1.2rem;\n padding-right: 1.2rem;\n box-sizing: border-box;\n\n ${mq.tablet} {\n width: 100%;\n }\n`\n\nexport const fontStyle = theme => css`\n margin: 0;\n color: ${theme.colors.purples.normal};\n line-height: 1.2;\n`\n\nexport const contentContainer = css`\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n\n ${mq.tablet} {\n display: block;\n }\n`\n\nexport const contentLeftContainer = css`\n display: inline-block;\n text-align: left;\n\n ${mq.tablet} {\n display: block;\n }\n`\n\nexport const contentRightContainer = css`\n display: inline-block;\n text-align: right;\n\n ${mq.tablet} {\n display: inline;\n text-align: left;\n }\n`\n\nexport const maiImage = css`\n display: block;\n width: 18.5rem;\n height: 2.5rem;\n background-size: cover;\n background-position: center;\n\n ${mq.tablet} {\n width: 13.84rem;\n height: 1.87rem;\n }\n`\n\nexport const socialIcon = last => css`\n background-size: cover;\n background-position: center;\n margin-right: ${last ? \"0\" : \"2.2rem\"};\n\n ${mq.tablet} {\n width: 3.2rem;\n height: 3.2rem;\n margin-right: ${last ? \"0\" : \"1.6rem\"};\n }\n`\n\nexport const otherPages = css`\n font-size: 1.4rem;\n letter-spacing: 0.51px;\n margin-top: 1.8rem;\n\n ${mq.tablet} {\n display: inline;\n font-size: 1.2rem;\n }\n`\n\nexport const logosContainer = css`\n width: fit-content;\n margin-top: 3.2rem;\n\n ${mq.tablet} {\n margin-top: 2.3rem;\n margin-bottom: 2.3rem;\n }\n`\n\nexport const allRightsReserved = css`\n margin: 5.2rem 0;\n font-size: 1.1rem;\n text-align: center;\n letter-spacing: 0.5px;\n\n ${mq.tablet} {\n margin: 2.3rem 0;\n font-size: 8.2px;\n -webkit-text-size-adjust: none;\n }\n`\n\nexport const pageAnchor = css`\n text-decoration: none;\n`\n\nexport const separator = theme => css`\n color: ${theme.colors.purples.normal};\n`\n\nexport const purpleBar = theme => css`\n height: 8rem;\n width: 100%;\n background-color: ${theme.colors.purples.normal};\n display: flex;\n justify-content: center;\n`\n\nexport const address = theme => css`\n font-size: 1.1rem;\n color: ${theme.colors.greens.dark};\n width: 102.4rem;\n box-sizing: border-box;\n margin: auto 0;\n padding-left: 1.2rem;\n line-height: 1.5rem;\n letter-spacing: 0.5px;\n\n ${mq.mobile} {\n margin-right: 55%;\n }\n`\n","import React from \"react\"\nimport { FormattedMessage, Link } from \"gatsby-plugin-intl\"\nimport { OutboundLink } from \"gatsby-plugin-google-gtag\"\n\nimport {\n upperFooterContainer,\n fontStyle,\n contentContainer,\n contentLeftContainer,\n contentRightContainer,\n maiImage,\n socialIcon,\n otherPages,\n logosContainer,\n allRightsReserved,\n pageAnchor,\n separator,\n purpleBar,\n address,\n} from \"./style\"\n\nimport mailogo from \"@/images/mai-logo-2.svg\"\nimport linkedinIcon from \"@/images/btn-linkedin.svg\"\nimport twitterIcon from \"@/images/btn-twitter.svg\"\n\nimport useMedia from \"@/hooks/useMedia\"\n\nconst SocialIcon = ({ last, src, alt, href }) => (\n \n {alt}\n \n)\n\nconst OtherPages = props => (\n

[fontStyle(theme), otherPages]} {...props} />\n)\n\nconst Page = ({ children, ...props }) => (\n \n {children}\n \n)\n\nconst Footer = () => {\n const isDesktop = useMedia([false, false], true)\n return (\n // TODO: check why fragement does not work here\n

\n
\n
\n
\n
\n \"MAI\"\n {/*
\n

[fontStyle(theme), poweredBy]}>\n \n

\n \n \"MDT\"\n \n
*/}\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n {!isDesktop ? | : \"\"}\n \n \n \n \n \n {!isDesktop ? | : \"\"}\n \n \n \n \n \n {!isDesktop ? | : \"\"}\n \n \n \n \n \n
\n
\n

[fontStyle(theme), allRightsReserved]}>\n \n

\n
\n
\n

\n \n

\n
\n
\n )\n}\n\nexport default Footer\n","import { css } from \"@emotion/core\"\n\nexport const form = css`\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: space-between;\n`\n\nexport const message = theme => css`\n font-size: 1.5rem;\n line-height: 1.27;\n letter-spacing: 0.19px;\n color: ${theme.colors.purples.normal};\n margin-bottom: 1.8rem;\n margin-top: 0;\n`\n\nexport const textarea = css`\n resize: none;\n margin-bottom: 0;\n`\n\nexport const footer = css`\n display: flex;\n flex-direction: column;\n`\n\nexport const submittedMessage = css`\n margin-top: 0;\n margin-bottom: 0.8rem;\n`\n\nexport const errorMessage = theme => css`\n color: ${theme.colors.error};\n`\n\nexport const submitButton = css`\n align-self: flex-end;\n text-transform: uppercase;\n width: 12rem;\n height: 4rem;\n`\n\nexport const buttonOutbound = css`\n margin-top: 1.8rem;\n text-decoration: none;\n align-self: center;\n`\n","import React, { useMemo } from \"react\"\nimport { useIntl, FormattedMessage, Link } from \"gatsby-plugin-intl\"\nimport { useTheme } from \"emotion-theming\"\n\nimport Button from \"@/components/Button\"\nimport LabelTextInput from \"../LabelTextInput\"\nimport ClipLoader from \"react-spinners/ClipLoader\"\nimport { OutboundLink } from \"gatsby-plugin-google-gtag\"\n\nimport {\n form,\n message,\n textarea,\n footer,\n submittedMessage,\n errorMessage,\n submitButton,\n buttonOutbound,\n} from \"./style\"\n\nimport useForm, { SUBMITTED, SUBMITTING, FAILED } from \"@/hooks/useForm\"\nimport { CONTACT_US } from \"@/api\"\n\nconst initialFormState = {\n customer_name: \"\",\n company_name: \"\",\n email_address: \"\",\n message: \"\",\n phone: \"\",\n}\n\nconst Callback = ({ onSubmit }) => {\n const theme = useTheme()\n const intl = useIntl()\n\n const formOptions = useMemo(\n () => ({\n uri: CONTACT_US,\n additionalFormBody: {\n request_phone_callback: false,\n locale: String(intl.locale).toLowerCase(),\n should_subscribe: true,\n },\n optionalStates: [\"phone\"],\n }),\n [intl.locale]\n )\n\n const { formFields, formStatus, handleSubmit, disabled } = useForm(\n initialFormState,\n formOptions,\n onSubmit\n )\n\n return (\n // TODO: merge component with Callback\n
\n {formStatus !== SUBMITTED && (\n
\n

\n \n

\n \n }\n id=\"name\"\n value={formFields.customer_name.value}\n onChange={event =>\n formFields.customer_name.onChange(event.target.value)\n }\n />\n \n }\n id=\"companyName\"\n value={formFields.company_name.value}\n onChange={event =>\n formFields.company_name.onChange(event.target.value)\n }\n />\n \n }\n id=\"email\"\n type=\"email\"\n name=\"email\"\n value={formFields.email_address.value}\n onChange={event =>\n formFields.email_address.onChange(event.target.value)\n }\n />\n \n }\n id=\"phone\"\n value={formFields.phone.value}\n optional\n onChange={event => formFields.phone.onChange(event.target.value)}\n />\n \n }\n as=\"textarea\"\n rows={3}\n id=\"message\"\n value={formFields.message.value}\n onChange={event => formFields.message.onChange(event.target.value)}\n />\n

\n privacy policy, terms of service and to receive updates about Measurable AI\"\n values={{\n span1: str => {str},\n span2: str => {str},\n }}\n />\n

\n
\n )}\n
\n {formStatus === SUBMITTED ? (\n <>\n

\n \n

\n

\n \n

\n \n ) : formStatus === FAILED ? (\n

[submittedMessage, errorMessage(theme)]}>\n \n

\n ) : null}\n\n {formStatus === SUBMITTED ? (\n \n \n \n ) : (\n \n )}\n
\n
\n )\n}\n\nexport default Callback\n","import { css } from \"@emotion/core\"\nimport { mq } from \"@/theme\"\n\nexport const helpButton = (theme, opening) => css`\n display: inline-flex;\n align-items: center;\n border-radius: 2.4rem;\n background-color: ${theme.colors.greens.light};\n font-size: 1.8rem;\n line-height: 1;\n font-weight: 900;\n letter-spacing: 1.13px;\n text-align: center;\n color: ${theme.colors.purples.normal};\n padding: 1.5rem 2rem;\n position: fixed;\n right: 5rem;\n z-index: ${theme.zIndices.content};\n box-shadow: 0.2rem 0.2rem 0.5rem rgba(0, 0, 0, 0.3);\n outline: none;\n bottom: ${opening ? \"-6rem;\" : \"6rem;\"};\n transition: bottom 0.2s ease-out;\n ${!opening && `transition-delay: .3s;`}\n z-index: ${theme.zIndices.popup};\n\n ${mq.mobile} {\n bottom: ${opening ? \"-6rem;\" : \"1.5rem;\"};\n right: 1.5rem;\n }\n`\n\nexport const helpSymbol = css`\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n width: 1.8rem;\n height: 1.8rem;\n border: 2px solid black;\n border-top-left-radius: 0.9rem;\n border-top-right-radius: 0.9rem;\n border-bottom-right-radius: 0.9rem;\n margin-right: 0.6rem;\n font-size: 1.3rem;\n`\n\nexport const popoverHeader = theme => css`\n background-color: ${theme.colors.greens.light};\n font-size: 1.9rem;\n font-weight: bold;\n letter-spacing: 1.2px;\n text-align: center;\n color: ${theme.colors.purples.normal};\n position: relative;\n padding: 1rem 0;\n border-top-left-radius: 1rem;\n border-top-right-radius: 1rem;\n`\n\nexport const closeButton = css`\n position: absolute;\n right: 20px;\n background-color: transparent;\n box-sizing: content-box;\n top: 50%;\n transform: translateY(-50%);\n width: 1.5rem;\n height: 0.3rem;\n padding: 1rem 0;\n`\n\nexport const closeSymbol = theme => css`\n width: 1.5rem;\n height: 0.3rem;\n background-color: ${theme.colors.purples.normal};\n`\n\nexport const popoverBody = css`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 3.5rem 2.8rem;\n`\n\nexport const menuItem = theme => css`\n background-color: white;\n border-image: linear-gradient(45deg, #aa5bff 0%, #55ff8d 99%) 1 0 0 1;\n border-width: 0.2rem;\n border-style: solid;\n padding: 2rem 3.6rem 2rem 4rem;\n margin-bottom: 2.6rem;\n font-size: 1.8rem;\n color: ${theme.colors.purples.normal};\n position: relative;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n\n &:before {\n content: \"\";\n position: absolute;\n width: 0.6rem;\n height: 0.6rem;\n background-color: ${theme.colors.greens.light};\n border-radius: 0.3rem;\n top: -0.4rem;\n right: -0.2rem;\n }\n\n ${mq.mobile} {\n padding: 2rem 2.5rem 2rem 2.5rem;\n letter-spacing: 0.5px;\n line-height: 22px;\n }\n`\n\nexport const menuItemImage = css`\n margin-right: 1.6rem;\n`\n\nexport const container = (theme, closing) => css`\n position: fixed;\n height: auto;\n width: 34rem;\n background-color: white;\n bottom: 3rem;\n right: 3rem;\n border-top-left-radius: 1rem;\n border-top-right-radius: 1rem;\n border-bottom-left-radius: 1rem;\n border-bottom-right-radius: 1rem;\n box-shadow: 0.2rem 0.2rem 0.5rem rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n z-index: ${theme.zIndices.content};\n transition-property: transform, opacity;\n transition-duration: 0.2s;\n transition-timing-function: ease-in;\n z-index: ${theme.zIndices.popup};\n\n ${mq.mobile} {\n width: 30rem;\n max-height: 95%;\n bottom: 1rem;\n right: 1rem;\n overflow: scroll;\n }\n\n transform: ${closing\n ? \"translate(40%, 40%) scale(0.001); opacity: 0;\"\n : \"scale(1);\"};\n`\n","import React, { useCallback, useContext, useState } from \"react\"\nimport { FormattedMessage } from \"gatsby-plugin-intl\"\nimport { TalkToUsContext } from \"@/context/talkToUs\"\n\nimport LeaveMessage from \"./LeaveMessage\"\n\nimport {\n helpButton,\n helpSymbol,\n popoverHeader,\n closeButton,\n closeSymbol,\n popoverBody,\n container,\n} from \"./style\"\n\nconst TalkToUs = () => {\n const { state, isOpen, open, close, onClose } = useContext(TalkToUsContext)\n const [isFormSubmitted, setIsFormSubmitted] = useState(false)\n\n const handleSubmit = useCallback(() => {\n setIsFormSubmitted(true)\n }, [])\n\n const open_and_gtag = useCallback(() => {\n const pathname =\n typeof window !== \"undefined\" ? window.location.pathname : \"\"\n\n if (pathname.includes(\"asia-food-delivery-report\")) {\n if (typeof window.gtag !== \"undefined\" && !isOpen) {\n window.gtag(\"event\", \"conversion\", {\n send_to: \"AW-11082494271/KdnGCLL6z4wYEL_ixaQp\",\n })\n }\n }\n\n open()\n }, [isOpen, open])\n\n return (\n
\n open_and_gtag()}\n css={theme => helpButton(theme, isOpen)}\n >\n ?\n \n \n
container(theme, !isOpen)}>\n
\n {isFormSubmitted ? (\n \n ) : (\n \n )}\n {\n close()\n onClose()\n }}\n >\n
\n \n
\n
\n {state && }\n
\n
\n
\n )\n}\n\nexport default TalkToUs\n","import React from \"react\"\nimport { Global, css } from \"@emotion/core\"\n\nimport \"normalize.css\"\nimport \"@/fonts/roboto.css\"\nimport \"@/fonts/barlow-condensed.css\"\n\nimport { TalkToUsProvider } from \"@/context/talkToUs\"\nimport Header from \"@/components/Header\"\nimport Footer from \"@/components/Footer\"\nimport TalkToUs from \"@/components/TalkToUs\"\n\nconst global = theme => css`\n html {\n font-size: 62.5%;\n scroll-behavior: smooth;\n }\n\n body {\n font-size: 1.6rem;\n font-family: ${theme.fonts.body};\n font-weight: 300;\n scroll-behavior: smooth;\n }\n\n button {\n border: none;\n background-color: transparent;\n cursor: pointer;\n }\n\n input {\n border-radius: 0;\n background-color: transparent;\n }\n`\n\nconst main = css`\n overflow-x: hidden; /* added to cater fade-in animation */\n`\n\nconst Layout = ({ children, headerMode }) => {\n return (\n \n \n
\n
{children}
\n