{"version":3,"sources":["webpack:///./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/reakit-utils/es/getWindow.js","webpack:///./node_modules/reakit/es/_rollupPluginBabelHelpers-1f0bf8c2.js","webpack:///./node_modules/reakit-utils/es/isObject.js","webpack:///./node_modules/reakit-utils/es/useSealedState.js","webpack:///./node_modules/reakit-utils/es/getDocument.js","webpack:///./node_modules/reakit-utils/es/canUseDOM.js","webpack:///./node_modules/reakit-utils/es/useIsomorphicEffect.js","webpack:///./node_modules/reakit/es/Id/IdProvider.js","webpack:///./node_modules/reakit/es/Disclosure/DisclosureState.js","webpack:///./node_modules/reakit/es/Id/IdState.js","webpack:///./node_modules/reakit-system/es/_rollupPluginBabelHelpers-0c84a174.js","webpack:///./node_modules/reakit-system/es/SystemContext.js","webpack:///./node_modules/reakit-system/es/useCreateElement.js","webpack:///./node_modules/reakit-utils/es/_rollupPluginBabelHelpers-1f0bf8c2.js","webpack:///./node_modules/reakit-utils/es/isPlainObject.js","webpack:///./node_modules/reakit-utils/es/splitProps.js","webpack:///./node_modules/reakit-utils/es/shallowEqual.js","webpack:///./node_modules/reakit-utils/es/normalizePropsAreEqual.js","webpack:///./node_modules/reakit-system/es/createComponent.js","webpack:///./node_modules/reakit-system/es/useToken.js","webpack:///./node_modules/reakit-system/es/createHook.js","webpack:///./node_modules/reakit-utils/es/toArray.js","webpack:///./node_modules/reakit-system/es/useOptions.js","webpack:///./node_modules/reakit-system/es/useProps.js","webpack:///./node_modules/reakit-utils/es/useForkRef.js","webpack:///./node_modules/reakit-utils/es/isButton.js","webpack:///./node_modules/reakit-utils/es/useLiveRef.js","webpack:///./node_modules/reakit-utils/es/getActiveElement.js","webpack:///./node_modules/reakit-utils/es/contains.js","webpack:///./node_modules/reakit-utils/es/hasFocusWithin.js","webpack:///./node_modules/reakit-utils/es/matches.js","webpack:///./node_modules/reakit-utils/es/closest.js","webpack:///./node_modules/reakit-utils/es/tabbable.js","webpack:///./node_modules/reakit-utils/es/useUpdateEffect.js","webpack:///./node_modules/reakit-utils/es/getNextActiveElementOnBlur.js","webpack:///./node_modules/reakit-utils/es/hasFocus.js","webpack:///./node_modules/reakit-utils/es/ensureFocus.js","webpack:///./node_modules/reakit-utils/es/isSelfTarget.js","webpack:///./node_modules/reakit/es/Role/Role.js","webpack:///./node_modules/reakit/es/__keys-e6a5cfbe.js","webpack:///./node_modules/reakit/es/Disclosure/DisclosureContent.js","webpack:///./node_modules/reakit/es/Portal/Portal.js","webpack:///./node_modules/reakit-utils/es/removeItemFromArray.js","webpack:///./node_modules/reakit-utils/es/removeIndexFromArray.js","webpack:///./node_modules/reakit/es/MenuContext-6af6cf92.js","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///./node_modules/reakit/es/DialogBackdropContext-8775f78b.js","webpack:///./node_modules/reakit/es/__keys-ed7b48af.js","webpack:///./node_modules/reakit/es/Dialog/Dialog.js","webpack:///./node_modules/reakit-utils/es/isEmpty.js","webpack:///./node_modules/reakit-utils/es/dom.js","webpack:///./node_modules/reakit/es/Tabbable/Tabbable.js","webpack:///./node_modules/reakit-utils/es/isPortalEvent.js","webpack:///./node_modules/reakit/es/Clickable/Clickable.js","webpack:///./node_modules/reakit/es/Button/Button.js","webpack:///./node_modules/reakit/es/Disclosure/Disclosure.js","webpack:///./node_modules/reakit/es/Dialog/DialogDisclosure.js","webpack:///./src/components/mobileMenu.js","webpack:///./node_modules/reakit/es/Dialog/DialogState.js","webpack:///./src/components/layout.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./src/components/menuLinks.js","webpack:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./src/components/images/logo.png","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-responsive/dist/react-responsive.js","webpack:///./node_modules/styled-components/dist/styled-components.browser.esm.js"],"names":["W","X","d","c","e","h","trim","split","ia","a","length","m","b","Z","v","n","charCodeAt","replace","F","indexOf","P","substring","w","L","ja","ka","test","aa","G","ba","la","ma","R","na","ea","oa","H","q","g","x","A","S","call","B","U","prefix","D","z","M","k","y","C","K","u","l","r","I","t","J","f","p","N","charAt","ca","O","join","da","fa","Y","E","ha","Q","use","T","set","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","i","key","descriptor","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","reactPropsRegex","index","fn","cache","arg","undefined","prop","_defineProperty","obj","value","enumerable","configurable","writable","ownKeys","object","enumerableOnly","symbols","filter","sym","_objectSpread2","target","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutPropertiesLoose","excluded","sourceKeys","isObject","useSealedState","initialState","getDocument","element","ownerDocument","document","window","_window","canUseDOM","defaultView","Boolean","createElement","useIsomorphicEffect","generateRandomString","Math","random","toString","substr","unstable_IdContext","useDisclosureState","lastValue","_useSealedState","_useSealedState$visib","visible","initialVisible","_useSealedState$anima","animated","initialAnimated","id","initialBaseId","baseId","generateId","idCountRef","_React$useState","setBaseId","unstable_idCountRef","unstable_useIdState","setVisible","_React$useState2","setAnimated","_React$useState3","animating","setAnimating","lastVisible","current","visibleHasChanged","show","hide","toggle","stopAnimation","arr","arr2","o","allowArrayLike","it","Symbol","iterator","isArray","minLen","slice","constructor","from","done","TypeError","next","bind","SystemContext","props","children","context","useCreateElement","isRenderProp","isPlainObject","_proto$constructor","proto","__deprecatedSplitProps","picked","omitted","_i","_propsKeys","splitProps","state","_deprecatedSplitProp","restPicked","shallowEqual","objA","objB","aKeys","bKeys","_aKeys","normalizePropsAreEqual","propsAreEqual","prev","createComponent","_ref","as","useHook","shouldMemo","memo","_ref$propsAreEqual","unstable_propsAreEqual","_ref$keys","__keys","_ref$useCreateElement","useCreateElement$1","Comp","_ref2","ref","_ref2$as","_as$render","_splitProps","_options","htmlProps","_useHook","wrapElement","elementProps","asKeys","asOptions","allProps","_element","useToken","token","defaultValue","createHook","options","_options$useState","_composedHooks$","composedHooks","compose","__useOptions","hookOptions","useOptions","hookName","_step","_iterator","unstable_ignoreUseOptions","useProps","useComposeOptions","useComposeProps","_step2","_iterator2","hook","finalHTMLProps","definedHTMLProps","composedKeys","reduce","useState","setRef","useForkRef","refA","refB","buttonInputTypes","isButton","tagName","input","useLiveRef","getActiveElement","activeElement","nodeName","contains","parent","child","hasFocusWithin","activeDescendant","getAttribute","querySelector","matches","selectors","msMatchesSelector","webkitMatchesSelector","closest","parentElement","parentNode","nodeType","selector","isFocusable","htmlElement","offsetWidth","offsetHeight","getClientRects","isVisible","isTabbable","parseInt","hasNegativeTabIndex","getAllTabbableIn","container","fallbackToFocusable","allFocusable","querySelectorAll","allTabbable","unshift","getFirstTabbableIn","useUpdateEffect","effect","deps","mounted","isIE11","hasFocus","ensureFocus","_temp","preventScroll","_ref$isActive","isActive","focus","requestAnimationFrame","isSelfTarget","event","currentTarget","useRole","prevSystem","unstable_system","prevProps","nextSystem","nextProps","DISCLOSURE_KEYS","useDisclosureContent","htmlOnTransitionEnd","onTransitionEnd","htmlOnAnimationEnd","onAnimationEnd","htmlStyle","style","transition","setTransition","hidden","display","onTransitionEndRef","onAnimationEndRef","raf","cancelAnimationFrame","onEnd","_options$stopAnimatio","_onTransitionEndRef$c","_onAnimationEndRef$cu","getBodyElement","body","PortalContext","Portal","hostNode","className","__className","appendChild","removeChild","Provider","removeItemFromArray","item","removeIndexFromArray","__selector","MenuContext","hasPassiveEvents","passiveTestOptions","addEventListener","removeEventListener","isIosDevice","navigator","platform","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","preventDefault","rawEvent","touches","restoreOverflowSetting","paddingRight","overflow","disableBodyScroll","targetElement","_toConsumableArray","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","console","error","DialogBackdropContext","DIALOG_STATE_KEYS","DIALOG_KEYS","DIALOG_DISCLOSURE_KEYS","usePreventBodyScroll","targetRef","shouldPrevent","preventBodyScroll","removeFromDOM","useFocusTrap","dialogRef","visibleModals","portalRef","dialog","usePortalRef","shouldTrap","modal","beforeElement","afterElement","portal","tabIndex","position","setAttribute","cloneNode","insertAdjacentElement","before","after","handleFocus","tabbable","useFocusOnHide","disclosureRef","shouldFocus","unstable_autoFocusOnHide","_options$unstable_fin","hidByFocusingAnotherElement","finalFocusEl","unstable_finalFocusRef","compositeElement","DialogContext","useEventListenerOutside","containerRef","nestedDialogs","eventType","listener","shouldListen","capture","listenerRef","onEvent","disclosure","isInDocument","isDisclosure","_element$classList","classList","isFocusTrap","backdrop","dialogContains","useHideOnClickOutside","mouseDownRef","hideOnClickOutside","onMouseDown","useMouseDownRef","_options$hide","_options$hide2","useFocusOnChildUnmount","observer","MutationObserver","mutations","observe","childList","subtree","disconnect","isActualElement","useFocusOnBlur","_React$useReducer","blurred","scheduleFocus","relatedTarget","getNextActiveElementOnBlur","Dialog","_ref$modal","_ref$hideOnEsc","hideOnEsc","_ref$hideOnClickOutsi","_ref$preventBodyScrol","_ref$unstable_autoFoc","unstable_autoFocusOnShow","_ref$unstable_autoFoc2","unstable_orphan","htmlRef","htmlOnKeyDown","onKeyDown","htmlOnBlur","onBlur","htmlWrapElement","hasBackdrop","onFocus","unstable_disclosureRef","_options$unstable_dis","useDisclosureRef","onKeyDownRef","onBlurRef","focusOnBlur","_useNestedDialogs","dialogs","setDialogs","setVisibleModals","addDialog","_context$addDialog","prevDialogs","removeDialog","_context$removeDialog","showDialog","_context$showDialog","hideDialog","_context$hideDialog","_context$addDialog2","_context$removeDialog2","_context$showDialog2","_context$hideDialog2","providerValue","wrap","useNestedDialogs","initialFocusRef","unstable_initialFocusRef","useFocusOnShow","useEvent","useDisableHoverOutside","_onKeyDownRef$current","defaultPrevented","_onBlurRef$current","role","isUA","string","userAgent","isSafariOrFirefoxOnMac","focusIfNeeded","useFocusOnMouseDown","isPortalEvent","activeElementIsBody","focusableAncestor","getClosestFocusable","getTabIndex","trulyDisabled","nativeTabbable","supportsDisabled","htmlTabIndex","useDisableEvent","htmlEventRef","disabled","_htmlEventRef$current","useTabbable","htmlOnClickCapture","onClickCapture","htmlOnMouseDownCapture","onMouseDownCapture","htmlOnMouseDown","htmlOnKeyPressCapture","onKeyPressCapture","onClickCaptureRef","onMouseDownCaptureRef","onMouseDownRef","onKeyPressCaptureRef","focusable","setNativeTabbable","setSupportsDisabled","pointerEvents","focusOnMouseDown","isNativeTabbable","supportsDisabledAttribute","_onMouseDownRef$curre","useClickable","_ref$unstable_clickOn","unstable_clickOnEnter","_ref$unstable_clickOn2","unstable_clickOnSpace","htmlOnKeyUp","onKeyUp","active","setActive","onKeyUpRef","metaKey","isEnter","isSpace","isTrusted","isNativeClick","click","_onKeyUpRef$current","useButton","_","setRole","setType","useDisclosure","htmlOnClick","onClick","ariaControls","onClickRef","controls","_onClickRef$current","_options$toggle","DialogDisclosure","expanded","setExpanded","isCurrentDisclosure","MenuButton","styled","button","MenuDialog","div","Wrapper","Menu","_useSealedState$modal","initialModal","setModal","useDialogState","MobileMenu","page","query","data","site","siteMetadata","sideBar","map","section","links","Page","Container","HeaderContainer","Header","header","Logo","Layout","isMobile","useMediaQuery","to","height","alt","src","logo","compareContext","ret","keysA","keysB","bHasOwnProperty","hasOwnProperty","idx","valueA","valueB","SectionName","h1","SectionLinks","ul","li","MenuLinks","link","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__WEBPACK_EXTERNAL_MODULE_1__","self","modules","__webpack_require__","moduleId","installedModules","getter","get","__esModule","default","property","s","__webpack_exports__","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","_s","err","return","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default","__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default","__WEBPACK_IMPORTED_MODULE_4__toQuery__","__WEBPACK_IMPORTED_MODULE_5__Context__","hyphenateKeys","result","useIsUpdate","useRef","useEffect","useQuery","settings","getQuery","makeQuery","_React$useState4","setQuery","newQuery","device","onChange","deviceSettings","deviceFromProps","deviceFromContext","useContext","getDevice","setDevice","newDevice","useDevice","mediaQuery","_React$useState8","setMatches","updateMatches","useMatches","getMatchMedia","_React$useState6","mq","setMq","isUpdate","dispose","useMatchMedia","toHyphenLower","match","toLowerCase","uppercasePattern","msPattern","hName","__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_1__mediaQuery__","rules","all","realKey","keyVal","Context","createContext","__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__","__WEBPACK_IMPORTED_MODULE_1__Component__","__WEBPACK_IMPORTED_MODULE_2__toQuery__","__WEBPACK_IMPORTED_MODULE_3__Context__","Mql","values","forceStatic","update","evt","media","dynamicMatch","mql","staticMatch","matchMedia","parseQuery","captures","RE_MEDIA_QUERY","modifier","expressions","parsed","inverse","expression","RE_MQ_EXPRESSION","feature","RE_MQ_FEATURE","toDecimal","ratio","numbers","decimal","Number","toDpi","resolution","parseFloat","String","RE_RESOLUTION_UNIT","toPx","RE_LENGTH_UNIT","typeMatch","expressionsMatch","every","expValue","parse","_objectSpread","__WEBPACK_IMPORTED_MODULE_0_prop_types__","__WEBPACK_IMPORTED_MODULE_0_prop_types___default","stringOrNumber","oneOfType","number","matchers","orientation","oneOf","scan","aspectRatio","deviceAspectRatio","deviceHeight","width","deviceWidth","color","bool","colorIndex","monochrome","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minWidth","maxWidth","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","types","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","ReactIs","REACT_ELEMENT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","$$typeofType","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_LAZY_TYPE","REACT_MEMO_TYPE","REACT_PROVIDER_TYPE","REACT_PORTAL_TYPE","hasSymbol","REACT_SUSPENSE_LIST_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","hasWarnedAboutDeprecatedIsAsyncMode","warn","emptyFunctionThatReturnsNull","printWarning","assign","ReactPropTypesSecret","checkPropTypes","has","Function","text","message","isValidElement","throwOnDirectAccess","is","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","location","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","isNode","iteratorFn","maybeIterable","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","step","entries","entry","propType","RegExp","isSymbol","Date","getPostfixForTypeWarning","ReactPropTypes","func","symbol","any","arrayOf","typeChecker","elementType","instanceOf","expectedClass","expectedClassName","node","objectOf","expectedValues","valuesString","JSON","stringify","arrayOfTypeCheckers","checker","shape","shapeTypes","exact","allKeys","resetWarningCache","PropTypes","toObject","val","propIsEnumerable","propertyIsEnumerable","test1","test2","fromCharCode","test3","letter","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","_objectWithoutProperties","sourceSymbolKeys","freeze","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","j","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","Map","V","registerName","innerHTML","getTag","head","childNodes","hasAttribute","nextSibling","insertBefore","$","createTextNode","sheet","styleSheets","ownerNode","cssRules","cssText","nodes","textContent","splice","isServer","useCSSOMInjection","gs","names","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","add","Set","clearNames","clear","clearRules","clearTag","ee","abs","te","ne","re","oe","se","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","Ne","ie","ae","ce","plugins","includes","lastIndexOf","ue","de","Consumer","he","pe","fe","me","ye","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","ve","inject","getName","ge","Se","we","Ee","be","isReactComponent","Ae","Oe","theme","Re","De","je","Te","ke","xe","Ve","Be","Me","ze","Fe","Ye","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","forwardRef","withComponent","_foldedDefaultProps","qe","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","instance","getStyleTags","sealed","getStyleElement","dangerouslySetInnerHTML","__html","nonce","seal","collectStyles","interleaveWithNodeStream"],"mappings":"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","file":"commons-a268d99ab1f37a5102df.js","sourcesContent":["function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default index;","import { getDocument } from './getDocument.js'; // Thanks to Fluent UI for doing the [research on IE11 memery leak](https://github.com/microsoft/fluentui/pull/9010#issuecomment-490768427)\n\nvar _window; // Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\n\n\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n/**\n * Returns `element.ownerDocument.defaultView || window`.\n */\n\n\nfunction getWindow(element) {\n if (!element) {\n return _window;\n }\n\n return getDocument(element).defaultView || _window;\n}\n\nexport { getWindow };","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectWithoutPropertiesLoose as _, _objectSpread2 as a, _createForOfIteratorHelperLoose as b };","/**\n * Checks whether `arg` is an object or not.\n *\n * @returns {boolean}\n */\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\n\nexport { isObject };","import { useState } from 'react';\n/**\n * React custom hook that returns the very first value passed to `initialState`,\n * even if it changes between re-renders.\n */\n\nfunction useSealedState(initialState) {\n var _React$useState = useState(initialState),\n sealed = _React$useState[0];\n\n return sealed;\n}\n\nexport { useSealedState };","/**\n * Returns `element.ownerDocument || document`.\n */\nfunction getDocument(element) {\n return element ? element.ownerDocument || element : document;\n}\n\nexport { getDocument };","import './getDocument.js';\nimport { getWindow } from './getWindow.js';\n\nfunction checkIsBrowser() {\n var _window = getWindow();\n\n return Boolean(typeof _window !== \"undefined\" && _window.document && _window.document.createElement);\n}\n/**\n * It's `true` if it is running in a browser environment or `false` if it is not (SSR).\n *\n * @example\n * import { canUseDOM } from \"reakit-utils\";\n *\n * const title = canUseDOM ? document.title : \"\";\n */\n\n\nvar canUseDOM = checkIsBrowser();\nexport { canUseDOM };","import { useEffect, useLayoutEffect } from 'react';\nimport './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\n/**\n * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side\n * rendering.\n */\n\nvar useIsomorphicEffect = !canUseDOM ? useEffect : useLayoutEffect;\nexport { useIsomorphicEffect };","import { createContext, useRef, useCallback, createElement } from 'react';\nvar defaultPrefix = \"id\";\n\nfunction generateRandomString(prefix) {\n if (prefix === void 0) {\n prefix = defaultPrefix;\n }\n\n return \"\" + (prefix ? prefix + \"-\" : \"\") + Math.random().toString(32).substr(2, 6);\n}\n\nvar unstable_IdContext = /*#__PURE__*/createContext(generateRandomString);\n\nfunction unstable_IdProvider(_ref) {\n var children = _ref.children,\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === void 0 ? defaultPrefix : _ref$prefix;\n var count = useRef(0);\n var generateId = useCallback(function (localPrefix) {\n if (localPrefix === void 0) {\n localPrefix = prefix;\n }\n\n return \"\" + (localPrefix ? localPrefix + \"-\" : \"\") + ++count.current;\n }, [prefix]);\n return /*#__PURE__*/createElement(unstable_IdContext.Provider, {\n value: generateId\n }, children);\n}\n\nexport { unstable_IdContext, unstable_IdProvider };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useState, useEffect, useCallback, useRef } from 'react';\nimport { warning } from 'reakit-warning';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport '../Id/IdProvider.js';\nimport { unstable_useIdState } from '../Id/IdState.js';\n\nfunction useLastValue(value) {\n var lastValue = useRef(null);\n useIsomorphicEffect(function () {\n lastValue.current = value;\n }, [value]);\n return lastValue;\n}\n\nfunction useDisclosureState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$visib = _useSealedState.visible,\n initialVisible = _useSealedState$visib === void 0 ? false : _useSealedState$visib,\n _useSealedState$anima = _useSealedState.animated,\n initialAnimated = _useSealedState$anima === void 0 ? false : _useSealedState$anima,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"visible\", \"animated\"]);\n\n var id = unstable_useIdState(sealed);\n\n var _React$useState = useState(initialVisible),\n visible = _React$useState[0],\n setVisible = _React$useState[1];\n\n var _React$useState2 = useState(initialAnimated),\n animated = _React$useState2[0],\n setAnimated = _React$useState2[1];\n\n var _React$useState3 = useState(false),\n animating = _React$useState3[0],\n setAnimating = _React$useState3[1];\n\n var lastVisible = useLastValue(visible);\n var visibleHasChanged = lastVisible.current != null && lastVisible.current !== visible;\n\n if (animated && !animating && visibleHasChanged) {\n // Sets animating to true when when visible is updated\n setAnimating(true);\n }\n\n useEffect(function () {\n if (typeof animated === \"number\" && animating) {\n var timeout = setTimeout(function () {\n return setAnimating(false);\n }, animated);\n return function () {\n clearTimeout(timeout);\n };\n }\n\n if (animated && animating && process.env.NODE_ENV === \"development\") {\n var _timeout = setTimeout(function () {\n process.env.NODE_ENV !== \"production\" ? warning(animating, \"It's been 8 seconds but stopAnimation has not been called. Does the disclousure element have a CSS transition?\") : void 0;\n }, 8000);\n\n return function () {\n clearTimeout(_timeout);\n };\n }\n\n return function () {};\n }, [animated, animating]);\n var show = useCallback(function () {\n return setVisible(true);\n }, []);\n var hide = useCallback(function () {\n return setVisible(false);\n }, []);\n var toggle = useCallback(function () {\n return setVisible(function (v) {\n return !v;\n });\n }, []);\n var stopAnimation = useCallback(function () {\n return setAnimating(false);\n }, []);\n return _objectSpread2(_objectSpread2({}, id), {}, {\n visible: visible,\n animated: animated,\n animating: animating,\n show: show,\n hide: hide,\n toggle: toggle,\n setVisible: setVisible,\n setAnimated: setAnimated,\n stopAnimation: stopAnimation\n });\n}\n\nexport { useDisclosureState };","import { useContext, useRef, useState } from 'react';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport { unstable_IdContext } from './IdProvider.js';\n\nfunction unstable_useIdState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n initialBaseId = _useSealedState.baseId;\n\n var generateId = useContext(unstable_IdContext);\n var idCountRef = useRef(0);\n\n var _React$useState = useState(function () {\n return initialBaseId || generateId();\n }),\n baseId = _React$useState[0],\n setBaseId = _React$useState[1];\n\n return {\n baseId: baseId,\n setBaseId: setBaseId,\n unstable_idCountRef: idCountRef\n };\n}\n\nexport { unstable_useIdState };","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectSpread2 as _, _objectWithoutPropertiesLoose as a, _createForOfIteratorHelperLoose as b };","import { createContext } from 'react';\nvar SystemContext = /*#__PURE__*/createContext({});\nexport { SystemContext };","import { useContext, createElement } from 'react';\nimport { SystemContext } from './SystemContext.js';\nimport { a as _objectWithoutPropertiesLoose } from './_rollupPluginBabelHelpers-0c84a174.js';\n\nfunction isRenderProp(children) {\n return typeof children === \"function\";\n}\n/**\n * Custom hook that will call `children` if it's a function. If\n * `useCreateElement` has been passed to the context, it'll be used instead.\n *\n * @example\n * import React from \"react\";\n * import { SystemProvider, useCreateElement } from \"reakit-system\";\n *\n * const system = {\n * useCreateElement(type, props, children = props.children) {\n * // very similar to what `useCreateElement` does already\n * if (typeof children === \"function\") {\n * const { children: _, ...rest } = props;\n * return children(rest);\n * }\n * return React.createElement(type, props, children);\n * },\n * };\n *\n * function Component(props) {\n * return useCreateElement(\"div\", props);\n * }\n *\n * function App() {\n * return (\n * \n * {({ url }) => link}\n * \n * );\n * }\n */\n\n\nvar useCreateElement = function useCreateElement(type, props, children) {\n if (children === void 0) {\n children = props.children;\n }\n\n var context = useContext(SystemContext);\n\n if (context.useCreateElement) {\n return context.useCreateElement(type, props, children);\n }\n\n if (typeof type === \"string\" && isRenderProp(children)) {\n var _ = props.children,\n rest = _objectWithoutPropertiesLoose(props, [\"children\"]);\n\n return children(rest);\n }\n\n return /*#__PURE__*/createElement(type, props, children);\n};\n\nexport { useCreateElement };","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectWithoutPropertiesLoose as _, _objectSpread2 as a, _createForOfIteratorHelperLoose as b };","import { isObject } from './isObject.js';\n/**\n * Checks whether `arg` is a plain object or not.\n *\n * @returns {boolean}\n */\n\nfunction isPlainObject(arg) {\n var _proto$constructor;\n\n if (!isObject(arg)) return false;\n var proto = Object.getPrototypeOf(arg);\n if (proto == null) return true;\n return ((_proto$constructor = proto.constructor) === null || _proto$constructor === void 0 ? void 0 : _proto$constructor.toString()) === Object.toString();\n}\n\nexport { isPlainObject };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport './isObject.js';\nimport { isPlainObject } from './isPlainObject.js';\n/**\n * Splits an object (`props`) into a tuple where the first item is an object\n * with the passed `keys`, and the second item is an object with these keys\n * omitted.\n *\n * @deprecated will be removed in version 2\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ a: \"a\", b: \"b\" }, [\"a\"]); // [{ a: \"a\" }, { b: \"b\" }]\n */\n\nfunction __deprecatedSplitProps(props, keys) {\n var propsKeys = Object.keys(props);\n var picked = {};\n var omitted = {};\n\n for (var _i = 0, _propsKeys = propsKeys; _i < _propsKeys.length; _i++) {\n var key = _propsKeys[_i];\n\n if (keys.indexOf(key) >= 0) {\n picked[key] = props[key];\n } else {\n omitted[key] = props[key];\n }\n }\n\n return [picked, omitted];\n}\n/**\n * Splits an object (`props`) into a tuple where the first item\n * is the `state` property, and the second item is the rest of the properties.\n *\n * It is also backward compatible with version 1. If `keys` are passed then\n * splits an object (`props`) into a tuple where the first item is an object\n * with the passed `keys`, and the second item is an object with these keys\n * omitted.\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ a: \"a\", b: \"b\" }, [\"a\"]); // [{ a: \"a\" }, { b: \"b\" }]\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ state: { a: \"a\" }, b: \"b\" }); // [{ a: \"a\" }, { b: \"b\" }]\n */\n\n\nfunction splitProps(props, keys) {\n if (keys === void 0) {\n keys = [];\n }\n\n if (!isPlainObject(props.state)) {\n return __deprecatedSplitProps(props, keys);\n }\n\n var _deprecatedSplitProp = __deprecatedSplitProps(props, [].concat(keys, [\"state\"])),\n picked = _deprecatedSplitProp[0],\n omitted = _deprecatedSplitProp[1];\n\n var state = picked.state,\n restPicked = _objectWithoutPropertiesLoose(picked, [\"state\"]);\n\n return [_objectSpread2(_objectSpread2({}, state), restPicked), omitted];\n}\n\nexport { splitProps };","/**\n * Compares two objects.\n *\n * @example\n * import { shallowEqual } from \"reakit-utils\";\n *\n * shallowEqual({ a: \"a\" }, {}); // false\n * shallowEqual({ a: \"a\" }, { b: \"b\" }); // false\n * shallowEqual({ a: \"a\" }, { a: \"a\" }); // true\n * shallowEqual({ a: \"a\" }, { a: \"a\", b: \"b\" }); // false\n */\nfunction shallowEqual(objA, objB) {\n if (objA === objB) return true;\n if (!objA) return false;\n if (!objB) return false;\n if (typeof objA !== \"object\") return false;\n if (typeof objB !== \"object\") return false;\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var length = aKeys.length;\n if (bKeys.length !== length) return false;\n\n for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {\n var key = _aKeys[_i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport { shallowEqual };","import { a as _objectSpread2 } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport './isObject.js';\nimport { isPlainObject } from './isPlainObject.js';\n/**\n * This higher order functions take `propsAreEqual` function and\n * returns a new function which normalizes the props.\n *\n * Normalizing in our case is making sure the `propsAreEqual` works with\n * both version 1 (object spreading) and version 2 (state object) state passing.\n *\n * To achieve this, the returned function in case of a state object\n * will spread the state object in both `prev` and `next props.\n *\n * Other case it just returns the function as is which makes sure\n * that we are still backward compatible\n */\n\nfunction normalizePropsAreEqual(propsAreEqual) {\n if (propsAreEqual.name === \"normalizePropsAreEqualInner\") {\n return propsAreEqual;\n }\n\n return function normalizePropsAreEqualInner(prev, next) {\n if (!isPlainObject(prev.state) || !isPlainObject(next.state)) {\n return propsAreEqual(prev, next);\n }\n\n return propsAreEqual(_objectSpread2(_objectSpread2({}, prev.state), prev), _objectSpread2(_objectSpread2({}, next.state), next));\n };\n}\n\nexport { normalizePropsAreEqual };","import { forwardRef as forwardRef$1, memo as memo$1 } from 'react';\nimport './SystemContext.js';\nimport { a as _objectWithoutPropertiesLoose, _ as _objectSpread2 } from './_rollupPluginBabelHelpers-0c84a174.js';\nimport { useCreateElement } from './useCreateElement.js';\nimport { splitProps } from 'reakit-utils/splitProps';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\nimport { normalizePropsAreEqual } from 'reakit-utils/normalizePropsAreEqual';\n\nfunction forwardRef(component) {\n return /*#__PURE__*/forwardRef$1(component);\n}\n\nfunction memo(component, propsAreEqual) {\n return /*#__PURE__*/memo$1(component, propsAreEqual);\n}\n/**\n * Creates a React component.\n *\n * @example\n * import { createComponent } from \"reakit-system\";\n *\n * const A = createComponent({ as: \"a\" });\n *\n * @param options\n */\n\n\nfunction createComponent(_ref) {\n var type = _ref.as,\n useHook = _ref.useHook,\n shouldMemo = _ref.memo,\n _ref$propsAreEqual = _ref.propsAreEqual,\n propsAreEqual = _ref$propsAreEqual === void 0 ? useHook === null || useHook === void 0 ? void 0 : useHook.unstable_propsAreEqual : _ref$propsAreEqual,\n _ref$keys = _ref.keys,\n keys = _ref$keys === void 0 ? (useHook === null || useHook === void 0 ? void 0 : useHook.__keys) || [] : _ref$keys,\n _ref$useCreateElement = _ref.useCreateElement,\n useCreateElement$1 = _ref$useCreateElement === void 0 ? useCreateElement : _ref$useCreateElement;\n\n var Comp = function Comp(_ref2, ref) {\n var _ref2$as = _ref2.as,\n as = _ref2$as === void 0 ? type : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, [\"as\"]);\n\n if (useHook) {\n var _as$render;\n\n var _splitProps = splitProps(props, keys),\n _options = _splitProps[0],\n htmlProps = _splitProps[1];\n\n var _useHook = useHook(_options, _objectSpread2({\n ref: ref\n }, htmlProps)),\n wrapElement = _useHook.wrapElement,\n elementProps = _objectWithoutPropertiesLoose(_useHook, [\"wrapElement\"]); // @ts-ignore\n\n\n var asKeys = ((_as$render = as.render) === null || _as$render === void 0 ? void 0 : _as$render.__keys) || as.__keys;\n var asOptions = asKeys && splitProps(props, asKeys)[0];\n var allProps = asOptions ? _objectSpread2(_objectSpread2({}, elementProps), asOptions) : elementProps;\n\n var _element = useCreateElement$1(as, allProps);\n\n if (wrapElement) {\n return wrapElement(_element);\n }\n\n return _element;\n }\n\n return useCreateElement$1(as, _objectSpread2({\n ref: ref\n }, props));\n };\n\n if (process.env.NODE_ENV !== \"production\" && useHook) {\n Comp.displayName = useHook.name.replace(/^(unstable_)?use/, \"\");\n }\n\n Comp = forwardRef(Comp);\n\n if (shouldMemo) {\n Comp = memo(Comp, propsAreEqual && normalizePropsAreEqual(propsAreEqual));\n }\n\n Comp.__keys = keys;\n Comp.unstable_propsAreEqual = normalizePropsAreEqual(propsAreEqual || shallowEqual);\n return Comp;\n}\n\nexport { createComponent };","import { useDebugValue, useContext } from 'react';\nimport { SystemContext } from './SystemContext.js';\n/**\n * React custom hook that returns the value of any token defined in the\n * SystemContext. It's mainly used internally in [`useOptions`](#useoptions)\n * and [`useProps`](#useprops).\n *\n * @example\n * import { SystemProvider, useToken } from \"reakit-system\";\n *\n * const system = {\n * token: \"value\",\n * };\n *\n * function Component(props) {\n * const token = useToken(\"token\", \"default value\");\n * return
{token}
;\n * }\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n */\n\nfunction useToken(token, defaultValue) {\n useDebugValue(token);\n var context = useContext(SystemContext);\n return context[token] != null ? context[token] : defaultValue;\n}\n\nexport { useToken };","import 'react';\nimport './SystemContext.js';\nimport './useToken.js';\nimport { useProps } from './useProps.js';\nimport { b as _createForOfIteratorHelperLoose } from './_rollupPluginBabelHelpers-0c84a174.js';\nimport { useOptions } from './useOptions.js';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\nimport { toArray } from 'reakit-utils/toArray';\n/**\n * Creates a React custom hook that will return component props.\n *\n * @example\n * import { createHook } from \"reakit-system\";\n *\n * const useA = createHook({\n * name: \"A\",\n * keys: [\"url\"], // custom props/options keys\n * useProps(options, htmlProps) {\n * return {\n * ...htmlProps,\n * href: options.url,\n * };\n * },\n * });\n *\n * function A({ url, ...htmlProps }) {\n * const props = useA({ url }, htmlProps);\n * return ;\n * }\n *\n * @param options\n */\n\nfunction createHook(options) {\n var _options$useState, _composedHooks$;\n\n var composedHooks = toArray(options.compose);\n\n var __useOptions = function __useOptions(hookOptions, htmlProps) {\n // Call the current hook's useOptions first\n if (options.useOptions) {\n hookOptions = options.useOptions(hookOptions, htmlProps);\n } // If there's name, call useOptions from the system context\n\n\n if (options.name) {\n hookOptions = useOptions(options.name, hookOptions, htmlProps);\n } // Run composed hooks useOptions\n\n\n if (options.compose) {\n for (var _iterator = _createForOfIteratorHelperLoose(composedHooks), _step; !(_step = _iterator()).done;) {\n var hook = _step.value;\n hookOptions = hook.__useOptions(hookOptions, htmlProps);\n }\n }\n\n return hookOptions;\n };\n\n var useHook = function useHook(hookOptions, htmlProps, unstable_ignoreUseOptions) {\n if (hookOptions === void 0) {\n hookOptions = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n if (unstable_ignoreUseOptions === void 0) {\n unstable_ignoreUseOptions = false;\n } // This won't execute when useHook was called from within another useHook\n\n\n if (!unstable_ignoreUseOptions) {\n hookOptions = __useOptions(hookOptions, htmlProps);\n } // Call the current hook's useProps\n\n\n if (options.useProps) {\n htmlProps = options.useProps(hookOptions, htmlProps);\n } // If there's name, call useProps from the system context\n\n\n if (options.name) {\n htmlProps = useProps(options.name, hookOptions, htmlProps);\n }\n\n if (options.compose) {\n if (options.useComposeOptions) {\n hookOptions = options.useComposeOptions(hookOptions, htmlProps);\n }\n\n if (options.useComposeProps) {\n htmlProps = options.useComposeProps(hookOptions, htmlProps);\n } else {\n for (var _iterator2 = _createForOfIteratorHelperLoose(composedHooks), _step2; !(_step2 = _iterator2()).done;) {\n var hook = _step2.value;\n htmlProps = hook(hookOptions, htmlProps, true);\n }\n }\n } // Remove undefined values from htmlProps\n\n\n var finalHTMLProps = {};\n var definedHTMLProps = htmlProps || {};\n\n for (var prop in definedHTMLProps) {\n if (definedHTMLProps[prop] !== undefined) {\n finalHTMLProps[prop] = definedHTMLProps[prop];\n }\n }\n\n return finalHTMLProps;\n };\n\n useHook.__useOptions = __useOptions;\n var composedKeys = composedHooks.reduce(function (keys, hook) {\n keys.push.apply(keys, hook.__keys || []);\n return keys;\n }, []); // It's used by createComponent to split option props (keys) and html props\n\n useHook.__keys = [].concat(composedKeys, ((_options$useState = options.useState) === null || _options$useState === void 0 ? void 0 : _options$useState.__keys) || [], options.keys || []);\n useHook.unstable_propsAreEqual = options.propsAreEqual || ((_composedHooks$ = composedHooks[0]) === null || _composedHooks$ === void 0 ? void 0 : _composedHooks$.unstable_propsAreEqual) || shallowEqual;\n\n if (process.env.NODE_ENV !== \"production\" && options.name) {\n Object.defineProperty(useHook, \"name\", {\n value: \"use\" + options.name\n });\n }\n\n return useHook;\n}\n\nexport { createHook };","/**\n * Transforms `arg` into an array if it's not already.\n *\n * @example\n * import { toArray } from \"reakit-utils\";\n *\n * toArray(\"a\"); // [\"a\"]\n * toArray([\"a\"]); // [\"a\"]\n */\nfunction toArray(arg) {\n if (Array.isArray(arg)) {\n return arg;\n }\n\n return typeof arg !== \"undefined\" ? [arg] : [];\n}\n\nexport { toArray };","import { useDebugValue } from 'react';\nimport './SystemContext.js';\nimport { useToken } from './useToken.js';\nimport { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-0c84a174.js';\n/**\n * React custom hook that returns the options returned by a given\n * `use${name}Options` in the SystemContext.\n *\n * @example\n * import React from \"react\";\n * import { SystemProvider, useOptions } from \"reakit-system\";\n *\n * const system = {\n * useAOptions(options, htmlProps) {\n * return {\n * ...options,\n * url: htmlProps.href,\n * };\n * },\n * };\n *\n * function A({ url, ...htmlProps }) {\n * const options = useOptions(\"A\", { url }, htmlProps);\n * return ;\n * }\n *\n * function App() {\n * return (\n * \n * \n * It will convert href into url in useAOptions and then url into href in A\n * \n * \n * );\n * }\n */\n\nfunction useOptions(name, options, htmlProps) {\n if (options === void 0) {\n options = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n var hookName = \"use\" + name + \"Options\";\n useDebugValue(hookName);\n var useHook = useToken(hookName);\n\n if (useHook) {\n return _objectSpread2(_objectSpread2({}, options), useHook(options, htmlProps));\n }\n\n return options;\n}\n\nexport { useOptions };","import { useDebugValue } from 'react';\nimport './SystemContext.js';\nimport { useToken } from './useToken.js';\n/**\n * React custom hook that returns the props returned by a given\n * `use${name}Props` in the SystemContext.\n *\n * @example\n * import { SystemProvider, useProps } from \"reakit-system\";\n *\n * const system = {\n * useAProps(options, htmlProps) {\n * return {\n * ...htmlProps,\n * href: options.url,\n * };\n * },\n * };\n *\n * function A({ url, ...htmlProps }) {\n * const props = useProps(\"A\", { url }, htmlProps);\n * return ;\n * }\n *\n * function App() {\n * return (\n * \n * It will convert url into href in useAProps\n * \n * );\n * }\n */\n\nfunction useProps(name, options, htmlProps) {\n if (options === void 0) {\n options = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n var hookName = \"use\" + name + \"Props\";\n useDebugValue(hookName);\n var useHook = useToken(hookName);\n\n if (useHook) {\n return useHook(options, htmlProps);\n }\n\n return htmlProps;\n}\n\nexport { useProps };","import { useMemo } from 'react'; // https://github.com/mui-org/material-ui/blob/2bcc874cf07b81202968f769cb9c2398c7c11311/packages/material-ui/src/utils/useForkRef.js\n\nfunction setRef(ref, value) {\n if (value === void 0) {\n value = null;\n }\n\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n ref.current = value;\n }\n}\n/**\n * Merges up to two React Refs into a single memoized function React Ref so you\n * can pass it to an element.\n *\n * @example\n * import React from \"react\";\n * import { useForkRef } from \"reakit-utils\";\n *\n * const Component = React.forwardRef((props, ref) => {\n * const internalRef = React.useRef();\n * return
;\n * });\n */\n\n\nfunction useForkRef(refA, refB) {\n return useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n\n return function (value) {\n setRef(refA, value);\n setRef(refB, value);\n };\n }, [refA, refB]);\n}\n\nexport { useForkRef };","var buttonInputTypes = [\"button\", \"color\", \"file\", \"image\", \"reset\", \"submit\"];\n/**\n * Checks whether `element` is a native HTML button element.\n *\n * @example\n * import { isButton } from \"reakit-utils\";\n *\n * isButton(document.querySelector(\"button\")); // true\n * isButton(document.querySelector(\"input[type='button']\")); // true\n * isButton(document.querySelector(\"div\")); // false\n * isButton(document.querySelector(\"input[type='text']\")); // false\n * isButton(document.querySelector(\"div[role='button']\")); // false\n *\n * @returns {boolean}\n */\n\nfunction isButton(element) {\n if (element.tagName === \"BUTTON\") return true;\n\n if (element.tagName === \"INPUT\") {\n var input = element;\n return buttonInputTypes.indexOf(input.type) !== -1;\n }\n\n return false;\n}\n\nexport { isButton };","import { useRef } from 'react';\nimport './getDocument.js';\nimport './getWindow.js';\nimport './canUseDOM.js';\nimport { useIsomorphicEffect } from './useIsomorphicEffect.js';\n/**\n * A `React.Ref` that keeps track of the passed `value`.\n */\n\nfunction useLiveRef(value) {\n var ref = useRef(value);\n useIsomorphicEffect(function () {\n ref.current = value;\n });\n return ref;\n}\n\nexport { useLiveRef };","import { getDocument } from './getDocument.js';\n/**\n * Returns `element.ownerDocument.activeElement`.\n */\n\nfunction getActiveElement(element) {\n var _getDocument = getDocument(element),\n activeElement = _getDocument.activeElement;\n\n if (!(activeElement !== null && activeElement !== void 0 && activeElement.nodeName)) {\n // In IE11, activeElement might be an empty object if we're interacting\n // with elements inside of an iframe.\n return null;\n }\n\n return activeElement;\n}\n\nexport { getActiveElement };","/**\n * Similar to `Element.prototype.contains`, but a little bit faster when\n * `element` is the same as `child`.\n *\n * @example\n * import { contains } from \"reakit-utils\";\n *\n * contains(document.getElementById(\"parent\"), document.getElementById(\"child\"));\n */\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\n\nexport { contains };","import './getDocument.js';\nimport { getActiveElement } from './getActiveElement.js';\nimport { contains } from './contains.js';\n/**\n * Checks if `element` has focus within. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n *\n * @example\n * import { hasFocusWithin } from \"reakit-utils\";\n *\n * hasFocusWithin(document.getElementById(\"id\"));\n */\n\nfunction hasFocusWithin(element) {\n var activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (contains(element, activeElement)) return true;\n var activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n if (activeDescendant === element.id) return true;\n return !!element.querySelector(\"#\" + activeDescendant);\n}\n\nexport { hasFocusWithin };","/**\n * Ponyfill for `Element.prototype.matches`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\n */\nfunction matches(element, selectors) {\n if (\"matches\" in element) {\n return element.matches(selectors);\n }\n\n if (\"msMatchesSelector\" in element) {\n return element.msMatchesSelector(selectors);\n }\n\n return element.webkitMatchesSelector(selectors);\n}\n\nexport { matches };","import { matches } from './matches.js';\n/**\n * Ponyfill for `Element.prototype.closest`\n *\n * @example\n * import { closest } from \"reakit-utils\";\n *\n * closest(document.getElementById(\"id\"), \"div\");\n * // same as\n * document.getElementById(\"id\").closest(\"div\");\n */\n\nfunction closest(element, selectors) {\n if (\"closest\" in element) return element.closest(selectors);\n\n do {\n if (matches(element, selectors)) return element;\n element = element.parentElement || element.parentNode;\n } while (element !== null && element.nodeType === 1);\n\n return null;\n}\n\nexport { closest };","import './getDocument.js';\nimport { matches } from './matches.js';\nimport { closest } from './closest.js';\nimport { getActiveElement } from './getActiveElement.js';\n/** @module tabbable */\n\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), \" + \"textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], \" + \"iframe, object, embed, area[href], audio[controls], video[controls], \" + \"[contenteditable]:not([contenteditable='false'])\";\n\nfunction isVisible(element) {\n var htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n\nfunction hasNegativeTabIndex(element) {\n var tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\n/**\n * Checks whether `element` is focusable or not.\n *\n * @memberof tabbable\n *\n * @example\n * import { isFocusable } from \"reakit-utils\";\n *\n * isFocusable(document.querySelector(\"input\")); // true\n * isFocusable(document.querySelector(\"input[tabindex='-1']\")); // true\n * isFocusable(document.querySelector(\"input[hidden]\")); // false\n * isFocusable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isFocusable(element) {\n return matches(element, selector) && isVisible(element);\n}\n/**\n * Checks whether `element` is tabbable or not.\n *\n * @memberof tabbable\n *\n * @example\n * import { isTabbable } from \"reakit-utils\";\n *\n * isTabbable(document.querySelector(\"input\")); // true\n * isTabbable(document.querySelector(\"input[tabindex='-1']\")); // false\n * isTabbable(document.querySelector(\"input[hidden]\")); // false\n * isTabbable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isTabbable(element) {\n return isFocusable(element) && !hasNegativeTabIndex(element);\n}\n/**\n * Returns all the focusable elements in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element[]}\n */\n\n\nfunction getAllFocusableIn(container) {\n var allFocusable = Array.from(container.querySelectorAll(selector));\n allFocusable.unshift(container);\n return allFocusable.filter(isFocusable);\n}\n/**\n * Returns the first focusable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element|null}\n */\n\n\nfunction getFirstFocusableIn(container) {\n var _getAllFocusableIn = getAllFocusableIn(container),\n first = _getAllFocusableIn[0];\n\n return first || null;\n}\n/**\n * Returns all the tabbable elements in `container`, including the container\n * itself.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return focusable elements if there are no tabbable ones.\n *\n * @returns {Element[]}\n */\n\n\nfunction getAllTabbableIn(container, fallbackToFocusable) {\n var allFocusable = Array.from(container.querySelectorAll(selector));\n var allTabbable = allFocusable.filter(isTabbable);\n\n if (isTabbable(container)) {\n allTabbable.unshift(container);\n }\n\n if (!allTabbable.length && fallbackToFocusable) {\n return allFocusable;\n }\n\n return allTabbable;\n}\n/**\n * Returns the first tabbable element in `container`, including the container\n * itself if it's tabbable.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the first focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\n\nfunction getFirstTabbableIn(container, fallbackToFocusable) {\n var _getAllTabbableIn = getAllTabbableIn(container, fallbackToFocusable),\n first = _getAllTabbableIn[0];\n\n return first || null;\n}\n/**\n * Returns the last tabbable element in `container`, including the container\n * itself if it's tabbable.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the last focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\n\nfunction getLastTabbableIn(container, fallbackToFocusable) {\n var allTabbable = getAllTabbableIn(container, fallbackToFocusable);\n return allTabbable[allTabbable.length - 1] || null;\n}\n/**\n * Returns the next tabbable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the next focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\n\nfunction getNextTabbableIn(container, fallbackToFocusable) {\n var activeElement = getActiveElement(container);\n var allFocusable = getAllFocusableIn(container);\n var index = allFocusable.indexOf(activeElement);\n var slice = allFocusable.slice(index + 1);\n return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);\n}\n/**\n * Returns the previous tabbable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the previous focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\n\nfunction getPreviousTabbableIn(container, fallbackToFocusable) {\n var activeElement = getActiveElement(container);\n var allFocusable = getAllFocusableIn(container).reverse();\n var index = allFocusable.indexOf(activeElement);\n var slice = allFocusable.slice(index + 1);\n return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);\n}\n/**\n * Returns the closest focusable element.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element|null}\n */\n\n\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = closest(element, selector);\n }\n\n return element;\n}\n\nexport { getAllFocusableIn, getAllTabbableIn, getClosestFocusable, getFirstFocusableIn, getFirstTabbableIn, getLastTabbableIn, getNextTabbableIn, getPreviousTabbableIn, isFocusable, isTabbable };","import { useRef, useEffect } from 'react';\n/**\n * A `React.useEffect` that will not run on the first render.\n */\n\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n return undefined;\n }, deps);\n}\n\nexport { useUpdateEffect };","import './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\nimport { getActiveElement } from './getActiveElement.js';\nvar isIE11 = canUseDOM && \"msCrypto\" in window;\n/**\n * Cross-browser method that returns the next active element (the element that\n * is receiving focus) after a blur event is dispatched. It receives the blur\n * event object as the argument.\n *\n * @example\n * import { getNextActiveElementOnBlur } from \"reakit-utils\";\n *\n * const element = document.getElementById(\"id\");\n * element.addEventListener(\"blur\", (event) => {\n * const nextActiveElement = getNextActiveElementOnBlur(event);\n * });\n */\n\nfunction getNextActiveElementOnBlur(event) {\n // IE 11 doesn't support event.relatedTarget on blur.\n // document.activeElement points the the next active element.\n // On modern browsers, document.activeElement points to the current target.\n if (isIE11) {\n var activeElement = getActiveElement(event.currentTarget);\n return activeElement;\n }\n\n return event.relatedTarget;\n}\n\nexport { getNextActiveElementOnBlur };","import './getDocument.js';\nimport { getActiveElement } from './getActiveElement.js';\n/**\n * Checks if `element` has focus. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n *\n * @example\n * import { hasFocus } from \"reakit-utils\";\n *\n * hasFocus(document.getElementById(\"id\"));\n */\n\nfunction hasFocus(element) {\n var activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (activeElement === element) return true;\n var activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n return activeDescendant === element.id;\n}\n\nexport { hasFocus };","import './getDocument.js';\nimport './getActiveElement.js';\nimport { hasFocus } from './hasFocus.js';\n/**\n * Ensures `element` will receive focus if it's not already.\n *\n * @example\n * import { ensureFocus } from \"reakit-utils\";\n *\n * ensureFocus(document.activeElement); // does nothing\n *\n * const element = document.querySelector(\"input\");\n *\n * ensureFocus(element); // focuses element\n * ensureFocus(element, { preventScroll: true }); // focuses element preventing scroll jump\n *\n * function isActive(el) {\n * return el.dataset.active === \"true\";\n * }\n *\n * ensureFocus(document.querySelector(\"[data-active='true']\"), { isActive }); // does nothing\n *\n * @returns {number} `requestAnimationFrame` call ID so it can be passed to `cancelAnimationFrame` if needed.\n */\n\nfunction ensureFocus(element, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n preventScroll = _ref.preventScroll,\n _ref$isActive = _ref.isActive,\n isActive = _ref$isActive === void 0 ? hasFocus : _ref$isActive;\n\n if (isActive(element)) return -1;\n element.focus({\n preventScroll: preventScroll\n });\n if (isActive(element)) return -1;\n return requestAnimationFrame(function () {\n element.focus({\n preventScroll: preventScroll\n });\n });\n}\n\nexport { ensureFocus };","/**\n * Returns `true` if `event.target` and `event.currentTarget` are the same.\n */\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\n\nexport { isSelfTarget };","import { _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport { shallowEqual } from 'reakit-utils/shallowEqual'; // Automatically generated\n\nvar ROLE_KEYS = [\"unstable_system\"];\nvar useRole = createHook({\n name: \"Role\",\n keys: ROLE_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n var prevSystem = prev.unstable_system,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"unstable_system\"]);\n\n var nextSystem = next.unstable_system,\n nextProps = _objectWithoutPropertiesLoose(next, [\"unstable_system\"]);\n\n if (prevSystem !== nextSystem && !shallowEqual(prevSystem, nextSystem)) {\n return false;\n }\n\n return shallowEqual(prevProps, nextProps);\n }\n});\nvar Role = createComponent({\n as: \"div\",\n useHook: useRole\n});\nexport { Role, useRole };","// Automatically generated\nvar DISCLOSURE_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"visible\", \"animated\", \"animating\", \"setBaseId\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\"];\nvar DISCLOSURE_KEYS = DISCLOSURE_STATE_KEYS;\nvar DISCLOSURE_CONTENT_KEYS = DISCLOSURE_KEYS;\nexport { DISCLOSURE_KEYS as D, DISCLOSURE_CONTENT_KEYS as a };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useState, useRef, useEffect, useCallback } from 'react';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport { useRole } from '../Role/Role.js';\nimport { a as DISCLOSURE_CONTENT_KEYS } from '../__keys-e6a5cfbe.js';\nvar useDisclosureContent = createHook({\n name: \"DisclosureContent\",\n compose: useRole,\n keys: DISCLOSURE_CONTENT_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlOnTransitionEnd = _ref.onTransitionEnd,\n htmlOnAnimationEnd = _ref.onAnimationEnd,\n htmlStyle = _ref.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onTransitionEnd\", \"onAnimationEnd\", \"style\"]);\n\n var animating = options.animated && options.animating;\n\n var _React$useState = useState(null),\n transition = _React$useState[0],\n setTransition = _React$useState[1];\n\n var hidden = !options.visible && !animating;\n var style = hidden ? _objectSpread2({\n display: \"none\"\n }, htmlStyle) : htmlStyle;\n var onTransitionEndRef = useLiveRef(htmlOnTransitionEnd);\n var onAnimationEndRef = useLiveRef(htmlOnAnimationEnd);\n var raf = useRef(0);\n useEffect(function () {\n if (!options.animated) return undefined; // Double RAF is needed so the browser has enough time to paint the\n // default styles before processing the `data-enter` attribute. Otherwise\n // it wouldn't be considered a transition.\n // See https://github.com/reakit/reakit/issues/643\n\n raf.current = window.requestAnimationFrame(function () {\n raf.current = window.requestAnimationFrame(function () {\n if (options.visible) {\n setTransition(\"enter\");\n } else if (animating) {\n setTransition(\"leave\");\n } else {\n setTransition(null);\n }\n });\n });\n return function () {\n return window.cancelAnimationFrame(raf.current);\n };\n }, [options.animated, options.visible, animating]);\n var onEnd = useCallback(function (event) {\n if (!isSelfTarget(event)) return;\n if (!animating) return; // Ignores number animated\n\n if (options.animated === true) {\n var _options$stopAnimatio;\n\n (_options$stopAnimatio = options.stopAnimation) === null || _options$stopAnimatio === void 0 ? void 0 : _options$stopAnimatio.call(options);\n }\n }, [options.animated, animating, options.stopAnimation]);\n var onTransitionEnd = useCallback(function (event) {\n var _onTransitionEndRef$c;\n\n (_onTransitionEndRef$c = onTransitionEndRef.current) === null || _onTransitionEndRef$c === void 0 ? void 0 : _onTransitionEndRef$c.call(onTransitionEndRef, event);\n onEnd(event);\n }, [onEnd]);\n var onAnimationEnd = useCallback(function (event) {\n var _onAnimationEndRef$cu;\n\n (_onAnimationEndRef$cu = onAnimationEndRef.current) === null || _onAnimationEndRef$cu === void 0 ? void 0 : _onAnimationEndRef$cu.call(onAnimationEndRef, event);\n onEnd(event);\n }, [onEnd]);\n return _objectSpread2({\n id: options.baseId,\n \"data-enter\": transition === \"enter\" ? \"\" : undefined,\n \"data-leave\": transition === \"leave\" ? \"\" : undefined,\n onTransitionEnd: onTransitionEnd,\n onAnimationEnd: onAnimationEnd,\n hidden: hidden,\n style: style\n }, htmlProps);\n }\n});\nvar DisclosureContent = createComponent({\n as: \"div\",\n useHook: useDisclosureContent\n});\nexport { DisclosureContent, useDisclosureContent };","import { createContext, useContext, useState, createElement } from 'react';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { canUseDOM } from 'reakit-utils/canUseDOM';\nimport { createPortal } from 'react-dom';\n\nfunction getBodyElement() {\n return canUseDOM ? document.body : null;\n}\n\nvar PortalContext = /*#__PURE__*/createContext(getBodyElement());\n\nfunction Portal(_ref) {\n var children = _ref.children; // if it's a nested portal, context is the parent portal\n // otherwise it's document.body\n // https://github.com/reakit/reakit/issues/513\n\n var context = useContext(PortalContext) || getBodyElement();\n\n var _React$useState = useState(function () {\n if (canUseDOM) {\n var element = document.createElement(\"div\");\n element.className = Portal.__className;\n return element;\n } // ssr\n\n\n return null;\n }),\n hostNode = _React$useState[0];\n\n useIsomorphicEffect(function () {\n if (!hostNode || !context) return undefined;\n context.appendChild(hostNode);\n return function () {\n context.removeChild(hostNode);\n };\n }, [hostNode, context]);\n\n if (hostNode) {\n return /*#__PURE__*/createPortal( /*#__PURE__*/createElement(PortalContext.Provider, {\n value: hostNode\n }, children), hostNode);\n } // ssr\n\n\n return null;\n}\n\nPortal.__className = \"__reakit-portal\";\nPortal.__selector = \".\" + Portal.__className;\nexport { Portal, PortalContext };","import { removeIndexFromArray } from './removeIndexFromArray.js';\n/**\n * Immutably removes an item from an array.\n *\n * @example\n * import { removeItemFromArray } from \"reakit-utils\";\n *\n * removeItemFromArray([\"a\", \"b\", \"c\"], \"b\"); // [\"a\", \"c\"]\n *\n * // This only works by reference\n * const obj = {};\n * removeItemFromArray([obj], {}); // [obj]\n * removeItemFromArray([obj], obj); // []\n *\n * @returns {Array} A new array without the passed item.\n */\n\nfunction removeItemFromArray(array, item) {\n var index = array.indexOf(item);\n return removeIndexFromArray(array, index);\n}\n\nexport { removeItemFromArray };","/**\n * Immutably removes an index from an array.\n *\n * @example\n * import { removeIndexFromArray } from \"reakit-utils\";\n *\n * removeIndexFromArray([\"a\", \"b\", \"c\"], 1); // [\"a\", \"c\"]\n *\n * @returns {Array} A new array without the item in the passed index.\n */\nfunction removeIndexFromArray(array, index) {\n if (index === -1) return array;\n return [].concat(array.slice(0, index), array.slice(index + 1));\n}\n\nexport { removeIndexFromArray };","import { createContext, useContext, useState, useCallback, useEffect, useMemo, createElement } from 'react';\nimport { removeItemFromArray } from 'reakit-utils/removeItemFromArray';\nvar MenuContext = /*#__PURE__*/createContext(null);\n\nfunction useMenuContext(menuRef, role, options) {\n var orphan = \"unstable_orphan\" in options && options.unstable_orphan;\n var parent = useContext(MenuContext);\n\n var _React$useState = useState([]),\n children = _React$useState[0],\n setChildren = _React$useState[1];\n\n var _ref = parent || {},\n addChildToParent = _ref.addChild,\n removeChildFromParent = _ref.removeChild;\n\n var addChild = useCallback(function (ref) {\n return setChildren(function (refs) {\n return [].concat(refs, [ref]);\n });\n }, []);\n var removeChild = useCallback(function (ref) {\n return setChildren(function (refs) {\n return removeItemFromArray(refs, ref);\n });\n }, []); // If it's a nested menu, add it to parent\n\n useEffect(function () {\n if (!addChildToParent || orphan) return undefined;\n addChildToParent(menuRef);\n return function () {\n removeChildFromParent === null || removeChildFromParent === void 0 ? void 0 : removeChildFromParent(menuRef);\n };\n }, [menuRef, addChildToParent, removeChildFromParent, orphan]);\n var providerValue = useMemo(function () {\n return {\n orientation: options.orientation,\n next: options.next,\n previous: options.previous,\n ref: menuRef,\n role: role,\n parent: parent,\n children: children,\n addChild: addChild,\n removeChild: removeChild\n };\n }, [options.orientation, options.next, options.previous, menuRef, role, parent, children, addChild, removeChild]);\n var wrapElement = useCallback(function (element) {\n return /*#__PURE__*/createElement(MenuContext.Provider, {\n value: providerValue\n }, element);\n }, [providerValue]);\n return wrapElement;\n}\n\nexport { MenuContext as M, useMenuContext as u };","function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n} // Older browsers don't support event options, feature detect it.\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\n\nvar hasPassiveEvents = false;\n\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0; // returns true if `el` should be allowed to receive touchmove events.\n\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event; // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n\n if (allowTouchMove(e.target)) {\n return true;\n } // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n\n\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n } // If previousBodyOverflowSetting is already set, don't set it again.\n\n\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight; // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting; // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n\n previousBodyOverflowSetting = undefined;\n }\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\n\n\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n } // disableBodyScroll must not have been called on this targetElement before\n\n\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n } // Reset initial clientY.\n\n\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};","import { createContext } from 'react';\nvar DialogBackdropContext = /*#__PURE__*/createContext(undefined);\nexport { DialogBackdropContext as D };","// Automatically generated\nvar DIALOG_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"visible\", \"animated\", \"animating\", \"setBaseId\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\", \"modal\", \"unstable_disclosureRef\", \"setModal\"];\nvar DIALOG_KEYS = [].concat(DIALOG_STATE_KEYS, [\"hideOnEsc\", \"hideOnClickOutside\", \"preventBodyScroll\", \"unstable_initialFocusRef\", \"unstable_finalFocusRef\", \"unstable_orphan\", \"unstable_autoFocusOnShow\", \"unstable_autoFocusOnHide\"]);\nvar DIALOG_BACKDROP_KEYS = DIALOG_STATE_KEYS;\nvar DIALOG_DISCLOSURE_KEYS = DIALOG_BACKDROP_KEYS;\nexport { DIALOG_KEYS as D, DIALOG_BACKDROP_KEYS as a, DIALOG_DISCLOSURE_KEYS as b };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useEffect, useContext, useState, useCallback, useMemo, createElement, createContext, useReducer } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning, useWarning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport { getActiveElement } from 'reakit-utils/getActiveElement';\nimport { getFirstTabbableIn, getLastTabbableIn, isTabbable } from 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport { useUpdateEffect } from 'reakit-utils/useUpdateEffect';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport { getDocument } from 'reakit-utils/getDocument';\nimport 'reakit-utils/canUseDOM';\nimport { getNextActiveElementOnBlur } from 'reakit-utils/getNextActiveElementOnBlur';\nimport { ensureFocus } from 'reakit-utils/ensureFocus';\nimport '../__keys-e6a5cfbe.js';\nimport { useDisclosureContent } from '../Disclosure/DisclosureContent.js';\nimport 'react-dom';\nimport { Portal } from '../Portal/Portal.js';\nimport { removeItemFromArray } from 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { closest } from 'reakit-utils/closest';\nimport { contains } from 'reakit-utils/contains';\nimport { D as DialogBackdropContext } from '../DialogBackdropContext-8775f78b.js';\nimport { isEmpty } from 'reakit-utils/isEmpty';\nimport { D as DIALOG_KEYS } from '../__keys-ed7b48af.js';\n\nfunction useDisclosureRef(dialogRef, options) {\n var ref = useRef(null);\n var animating = !!(options.animated && options.animating);\n useEffect(function () {\n if (options.visible || animating) return undefined; // We get the last focused element before the dialog opens, so we can move\n // focus back to it when the dialog closes.\n\n var onFocus = function onFocus(event) {\n var target = event.target;\n\n if (\"focus\" in target) {\n ref.current = target;\n\n if (options.unstable_disclosureRef) {\n options.unstable_disclosureRef.current = target;\n }\n }\n };\n\n var document = getDocument(dialogRef.current);\n document.addEventListener(\"focusin\", onFocus);\n return function () {\n return document.removeEventListener(\"focusin\", onFocus);\n };\n }, [options.visible, animating, options.unstable_disclosureRef, dialogRef]);\n useEffect(function () {\n var _options$unstable_dis;\n\n if (!options.visible || animating) return undefined; // Safari and Firefox on MacOS don't focus on buttons on mouse down.\n // Instead, they focus on the closest focusable parent (ultimately, the\n // body element). This works around that by preventing that behavior and\n // forcing focus on the disclosure button. Otherwise, we wouldn't be able\n // to close the dialog by clicking again on the disclosure.\n\n var onMouseDown = function onMouseDown(event) {\n var element = event.currentTarget;\n if (!isButton(element)) return;\n event.preventDefault();\n element.focus();\n };\n\n var disclosure = ((_options$unstable_dis = options.unstable_disclosureRef) === null || _options$unstable_dis === void 0 ? void 0 : _options$unstable_dis.current) || ref.current;\n disclosure === null || disclosure === void 0 ? void 0 : disclosure.addEventListener(\"mousedown\", onMouseDown);\n return function () {\n return disclosure === null || disclosure === void 0 ? void 0 : disclosure.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [options.visible, animating, options.unstable_disclosureRef]);\n return options.unstable_disclosureRef || ref;\n}\n\nfunction usePreventBodyScroll(targetRef, options) {\n var shouldPrevent = Boolean(options.preventBodyScroll && options.visible);\n useEffect(function () {\n var element = targetRef.current;\n if (!element || !shouldPrevent) return undefined;\n disableBodyScroll(element, {\n reserveScrollBarGap: true\n });\n return function () {\n return enableBodyScroll(element);\n };\n }, [targetRef, shouldPrevent]);\n}\n\nfunction useFocusOnShow(dialogRef, nestedDialogs, options) {\n var initialFocusRef = options.unstable_initialFocusRef;\n var shouldFocus = options.visible && options.unstable_autoFocusOnShow;\n var animating = !!(options.animated && options.animating);\n useUpdateEffect(function () {\n var dialog = dialogRef.current;\n process.env.NODE_ENV !== \"production\" ? warning(!!shouldFocus && !dialog, \"[reakit/Dialog]\", \"Can't set initial focus on dialog because `ref` wasn't passed to the dialog element.\", \"See https://reakit.io/docs/dialog\") : void 0;\n if (!shouldFocus) return;\n if (!dialog) return;\n if (animating) return; // If there're nested open dialogs, let them handle focus\n\n if (nestedDialogs.some(function (child) {\n return child.current && !child.current.hidden;\n })) {\n return;\n }\n\n if (initialFocusRef !== null && initialFocusRef !== void 0 && initialFocusRef.current) {\n initialFocusRef.current.focus({\n preventScroll: true\n });\n } else {\n var tabbable = getFirstTabbableIn(dialog, true);\n\n var isActive = function isActive() {\n return hasFocusWithin(dialog);\n };\n\n if (tabbable) {\n ensureFocus(tabbable, {\n preventScroll: true,\n isActive: isActive\n });\n } else {\n ensureFocus(dialog, {\n preventScroll: true,\n isActive: isActive\n });\n process.env.NODE_ENV !== \"production\" ? warning(dialog.tabIndex === undefined || dialog.tabIndex < 0, \"It's recommended to have at least one tabbable element inside dialog. The dialog element has been automatically focused.\", \"If this is the intended behavior, pass `tabIndex={0}` to the dialog element to disable this warning.\", \"See https://reakit.io/docs/dialog/#initial-focus\", dialog) : void 0;\n }\n }\n }, [dialogRef, shouldFocus, animating, nestedDialogs, initialFocusRef]);\n}\n\nfunction usePortalRef(dialogRef, options) {\n var portalRef = useRef(null);\n useEffect(function () {\n var dialog = dialogRef.current;\n if (!dialog || !options.visible) return;\n portalRef.current = closest(dialog, Portal.__selector);\n }, [dialogRef, options.visible]);\n return portalRef;\n}\n\nfunction removeFromDOM(element) {\n if (element.parentNode == null) return;\n element.parentNode.removeChild(element);\n}\n\nvar focusTrapClassName = \"__reakit-focus-trap\";\n\nfunction isFocusTrap(element) {\n var _element$classList;\n\n return (_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.contains(focusTrapClassName);\n}\n\nfunction useFocusTrap(dialogRef, visibleModals, options) {\n var portalRef = usePortalRef(dialogRef, options);\n var shouldTrap = options.visible && options.modal;\n var beforeElement = useRef(null);\n var afterElement = useRef(null); // Create before and after elements\n // https://github.com/w3c/aria-practices/issues/545\n\n useEffect(function () {\n if (!shouldTrap) return undefined;\n var portal = portalRef.current;\n\n if (!portal) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't trap focus within modal dialog because either `ref` wasn't passed to component or the component wasn't rendered within a portal\", \"See https://reakit.io/docs/dialog\") : void 0;\n return undefined;\n }\n\n if (!beforeElement.current) {\n var document = getDocument(portal);\n beforeElement.current = document.createElement(\"div\");\n beforeElement.current.className = focusTrapClassName;\n beforeElement.current.tabIndex = 0;\n beforeElement.current.style.position = \"fixed\";\n beforeElement.current.setAttribute(\"aria-hidden\", \"true\");\n }\n\n if (!afterElement.current) {\n afterElement.current = beforeElement.current.cloneNode();\n }\n\n portal.insertAdjacentElement(\"beforebegin\", beforeElement.current);\n portal.insertAdjacentElement(\"afterend\", afterElement.current);\n return function () {\n if (beforeElement.current) removeFromDOM(beforeElement.current);\n if (afterElement.current) removeFromDOM(afterElement.current);\n };\n }, [portalRef, shouldTrap]); // Focus trap\n\n useEffect(function () {\n var before = beforeElement.current;\n var after = afterElement.current;\n if (!shouldTrap || !before || !after) return undefined;\n\n var handleFocus = function handleFocus(event) {\n var dialog = dialogRef.current;\n if (!dialog || visibleModals.length) return;\n event.preventDefault();\n var isAfter = event.target === after;\n var tabbable = isAfter ? getFirstTabbableIn(dialog) : getLastTabbableIn(dialog);\n\n if (tabbable) {\n tabbable.focus();\n } else {\n // fallback to dialog\n dialog.focus();\n }\n };\n\n before.addEventListener(\"focus\", handleFocus);\n after.addEventListener(\"focus\", handleFocus);\n return function () {\n before.removeEventListener(\"focus\", handleFocus);\n after.removeEventListener(\"focus\", handleFocus);\n };\n }, [dialogRef, visibleModals, shouldTrap]);\n}\n\nfunction hidByFocusingAnotherElement(dialogRef) {\n var dialog = dialogRef.current;\n if (!dialog) return false;\n var activeElement = getActiveElement(dialog);\n if (!activeElement) return false;\n if (contains(dialog, activeElement)) return false;\n if (isTabbable(activeElement)) return true;\n if (activeElement.getAttribute(\"data-dialog\") === \"true\") return true;\n return false;\n}\n\nfunction useFocusOnHide(dialogRef, disclosureRef, options) {\n var shouldFocus = options.unstable_autoFocusOnHide && !options.visible;\n var animating = !!(options.animated && options.animating);\n useUpdateEffect(function () {\n var _options$unstable_fin;\n\n if (!shouldFocus) return;\n if (animating) return; // Hide was triggered by a click/focus on a tabbable element outside\n // the dialog or on another dialog. We won't change focus then.\n\n if (hidByFocusingAnotherElement(dialogRef)) {\n return;\n }\n\n var finalFocusEl = ((_options$unstable_fin = options.unstable_finalFocusRef) === null || _options$unstable_fin === void 0 ? void 0 : _options$unstable_fin.current) || disclosureRef.current;\n\n if (finalFocusEl) {\n if (finalFocusEl.id) {\n var document = getDocument(finalFocusEl);\n var compositeElement = document.querySelector(\"[aria-activedescendant='\" + finalFocusEl.id + \"']\");\n\n if (compositeElement) {\n ensureFocus(compositeElement);\n return;\n }\n }\n\n ensureFocus(finalFocusEl);\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't return focus after closing dialog. Either render a disclosure component or provide a `unstable_finalFocusRef` prop.\", \"See https://reakit.io/docs/dialog\", dialogRef.current) : void 0;\n }, [shouldFocus, animating, dialogRef, disclosureRef]);\n}\n\nvar DialogContext = /*#__PURE__*/createContext({});\n\nfunction useNestedDialogs(dialogRef, options) {\n var context = useContext(DialogContext);\n\n var _React$useState = useState([]),\n dialogs = _React$useState[0],\n setDialogs = _React$useState[1];\n\n var _React$useState2 = useState(dialogs),\n visibleModals = _React$useState2[0],\n setVisibleModals = _React$useState2[1];\n\n var addDialog = useCallback(function (ref) {\n var _context$addDialog;\n\n (_context$addDialog = context.addDialog) === null || _context$addDialog === void 0 ? void 0 : _context$addDialog.call(context, ref);\n setDialogs(function (prevDialogs) {\n return [].concat(prevDialogs, [ref]);\n });\n }, [context.addDialog]);\n var removeDialog = useCallback(function (ref) {\n var _context$removeDialog;\n\n (_context$removeDialog = context.removeDialog) === null || _context$removeDialog === void 0 ? void 0 : _context$removeDialog.call(context, ref);\n setDialogs(function (prevDialogs) {\n return removeItemFromArray(prevDialogs, ref);\n });\n }, [context.removeDialog]);\n var showDialog = useCallback(function (ref) {\n var _context$showDialog;\n\n (_context$showDialog = context.showDialog) === null || _context$showDialog === void 0 ? void 0 : _context$showDialog.call(context, ref);\n setVisibleModals(function (prevDialogs) {\n return [].concat(prevDialogs, [ref]);\n });\n }, [context.showDialog]);\n var hideDialog = useCallback(function (ref) {\n var _context$hideDialog;\n\n (_context$hideDialog = context.hideDialog) === null || _context$hideDialog === void 0 ? void 0 : _context$hideDialog.call(context, ref);\n setVisibleModals(function (prevDialogs) {\n return removeItemFromArray(prevDialogs, ref);\n });\n }, [context.hideDialog]); // If it's a nested dialog, add it to context\n\n useEffect(function () {\n var _context$addDialog2;\n\n if (options.unstable_orphan) return undefined;\n (_context$addDialog2 = context.addDialog) === null || _context$addDialog2 === void 0 ? void 0 : _context$addDialog2.call(context, dialogRef);\n return function () {\n var _context$removeDialog2;\n\n (_context$removeDialog2 = context.removeDialog) === null || _context$removeDialog2 === void 0 ? void 0 : _context$removeDialog2.call(context, dialogRef);\n };\n }, [options.unstable_orphan, context.addDialog, dialogRef, context.removeDialog]);\n useEffect(function () {\n var _context$showDialog2;\n\n if (options.unstable_orphan) return undefined;\n if (!options.modal) return undefined;\n if (!options.visible) return undefined;\n (_context$showDialog2 = context.showDialog) === null || _context$showDialog2 === void 0 ? void 0 : _context$showDialog2.call(context, dialogRef);\n return function () {\n var _context$hideDialog2;\n\n (_context$hideDialog2 = context.hideDialog) === null || _context$hideDialog2 === void 0 ? void 0 : _context$hideDialog2.call(context, dialogRef);\n };\n }, [options.unstable_orphan, options.modal, options.visible, context.showDialog, dialogRef, context.hideDialog]); // Close all nested dialogs when parent dialog closes\n\n useEffect(function () {\n if (context.visible === false && options.visible && !options.unstable_orphan) {\n var _options$hide;\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n }\n }, [context.visible, options.visible, options.hide, options.unstable_orphan]); // Provider\n\n var providerValue = useMemo(function () {\n return {\n visible: options.visible,\n addDialog: addDialog,\n removeDialog: removeDialog,\n showDialog: showDialog,\n hideDialog: hideDialog\n };\n }, [options.visible, addDialog, removeDialog, showDialog, hideDialog]);\n var wrap = useCallback(function (element) {\n return /*#__PURE__*/createElement(DialogContext.Provider, {\n value: providerValue\n }, element);\n }, [providerValue]);\n return {\n dialogs: dialogs,\n visibleModals: visibleModals,\n wrap: wrap\n };\n}\n\nfunction dialogContains(target) {\n return function (dialogRef) {\n var dialog = dialogRef.current;\n if (!dialog) return false;\n if (contains(dialog, target)) return true;\n var document = getDocument(dialog);\n var backdrop = document.querySelector(\"[data-dialog-ref=\\\"\" + dialog.id + \"\\\"]\");\n\n if (backdrop) {\n return contains(backdrop, target);\n }\n\n return false;\n };\n}\n\nfunction isDisclosure(target, disclosure) {\n return contains(disclosure, target);\n}\n\nfunction isInDocument(target) {\n var document = getDocument(target);\n\n if (target.tagName === \"HTML\") {\n return true;\n }\n\n return contains(document.body, target);\n}\n\nfunction useEventListenerOutside(containerRef, disclosureRef, nestedDialogs, eventType, listener, shouldListen, capture) {\n var listenerRef = useLiveRef(listener);\n useEffect(function () {\n if (!shouldListen) return undefined;\n\n var onEvent = function onEvent(event) {\n if (!listenerRef.current) return;\n var container = containerRef.current;\n var disclosure = disclosureRef.current;\n var target = event.target;\n\n if (!container) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't detect events outside dialog because `ref` wasn't passed to component.\", \"See https://reakit.io/docs/dialog\") : void 0;\n return;\n } // When an element is unmounted right after it receives focus, the focus\n // event is triggered after that, when the element isn't part of the\n // current document anymore. So we ignore it.\n\n\n if (!isInDocument(target)) return; // Event inside dialog\n\n if (contains(container, target)) return; // Event on disclosure\n\n if (disclosure && isDisclosure(target, disclosure)) return; // Event inside a nested dialog or focus trap\n\n if (isFocusTrap(target) || nestedDialogs.some(dialogContains(target))) {\n return;\n }\n\n listenerRef.current(event);\n };\n\n var document = getDocument(containerRef.current);\n document.addEventListener(eventType, onEvent, capture);\n return function () {\n return document.removeEventListener(eventType, onEvent, capture);\n };\n }, [containerRef, disclosureRef, nestedDialogs, eventType, shouldListen, listenerRef]);\n}\n\nfunction useMouseDownRef(dialogRef, options) {\n var mouseDownRef = useRef();\n useEffect(function () {\n if (!options.visible) return undefined;\n if (!options.hideOnClickOutside) return undefined;\n var document = getDocument(dialogRef.current);\n\n var onMouseDown = function onMouseDown(event) {\n mouseDownRef.current = event.target;\n };\n\n document.addEventListener(\"mousedown\", onMouseDown);\n return function () {\n return document.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [options.visible, options.hideOnClickOutside, dialogRef]);\n return mouseDownRef;\n}\n\nfunction useHideOnClickOutside(dialogRef, disclosureRef, nestedDialogs, options) {\n var mouseDownRef = useMouseDownRef(dialogRef, options);\n useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, \"click\", function (event) {\n // Make sure the element that has been clicked is the same that last\n // triggered the mousedown event. This prevents the dialog from closing\n // by dragging the cursor (for example, selecting some text inside the\n // dialog and releasing the mouse outside of it).\n if (mouseDownRef.current === event.target) {\n var _options$hide;\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n }\n }, options.visible && options.hideOnClickOutside);\n useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, \"focusin\", function (event) {\n var document = getDocument(dialogRef.current); // Fix for https://github.com/reakit/reakit/issues/619\n // On IE11, calling element.blur() triggers the focus event on\n // document.body, so we make sure to ignore it as well.\n\n if (event.target !== document && event.target !== document.body) {\n var _options$hide2;\n\n (_options$hide2 = options.hide) === null || _options$hide2 === void 0 ? void 0 : _options$hide2.call(options);\n }\n }, options.visible && options.hideOnClickOutside);\n}\n\nfunction useDisableHoverOutside(portalRef, nestedDialogs, options) {\n var useEvent = function useEvent(eventType) {\n return useEventListenerOutside(portalRef, {\n current: null\n }, nestedDialogs, eventType, function (event) {\n event.stopPropagation();\n event.preventDefault();\n }, options.visible && options.modal, true);\n };\n\n useEvent(\"mouseover\");\n useEvent(\"mousemove\");\n useEvent(\"mouseout\");\n}\n/**\n * When the focused child gets removed from the DOM, we make sure to move focus\n * to the dialog.\n */\n\n\nfunction useFocusOnChildUnmount(dialogRef, options) {\n useEffect(function () {\n var dialog = dialogRef.current;\n if (!options.visible || !dialog) return undefined;\n var observer = new MutationObserver(function (mutations) {\n var target = mutations[0].target; // If target is not this dialog, then this observer was triggered by a\n // nested dialog, so we just ignore it here and let the nested dialog\n // handle it there.\n\n if (target !== dialog) return;\n var document = getDocument(dialog);\n var activeElement = getActiveElement(dialog); // We can check if the current focused element is the document body. On\n // IE 11, it's an empty object when the current document is in a frame or\n // iframe.\n\n if (activeElement === document.body || isEmpty(activeElement)) {\n dialog.focus();\n }\n });\n observer.observe(dialog, {\n childList: true,\n subtree: true\n });\n return function () {\n observer.disconnect();\n };\n }, [options.visible, dialogRef]);\n}\n\nfunction isActualElement(element) {\n return element && element.tagName && element.tagName !== \"HTML\" && element !== getDocument(element).body;\n}\n\nfunction useFocusOnBlur(dialogRef, options) {\n var _React$useReducer = useReducer(function (n) {\n return n + 1;\n }, 0),\n blurred = _React$useReducer[0],\n scheduleFocus = _React$useReducer[1];\n\n useIsomorphicEffect(function () {\n var dialog = dialogRef.current;\n if (!options.visible) return;\n if (!blurred) return; // After blur, if the active element isn't an actual element, this probably\n // means that element.blur() was called on an element inside the dialog.\n // In this case, the browser will automatically focus the body element.\n // So we move focus back to the dialog.\n\n if (!isActualElement(getActiveElement(dialog))) {\n process.env.NODE_ENV !== \"production\" ? warning(!dialog, \"Can't focus dialog after a nested element got blurred because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/dialog\") : void 0;\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n }\n }, [blurred, dialogRef]);\n var onBlur = useCallback(function (event) {\n if (!options.visible) return;\n var nextActiveElement = getNextActiveElementOnBlur(event);\n\n if (!isActualElement(nextActiveElement)) {\n scheduleFocus();\n }\n }, [options.visible]);\n return onBlur;\n}\n\nvar useDialog = createHook({\n name: \"Dialog\",\n compose: useDisclosureContent,\n keys: DIALOG_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$modal = _ref.modal,\n modal = _ref$modal === void 0 ? true : _ref$modal,\n _ref$hideOnEsc = _ref.hideOnEsc,\n hideOnEsc = _ref$hideOnEsc === void 0 ? true : _ref$hideOnEsc,\n _ref$hideOnClickOutsi = _ref.hideOnClickOutside,\n hideOnClickOutside = _ref$hideOnClickOutsi === void 0 ? true : _ref$hideOnClickOutsi,\n _ref$preventBodyScrol = _ref.preventBodyScroll,\n preventBodyScroll = _ref$preventBodyScrol === void 0 ? modal : _ref$preventBodyScrol,\n _ref$unstable_autoFoc = _ref.unstable_autoFocusOnShow,\n unstable_autoFocusOnShow = _ref$unstable_autoFoc === void 0 ? true : _ref$unstable_autoFoc,\n _ref$unstable_autoFoc2 = _ref.unstable_autoFocusOnHide,\n unstable_autoFocusOnHide = _ref$unstable_autoFoc2 === void 0 ? true : _ref$unstable_autoFoc2,\n unstable_orphan = _ref.unstable_orphan,\n options = _objectWithoutPropertiesLoose(_ref, [\"modal\", \"hideOnEsc\", \"hideOnClickOutside\", \"preventBodyScroll\", \"unstable_autoFocusOnShow\", \"unstable_autoFocusOnHide\", \"unstable_orphan\"]);\n\n return _objectSpread2({\n modal: modal,\n hideOnEsc: hideOnEsc,\n hideOnClickOutside: hideOnClickOutside,\n preventBodyScroll: modal && preventBodyScroll,\n unstable_autoFocusOnShow: unstable_autoFocusOnShow,\n unstable_autoFocusOnHide: unstable_autoFocusOnHide,\n unstable_orphan: modal && unstable_orphan\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlOnKeyDown = _ref2.onKeyDown,\n htmlOnBlur = _ref2.onBlur,\n htmlWrapElement = _ref2.wrapElement,\n tabIndex = _ref2.tabIndex,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"onKeyDown\", \"onBlur\", \"wrapElement\", \"tabIndex\"]);\n\n var dialog = useRef(null);\n var backdrop = useContext(DialogBackdropContext);\n var hasBackdrop = backdrop && backdrop === options.baseId;\n var disclosure = useDisclosureRef(dialog, options);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onBlurRef = useLiveRef(htmlOnBlur);\n var focusOnBlur = useFocusOnBlur(dialog, options);\n\n var _useNestedDialogs = useNestedDialogs(dialog, options),\n dialogs = _useNestedDialogs.dialogs,\n visibleModals = _useNestedDialogs.visibleModals,\n wrap = _useNestedDialogs.wrap; // VoiceOver/Safari accepts only one `aria-modal` container, so if there\n // are visible child modals, then we don't want to set aria-modal on the\n // parent modal (this component).\n\n\n var modal = options.modal && !visibleModals.length ? true : undefined;\n usePreventBodyScroll(dialog, options);\n useFocusTrap(dialog, visibleModals, options);\n useFocusOnChildUnmount(dialog, options);\n useFocusOnShow(dialog, dialogs, options);\n useFocusOnHide(dialog, disclosure, options);\n useHideOnClickOutside(dialog, disclosure, dialogs, options);\n useDisableHoverOutside(dialog, dialogs, options);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n if (event.key !== \"Escape\") return;\n if (!options.hideOnEsc) return;\n\n if (!options.hide) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"`hideOnEsc` prop is truthy, but `hide` prop wasn't provided.\", \"See https://reakit.io/docs/dialog\", dialog.current) : void 0;\n return;\n }\n\n event.stopPropagation();\n options.hide();\n }, [options.hideOnEsc, options.hide]);\n var onBlur = useCallback(function (event) {\n var _onBlurRef$current;\n\n (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event);\n focusOnBlur(event);\n }, [focusOnBlur]);\n var wrapElement = useCallback(function (element) {\n element = wrap(element);\n\n if (options.modal && !hasBackdrop) {\n element = /*#__PURE__*/createElement(Portal, null, element);\n }\n\n if (htmlWrapElement) {\n element = htmlWrapElement(element);\n }\n\n return (\n /*#__PURE__*/\n // Prevents Menu > Dialog > Menu to behave as a sub menu\n createElement(MenuContext.Provider, {\n value: null\n }, element)\n );\n }, [wrap, options.modal, hasBackdrop, htmlWrapElement]);\n return _objectSpread2({\n ref: useForkRef(dialog, htmlRef),\n role: \"dialog\",\n tabIndex: tabIndex != null ? tabIndex : -1,\n \"aria-modal\": modal,\n \"data-dialog\": true,\n onKeyDown: onKeyDown,\n onBlur: onBlur,\n wrapElement: wrapElement\n }, htmlProps);\n }\n});\nvar Dialog = createComponent({\n as: \"div\",\n useHook: useDialog,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/dialog\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\nexport { Dialog, useDialog };","import { isObject } from './isObject.js';\n/**\n * Checks whether `arg` is empty or not.\n *\n * @example\n * import { isEmpty } from \"reakit-utils\";\n *\n * isEmpty([]); // true\n * isEmpty([\"a\"]); // false\n * isEmpty({}); // true\n * isEmpty({ a: \"a\" }); // false\n * isEmpty(); // true\n * isEmpty(null); // true\n * isEmpty(undefined); // true\n * isEmpty(\"\"); // true\n */\n\nfunction isEmpty(arg) {\n if (Array.isArray(arg)) return !arg.length;\n if (isObject(arg)) return !Object.keys(arg).length;\n if (arg == null) return true;\n if (arg === \"\") return true;\n return false;\n}\n\nexport { isEmpty };","import './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\n/**\n * Checks if a given string exists in the user agent string.\n */\n\nfunction isUA(string) {\n if (!canUseDOM) return false;\n return window.navigator.userAgent.indexOf(string) !== -1;\n}\n\nexport { isUA };","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useCallback, useEffect } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport { isPortalEvent } from 'reakit-utils/isPortalEvent';\nimport { getActiveElement } from 'reakit-utils/getActiveElement';\nimport { isUA } from 'reakit-utils/dom';\nimport { getClosestFocusable } from 'reakit-utils/tabbable';\nimport { useRole } from '../Role/Role.js'; // Automatically generated\n\nvar TABBABLE_KEYS = [\"disabled\", \"focusable\"];\nvar isSafariOrFirefoxOnMac = isUA(\"Mac\") && !isUA(\"Chrome\") && (isUA(\"Safari\") || isUA(\"Firefox\"));\n\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element)) {\n element.focus();\n }\n} // Safari and Firefox on MacOS don't focus on buttons on mouse down like other\n// browsers/platforms. Instead, they focus on the closest focusable ancestor\n// element, which is ultimately the body element. So we make sure to give focus\n// to the tabbable element on mouse down so it works consistently across\n// browsers.\n// istanbul ignore next\n\n\nfunction useFocusOnMouseDown() {\n if (!isSafariOrFirefoxOnMac) return undefined;\n\n var _React$useState = useState(null),\n tabbable = _React$useState[0],\n scheduleFocus = _React$useState[1];\n\n useEffect(function () {\n if (!tabbable) return;\n focusIfNeeded(tabbable);\n scheduleFocus(null);\n }, [tabbable]);\n var onMouseDown = useCallback(function (event) {\n var element = event.currentTarget;\n if (isPortalEvent(event)) return;\n if (!isButton(element)) return;\n var activeElement = getActiveElement(element);\n if (!activeElement) return;\n var activeElementIsBody = activeElement.tagName === \"BODY\";\n var focusableAncestor = getClosestFocusable(element.parentElement);\n\n if (activeElement === focusableAncestor || activeElementIsBody && !focusableAncestor) {\n // When the active element is the focusable ancestor, it'll not emit\n // focus/blur events. After all, it's already focused. So we can't\n // listen to those events to focus this tabbable element.\n // When the active element is body and there's no focusable ancestor,\n // we also don't have any other event to listen to since body never\n // emits focus/blur events on itself.\n // In both of these cases, we have to schedule focus on this tabbable\n // element.\n scheduleFocus(element);\n } else if (focusableAncestor) {\n // Clicking (mouse down) on the tabbable element on Safari and Firefox\n // on MacOS will fire focus on the focusable ancestor element if\n // there's any and if it's not the current active element. So we wait\n // for this event to happen before moving focus to this element.\n // Instead of moving focus right away, we have to schedule it,\n // otherwise it's gonna prevent drag events from happening.\n var onFocus = function onFocus() {\n return scheduleFocus(element);\n };\n\n focusableAncestor.addEventListener(\"focusin\", onFocus, {\n once: true\n });\n } else {\n // Finally, if there's no focsuable ancestor and there's another\n // element with focus, we wait for that element to get blurred before\n // focusing this one.\n var onBlur = function onBlur() {\n return focusIfNeeded(element);\n };\n\n activeElement.addEventListener(\"blur\", onBlur, {\n once: true\n });\n }\n }, []);\n return onMouseDown;\n}\n\nfunction isNativeTabbable(element) {\n return element.tagName === \"BUTTON\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\" || element.tagName === \"TEXTAREA\" || element.tagName === \"A\";\n}\n\nfunction supportsDisabledAttribute(element) {\n return element.tagName === \"BUTTON\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\" || element.tagName === \"TEXTAREA\";\n}\n\nfunction getTabIndex(trulyDisabled, nativeTabbable, supportsDisabled, htmlTabIndex) {\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n // Anchor, audio and video tags don't support the `disabled` attribute.\n // We must pass tabIndex={-1} so they don't receive focus on tab.\n return -1;\n } // Elements that support the `disabled` attribute don't need tabIndex.\n\n\n return undefined;\n }\n\n if (nativeTabbable) {\n // If the element is enabled and it's natively tabbable, we don't need to\n // specify a tabIndex attribute unless it's explicitly set by the user.\n return htmlTabIndex;\n } // If the element is enabled and is not natively tabbable, we have to\n // fallback tabIndex={0}.\n\n\n return htmlTabIndex || 0;\n}\n\nfunction useDisableEvent(htmlEventRef, disabled) {\n return useCallback(function (event) {\n var _htmlEventRef$current;\n\n (_htmlEventRef$current = htmlEventRef.current) === null || _htmlEventRef$current === void 0 ? void 0 : _htmlEventRef$current.call(htmlEventRef, event);\n if (event.defaultPrevented) return;\n\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n }, [htmlEventRef, disabled]);\n}\n\nvar useTabbable = createHook({\n name: \"Tabbable\",\n compose: useRole,\n keys: TABBABLE_KEYS,\n useOptions: function useOptions(options, _ref) {\n var disabled = _ref.disabled;\n return _objectSpread2({\n disabled: disabled\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlTabIndex = _ref2.tabIndex,\n htmlOnClickCapture = _ref2.onClickCapture,\n htmlOnMouseDownCapture = _ref2.onMouseDownCapture,\n htmlOnMouseDown = _ref2.onMouseDown,\n htmlOnKeyPressCapture = _ref2.onKeyPressCapture,\n htmlStyle = _ref2.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"tabIndex\", \"onClickCapture\", \"onMouseDownCapture\", \"onMouseDown\", \"onKeyPressCapture\", \"style\"]);\n\n var ref = useRef(null);\n var onClickCaptureRef = useLiveRef(htmlOnClickCapture);\n var onMouseDownCaptureRef = useLiveRef(htmlOnMouseDownCapture);\n var onMouseDownRef = useLiveRef(htmlOnMouseDown);\n var onKeyPressCaptureRef = useLiveRef(htmlOnKeyPressCapture);\n var trulyDisabled = !!options.disabled && !options.focusable;\n\n var _React$useState2 = useState(true),\n nativeTabbable = _React$useState2[0],\n setNativeTabbable = _React$useState2[1];\n\n var _React$useState3 = useState(true),\n supportsDisabled = _React$useState3[0],\n setSupportsDisabled = _React$useState3[1];\n\n var style = options.disabled ? _objectSpread2({\n pointerEvents: \"none\"\n }, htmlStyle) : htmlStyle;\n var focusOnMouseDown = useFocusOnMouseDown();\n useIsomorphicEffect(function () {\n var tabbable = ref.current;\n\n if (!tabbable) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't determine if the element is a native tabbable element because `ref` wasn't passed to the component.\", \"See https://reakit.io/docs/tabbable\") : void 0;\n return;\n }\n\n if (!isNativeTabbable(tabbable)) {\n setNativeTabbable(false);\n }\n\n if (!supportsDisabledAttribute(tabbable)) {\n setSupportsDisabled(false);\n }\n }, []);\n var onClickCapture = useDisableEvent(onClickCaptureRef, options.disabled);\n var onMouseDownCapture = useDisableEvent(onMouseDownCaptureRef, options.disabled);\n var onKeyPressCapture = useDisableEvent(onKeyPressCaptureRef, options.disabled);\n var onMouseDown = useCallback(function (event) {\n var _onMouseDownRef$curre;\n\n (_onMouseDownRef$curre = onMouseDownRef.current) === null || _onMouseDownRef$curre === void 0 ? void 0 : _onMouseDownRef$curre.call(onMouseDownRef, event);\n if (event.defaultPrevented) return;\n focusOnMouseDown === null || focusOnMouseDown === void 0 ? void 0 : focusOnMouseDown(event);\n }, [options.disabled, focusOnMouseDown]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n style: style,\n tabIndex: getTabIndex(trulyDisabled, nativeTabbable, supportsDisabled, htmlTabIndex),\n disabled: trulyDisabled && supportsDisabled ? true : undefined,\n \"aria-disabled\": options.disabled ? true : undefined,\n onClickCapture: onClickCapture,\n onMouseDownCapture: onMouseDownCapture,\n onMouseDown: onMouseDown,\n onKeyPressCapture: onKeyPressCapture\n }, htmlProps);\n }\n});\nvar Tabbable = createComponent({\n as: \"div\",\n useHook: useTabbable\n});\nexport { Tabbable, useTabbable };","import { contains } from './contains.js';\n/**\n * Returns `true` if `event` has been fired within a React Portal element.\n */\n\nfunction isPortalEvent(event) {\n return !contains(event.currentTarget, event.target);\n}\n\nexport { isPortalEvent };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useState, useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport { useTabbable } from '../Tabbable/Tabbable.js'; // Automatically generated\n\nvar CLICKABLE_KEYS = [\"unstable_clickOnEnter\", \"unstable_clickOnSpace\"];\n\nfunction isNativeClick(event) {\n var element = event.currentTarget;\n if (!event.isTrusted) return false; // istanbul ignore next: can't test trusted events yet\n\n return isButton(element) || element.tagName === \"INPUT\" || element.tagName === \"TEXTAREA\" || element.tagName === \"A\" || element.tagName === \"SELECT\";\n}\n\nvar useClickable = createHook({\n name: \"Clickable\",\n compose: useTabbable,\n keys: CLICKABLE_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$unstable_clickOn = _ref.unstable_clickOnEnter,\n unstable_clickOnEnter = _ref$unstable_clickOn === void 0 ? true : _ref$unstable_clickOn,\n _ref$unstable_clickOn2 = _ref.unstable_clickOnSpace,\n unstable_clickOnSpace = _ref$unstable_clickOn2 === void 0 ? true : _ref$unstable_clickOn2,\n options = _objectWithoutPropertiesLoose(_ref, [\"unstable_clickOnEnter\", \"unstable_clickOnSpace\"]);\n\n return _objectSpread2({\n unstable_clickOnEnter: unstable_clickOnEnter,\n unstable_clickOnSpace: unstable_clickOnSpace\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlOnKeyDown = _ref2.onKeyDown,\n htmlOnKeyUp = _ref2.onKeyUp,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"onKeyDown\", \"onKeyUp\"]);\n\n var _React$useState = useState(false),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onKeyUpRef = useLiveRef(htmlOnKeyUp);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n if (options.disabled) return;\n if (event.metaKey) return;\n if (!isSelfTarget(event)) return;\n var isEnter = options.unstable_clickOnEnter && event.key === \"Enter\";\n var isSpace = options.unstable_clickOnSpace && event.key === \" \";\n\n if (isEnter || isSpace) {\n if (isNativeClick(event)) return;\n event.preventDefault();\n\n if (isEnter) {\n event.currentTarget.click();\n } else if (isSpace) {\n setActive(true);\n }\n }\n }, [options.disabled, options.unstable_clickOnEnter, options.unstable_clickOnSpace]);\n var onKeyUp = useCallback(function (event) {\n var _onKeyUpRef$current;\n\n (_onKeyUpRef$current = onKeyUpRef.current) === null || _onKeyUpRef$current === void 0 ? void 0 : _onKeyUpRef$current.call(onKeyUpRef, event);\n if (event.defaultPrevented) return;\n if (options.disabled) return;\n if (event.metaKey) return;\n var isSpace = options.unstable_clickOnSpace && event.key === \" \";\n\n if (active && isSpace) {\n setActive(false);\n event.currentTarget.click();\n }\n }, [options.disabled, options.unstable_clickOnSpace, active]);\n return _objectSpread2({\n \"data-active\": active || undefined,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }, htmlProps);\n }\n});\nvar Clickable = createComponent({\n as: \"button\",\n memo: true,\n useHook: useClickable\n});\nexport { Clickable, useClickable };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useEffect } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport { useClickable } from '../Clickable/Clickable.js'; // Automatically generated\n\nvar BUTTON_KEYS = [];\nvar useButton = createHook({\n name: \"Button\",\n compose: useClickable,\n keys: BUTTON_KEYS,\n useProps: function useProps(_, _ref) {\n var htmlRef = _ref.ref,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\"]);\n\n var ref = useRef(null);\n\n var _React$useState = useState(undefined),\n role = _React$useState[0],\n setRole = _React$useState[1];\n\n var _React$useState2 = useState(\"button\"),\n type = _React$useState2[0],\n setType = _React$useState2[1];\n\n useEffect(function () {\n var element = ref.current;\n\n if (!element) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't determine whether the element is a native button because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/button\") : void 0;\n return;\n }\n\n if (!isButton(element)) {\n if (element.tagName !== \"A\") {\n setRole(\"button\");\n }\n\n setType(undefined);\n }\n }, []);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n role: role,\n type: type\n }, htmlProps);\n }\n});\nvar Button = createComponent({\n as: \"button\",\n memo: true,\n useHook: useButton\n});\nexport { Button, useButton };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport { useButton } from '../Button/Button.js';\nimport { D as DISCLOSURE_KEYS } from '../__keys-e6a5cfbe.js';\nvar useDisclosure = createHook({\n name: \"Disclosure\",\n compose: useButton,\n keys: DISCLOSURE_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlOnClick = _ref.onClick,\n ariaControls = _ref[\"aria-controls\"],\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onClick\", \"aria-controls\"]);\n\n var onClickRef = useLiveRef(htmlOnClick);\n var controls = ariaControls ? ariaControls + \" \" + options.baseId : options.baseId;\n var onClick = useCallback(function (event) {\n var _onClickRef$current, _options$toggle;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n (_options$toggle = options.toggle) === null || _options$toggle === void 0 ? void 0 : _options$toggle.call(options);\n }, [options.toggle]);\n return _objectSpread2({\n \"aria-expanded\": !!options.visible,\n \"aria-controls\": controls,\n onClick: onClick\n }, htmlProps);\n }\n});\nvar Disclosure = createComponent({\n as: \"button\",\n memo: true,\n useHook: useDisclosure\n});\nexport { Disclosure, useDisclosure };","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport '../Button/Button.js';\nimport '../__keys-e6a5cfbe.js';\nimport { b as DIALOG_DISCLOSURE_KEYS } from '../__keys-ed7b48af.js';\nimport { useDisclosure } from '../Disclosure/Disclosure.js';\nvar useDialogDisclosure = createHook({\n name: \"DialogDisclosure\",\n compose: useDisclosure,\n keys: DIALOG_DISCLOSURE_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlOnClick = _ref.onClick,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"onClick\"]);\n\n var ref = useRef(null);\n var onClickRef = useLiveRef(htmlOnClick);\n\n var _React$useState = useState(false),\n expanded = _React$useState[0],\n setExpanded = _React$useState[1];\n\n var disclosureRef = options.unstable_disclosureRef; // aria-expanded may be used for styling purposes, so we useLayoutEffect\n\n useIsomorphicEffect(function () {\n var element = ref.current;\n process.env.NODE_ENV !== \"production\" ? warning(!element, \"Can't determine whether the element is the current disclosure because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/dialog\") : void 0;\n\n if (disclosureRef && !disclosureRef.current) {\n disclosureRef.current = element;\n }\n\n var isCurrentDisclosure = !(disclosureRef !== null && disclosureRef !== void 0 && disclosureRef.current) || disclosureRef.current === element;\n setExpanded(!!options.visible && isCurrentDisclosure);\n }, [options.visible, disclosureRef]);\n var onClick = useCallback(function (event) {\n var _onClickRef$current;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n\n if (disclosureRef) {\n disclosureRef.current = event.currentTarget;\n }\n }, [disclosureRef]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": expanded,\n onClick: onClick\n }, htmlProps);\n }\n});\nvar DialogDisclosure = createComponent({\n as: \"button\",\n memo: true,\n useHook: useDialogDisclosure\n});\nexport { DialogDisclosure, useDialogDisclosure };","import React from \"react\"\nimport { StaticQuery, graphql } from 'gatsby'\nimport { useDialogState, Dialog, DialogDisclosure } from 'reakit/Dialog'\nimport { VscChevronDown } from 'react-icons/vsc'\nimport styled from \"styled-components\"\n\nimport MenuLinks from \"./menuLinks\"\n\nconst MenuButton = styled.button`\n border: 0;\n color: #000;\n background-color: #fff;\n transition: base;\n transition-property: color;\n font-size: 14px;\n padding-bottom: 5px;\n\n\n &:focus {\n color: background;\n }\n\n > svg {\n //width: 24px;\n //height: 24px;\n transition: transform 200ms ease-in-out;\n font-size: 20px;\n\n &:first-child {\n transform: translateY(5px) rotate(-90deg);\n }\n }\n\n &[aria-expanded='true'] {\n > svg:first-child {\n transform: translateY(5px) rotate(0deg);\n }\n }\n`\n\nconst MenuDialog = styled.div`\n background-color: #f7fafc;\n backdrop-filter: blur(3px);\n position: fixed;\n top: 50px;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 20;\n overflow: auto;\n transition: base;\n opacity: 0;\n transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;\n transform: translate3d(0, 10vh, 0);\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n padding-bottom: 48px;\n\n &[data-enter] {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n }\n\n &:focus {\n outline: none;\n }\n`\n\nconst Wrapper = styled.div`\n display: block;\n margin-left: auto;\n`\n\nfunction Menu({ children }) {\n const dialog = useDialogState({ animated: true })\n return (\n <>\n \n {children}\n \n {/* */}\n \n Guides \n \n {/* */}\n \n )\n}\n\nexport default function MobileMenu({ page }) {\n return (\n (\n \n \n {data.site.siteMetadata.sideBar.map(section => (\n \n ))}\n \n \n )}\n />)\n}\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useState, useRef } from 'react';\nimport 'reakit-warning';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport '../Id/IdProvider.js';\nimport '../Id/IdState.js';\nimport { useDisclosureState } from '../Disclosure/DisclosureState.js';\n\nfunction useDialogState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$modal = _useSealedState.modal,\n initialModal = _useSealedState$modal === void 0 ? true : _useSealedState$modal,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"modal\"]);\n\n var disclosure = useDisclosureState(sealed);\n\n var _React$useState = useState(initialModal),\n modal = _React$useState[0],\n setModal = _React$useState[1];\n\n var disclosureRef = useRef(null);\n return _objectSpread2(_objectSpread2({}, disclosure), {}, {\n modal: modal,\n setModal: setModal,\n unstable_disclosureRef: disclosureRef\n });\n}\n\nexport { useDialogState };","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport styled from \"styled-components\"\nimport { useMediaQuery } from 'react-responsive'\n\n\nimport \"./layout.css\"\nimport MobileMenu from \"./mobileMenu\"\n\nimport logo from './images/logo.png'\n\nconst Page = styled.div`\n box-sizing: border-box;\n margin: 0px;\n`\n\nconst Container = styled.div`\n margin: 0 auto;\n max-width: 1280px;\n padding-left: 32px;\n padding-right: 32px;\n`\n\nconst HeaderContainer = styled.div`\n margin: 0 auto;\n max-width: 1280px;\n padding-left: 32px;\n padding-right: 32px;\n display: flex;\n`\n\nconst Header = styled.header`\n position: sticky;\n top: 0px;\n left: 0px;\n right: 0px;\n z-index: 10;\n margin: 0px;\n padding: 8px 0px;\n height: 32px;\n background-color: #fff;\n border-bottom: 1px solid #e2e8f0;\n`\n\nconst Logo = styled.div`\n height: 32px;\n`\n\nexport default function Layout({ page, children }) {\n const isMobile = useMediaQuery({ query: '(max-width: 1224px)' })\n // const isDesktop = useMediaQuery({ query: '(min-width: 1224px)' })\n return (\n \n\n
\n \n \n \"logo\"\n \n {isMobile &&\n \n }\n \n
\n\n \n {children}\n \n
\n )\n}","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","import React from \"react\"\nimport { Link } from 'gatsby'\nimport styled from \"styled-components\"\n\nconst SectionName = styled.h1`\n font-size: 14px;\n font-weight: 400;\n line-height: 1.2;\n color: #d03341;\n font-weight: 500;\n text-transform: uppercase;\n margin-bottom: 1.33em;\n \n `\n\nconst SectionLinks = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n border-left: 1px solid #a0a0a0;\n`\n\nconst Item = styled.li`\n padding: 0;\n margin: 2px 0px 0px -2px;\n margin-bottom: 24px;\n\n a {\n color: #4a5568;\n display: block;\n transition: fast;\n transition-property: color, border-color;\n padding: 2px 0px 2px 8px;\n border-left: 3px solid transparent;\n text-decoration: none;\n \n }\n\n a:hover {\n color: #000;\n }\n\n a[aria-current='page'] {\n font-weight: 600;\n border-color: #d03341;\n color: black;\n }\n`\n\nexport default function MenuLinks({ page, name, prefix, links }) {\n return (\n
\n {name}\n \n {links.map(link => (\n \n \n {link.title}\n \n \n ))}\n \n
\n )\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","module.exports = \"data:image/png;base64,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\"","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","!function (root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], factory) : \"object\" == typeof exports ? exports.MediaQuery = factory(require(\"react\")) : root.MediaQuery = factory(root.React);\n}(\"undefined\" != typeof self ? self : this, function (__WEBPACK_EXTERNAL_MODULE_1__) {\n return function (modules) {\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.l = !0, module.exports;\n }\n\n var installedModules = {};\n return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function (exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n configurable: !1,\n enumerable: !0,\n get: getter\n });\n }, __webpack_require__.n = function (module) {\n var getter = module && module.__esModule ? function () {\n return module.default;\n } : function () {\n return module;\n };\n return __webpack_require__.d(getter, \"a\", getter), getter;\n }, __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }, __webpack_require__.p = \"\", __webpack_require__(__webpack_require__.s = 7);\n }([function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n return \"Object\" === n && o.constructor && (n = o.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(o) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(o, minLen) : void 0;\n }\n }\n\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(arr)) {\n var _arr = [],\n _n = !0,\n _d = !1,\n _e = void 0;\n\n try {\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !i || _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n _n || null == _i.return || _i.return();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1),\n __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),\n __WEBPACK_IMPORTED_MODULE_1_matchmediaquery__ = __webpack_require__(8),\n __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__),\n __WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__ = __webpack_require__(2),\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__ = __webpack_require__(10),\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__),\n __WEBPACK_IMPORTED_MODULE_4__toQuery__ = __webpack_require__(3),\n __WEBPACK_IMPORTED_MODULE_5__Context__ = __webpack_require__(6),\n makeQuery = function makeQuery(settings) {\n return settings.query || Object(__WEBPACK_IMPORTED_MODULE_4__toQuery__.a)(settings);\n },\n hyphenateKeys = function hyphenateKeys(obj) {\n if (!obj) return null;\n var keys = Object.keys(obj);\n return 0 === keys.length ? null : keys.reduce(function (result, key) {\n return result[Object(__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__.a)(key)] = obj[key], result;\n }, {});\n },\n useIsUpdate = function useIsUpdate() {\n var ref = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useRef(!1);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n ref.current = !0;\n }, []), ref.current;\n },\n useDevice = function useDevice(deviceFromProps) {\n var deviceFromContext = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useContext(__WEBPACK_IMPORTED_MODULE_5__Context__.a),\n getDevice = function getDevice() {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n },\n _React$useState = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getDevice),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n device = _React$useState2[0],\n setDevice = _React$useState2[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var newDevice = getDevice();\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default()(device, newDevice) || setDevice(newDevice);\n }, [deviceFromProps, deviceFromContext]), device;\n },\n useQuery = function useQuery(settings) {\n var getQuery = function getQuery() {\n return makeQuery(settings);\n },\n _React$useState3 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getQuery),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n query = _React$useState4[0],\n setQuery = _React$useState4[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var newQuery = getQuery();\n query !== newQuery && setQuery(newQuery);\n }, [settings]), query;\n },\n useMatchMedia = function useMatchMedia(query, device) {\n var getMatchMedia = function getMatchMedia() {\n return __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default()(query, device || {}, !!device);\n },\n _React$useState5 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getMatchMedia),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n mq = _React$useState6[0],\n setMq = _React$useState6[1],\n isUpdate = useIsUpdate();\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n return isUpdate && setMq(getMatchMedia()), function () {\n mq.dispose();\n };\n }, [query, device]), mq;\n },\n useMatches = function useMatches(mediaQuery) {\n var _React$useState7 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(mediaQuery.matches),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n matches = _React$useState8[0],\n setMatches = _React$useState8[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var updateMatches = function updateMatches() {\n setMatches(mediaQuery.matches);\n };\n\n return mediaQuery.addListener(updateMatches), updateMatches(), function () {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]), matches;\n },\n useMediaQuery = function useMediaQuery(settings, device, onChange) {\n var deviceSettings = useDevice(device),\n query = useQuery(settings);\n if (!query) throw new Error(\"Invalid or missing MediaQuery!\");\n var mq = useMatchMedia(query, deviceSettings),\n matches = useMatches(mq),\n isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n isUpdate && onChange && onChange(matches);\n }, [matches]), matches;\n };\n\n __webpack_exports__.a = useMediaQuery;\n }, function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function toHyphenLower(match) {\n return \"-\" + match.toLowerCase();\n }\n\n function hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) return cache[name];\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \"-\" + hName : hName;\n }\n\n var uppercasePattern = /[A-Z]/g,\n msPattern = /^ms-/,\n cache = {};\n __webpack_exports__.a = hyphenateStyleName;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n var __WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__ = __webpack_require__(2),\n __WEBPACK_IMPORTED_MODULE_1__mediaQuery__ = __webpack_require__(11),\n negate = function negate(cond) {\n return \"not \".concat(cond);\n },\n keyVal = function keyVal(k, v) {\n var realKey = Object(__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__.a)(k);\n return \"number\" == typeof v && (v = \"\".concat(v, \"px\")), !0 === v ? realKey : !1 === v ? negate(realKey) : \"(\".concat(realKey, \": \").concat(v, \")\");\n },\n join = function join(conds) {\n return conds.join(\" and \");\n },\n toQuery = function toQuery(obj) {\n var rules = [];\n return Object.keys(__WEBPACK_IMPORTED_MODULE_1__mediaQuery__.a.all).forEach(function (k) {\n var v = obj[k];\n null != v && rules.push(keyVal(k, v));\n }), join(rules);\n };\n\n __webpack_exports__.a = toQuery;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = __webpack_require__(13);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1),\n __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),\n Context = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext();\n\n __webpack_exports__.a = Context;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n });\n\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0),\n __WEBPACK_IMPORTED_MODULE_1__Component__ = __webpack_require__(17),\n __WEBPACK_IMPORTED_MODULE_2__toQuery__ = __webpack_require__(3),\n __WEBPACK_IMPORTED_MODULE_3__Context__ = __webpack_require__(6);\n\n __webpack_require__.d(__webpack_exports__, \"default\", function () {\n return __WEBPACK_IMPORTED_MODULE_1__Component__.a;\n }), __webpack_require__.d(__webpack_exports__, \"useMediaQuery\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"toQuery\", function () {\n return __WEBPACK_IMPORTED_MODULE_2__toQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"Context\", function () {\n return __WEBPACK_IMPORTED_MODULE_3__Context__.a;\n });\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function Mql(query, values, forceStatic) {\n function addListener(listener) {\n mql && mql.addListener(listener);\n }\n\n function removeListener(listener) {\n mql && mql.removeListener(listener);\n }\n\n function update(evt) {\n self.matches = evt.matches, self.media = evt.media;\n }\n\n function dispose() {\n mql && mql.removeListener(update);\n }\n\n var self = this;\n\n if (dynamicMatch && !forceStatic) {\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches, this.media = mql.media, mql.addListener(update);\n } else this.matches = staticMatch(query, values), this.media = query;\n\n this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose;\n }\n\n function matchMedia(query, values, forceStatic) {\n return new Mql(query, values, forceStatic);\n }\n\n var staticMatch = __webpack_require__(9).match,\n dynamicMatch = \"undefined\" != typeof window ? window.matchMedia : null;\n\n module.exports = matchMedia;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse,\n typeMatch = \"all\" === query.type || values.type === query.type;\n if (typeMatch && inverse || !typeMatch && !inverse) return !1;\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n if (!value) return !1;\n\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue), value = toPx(value);\n break;\n\n case \"resolution\":\n expValue = toDpi(expValue), value = toDpi(value);\n break;\n\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case \"device-pixel-ratio\":\n expValue = toDecimal(expValue), value = toDecimal(value);\n break;\n\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0;\n }\n\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n\n case \"max\":\n return value <= expValue;\n\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n }\n\n function parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map(function (query) {\n query = query.trim();\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || \"\",\n parsed = {};\n return parsed.inverse = !!modifier && \"not\" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : \"all\", expressions = expressions.match(/\\([^\\)]+\\)/g) || [], parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures[2]\n };\n }), parsed;\n });\n }\n\n function toDecimal(ratio) {\n var numbers,\n decimal = Number(ratio);\n return decimal || (numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/), decimal = numbers[1] / numbers[2]), decimal;\n }\n\n function toDpi(resolution) {\n var value = parseFloat(resolution);\n\n switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) {\n case \"dpcm\":\n return value / 2.54;\n\n case \"dppx\":\n return 96 * value;\n\n default:\n return value;\n }\n }\n\n function toPx(length) {\n var value = parseFloat(length);\n\n switch (String(length).match(RE_LENGTH_UNIT)[1]) {\n case \"em\":\n case \"rem\":\n return 16 * value;\n\n case \"cm\":\n return 96 * value / 2.54;\n\n case \"mm\":\n return 96 * value / 2.54 / 10;\n\n case \"in\":\n return 96 * value;\n\n case \"pt\":\n return 72 * value;\n\n case \"pc\":\n return 72 * value / 12;\n\n default:\n return value;\n }\n }\n\n exports.match = matchQuery, exports.parse = parseQuery;\n var RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function shallowEqualObjects(objA, objB) {\n if (objA === objB) return !0;\n if (!objA || !objB) return !1;\n var aKeys = Object.keys(objA),\n bKeys = Object.keys(objB),\n len = aKeys.length;\n if (bKeys.length !== len) return !1;\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) return !1;\n }\n\n return !0;\n }\n\n module.exports = shallowEqualObjects;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n return key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n\n var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(12),\n __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),\n stringOrNumber = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number]),\n matchers = {\n orientation: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([\"portrait\", \"landscape\"]),\n scan: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([\"progressive\", \"interlace\"]),\n aspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n deviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n colorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n monochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n resolution: stringOrNumber\n },\n features = _objectSpread({\n minAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n }, matchers),\n types = {\n all: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n grid: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n aural: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n braille: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n handheld: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n print: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n projection: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n screen: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tty: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tv: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n embossed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool\n },\n all = _objectSpread(_objectSpread({}, types), features);\n\n matchers.type = Object.keys(types), __webpack_exports__.a = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n };\n }, function (module, exports, __webpack_require__) {\n var ReactIs = __webpack_require__(4);\n\n module.exports = __webpack_require__(14)(ReactIs.isElement, !0);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n !function () {\n function isValidElementType(type) {\n return \"string\" == typeof type || \"function\" == typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || \"object\" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n\n function typeOf(object) {\n if (\"object\" == typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n\n function isAsyncMode(object) {\n return hasWarnedAboutDeprecatedIsAsyncMode || (hasWarnedAboutDeprecatedIsAsyncMode = !0, console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")), isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n\n function isElement(object) {\n return \"object\" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n\n var hasSymbol = \"function\" == typeof Symbol && Symbol.for,\n REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for(\"react.element\") : 60103,\n REACT_PORTAL_TYPE = hasSymbol ? Symbol.for(\"react.portal\") : 60106,\n REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for(\"react.fragment\") : 60107,\n REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.strict_mode\") : 60108,\n REACT_PROFILER_TYPE = hasSymbol ? Symbol.for(\"react.profiler\") : 60114,\n REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for(\"react.provider\") : 60109,\n REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for(\"react.context\") : 60110,\n REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for(\"react.async_mode\") : 60111,\n REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.concurrent_mode\") : 60111,\n REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for(\"react.forward_ref\") : 60112,\n REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for(\"react.suspense\") : 60113,\n REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for(\"react.suspense_list\") : 60120,\n REACT_MEMO_TYPE = hasSymbol ? Symbol.for(\"react.memo\") : 60115,\n REACT_LAZY_TYPE = hasSymbol ? Symbol.for(\"react.lazy\") : 60116,\n REACT_BLOCK_TYPE = hasSymbol ? Symbol.for(\"react.block\") : 60121,\n REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for(\"react.fundamental\") : 60117,\n REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for(\"react.responder\") : 60118,\n REACT_SCOPE_TYPE = hasSymbol ? Symbol.for(\"react.scope\") : 60119,\n AsyncMode = REACT_ASYNC_MODE_TYPE,\n ConcurrentMode = REACT_CONCURRENT_MODE_TYPE,\n ContextConsumer = REACT_CONTEXT_TYPE,\n ContextProvider = REACT_PROVIDER_TYPE,\n Element = REACT_ELEMENT_TYPE,\n ForwardRef = REACT_FORWARD_REF_TYPE,\n Fragment = REACT_FRAGMENT_TYPE,\n Lazy = REACT_LAZY_TYPE,\n Memo = REACT_MEMO_TYPE,\n Portal = REACT_PORTAL_TYPE,\n Profiler = REACT_PROFILER_TYPE,\n StrictMode = REACT_STRICT_MODE_TYPE,\n Suspense = REACT_SUSPENSE_TYPE,\n hasWarnedAboutDeprecatedIsAsyncMode = !1;\n exports.AsyncMode = AsyncMode, exports.ConcurrentMode = ConcurrentMode, exports.ContextConsumer = ContextConsumer, exports.ContextProvider = ContextProvider, exports.Element = Element, exports.ForwardRef = ForwardRef, exports.Fragment = Fragment, exports.Lazy = Lazy, exports.Memo = Memo, exports.Portal = Portal, exports.Profiler = Profiler, exports.StrictMode = StrictMode, exports.Suspense = Suspense, exports.isAsyncMode = isAsyncMode, exports.isConcurrentMode = isConcurrentMode, exports.isContextConsumer = isContextConsumer, exports.isContextProvider = isContextProvider, exports.isElement = isElement, exports.isForwardRef = isForwardRef, exports.isFragment = isFragment, exports.isLazy = isLazy, exports.isMemo = isMemo, exports.isPortal = isPortal, exports.isProfiler = isProfiler, exports.isStrictMode = isStrictMode, exports.isSuspense = isSuspense, exports.isValidElementType = isValidElementType, exports.typeOf = typeOf;\n }();\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function emptyFunctionThatReturnsNull() {\n return null;\n }\n\n var ReactIs = __webpack_require__(4),\n assign = __webpack_require__(15),\n ReactPropTypesSecret = __webpack_require__(5),\n checkPropTypes = __webpack_require__(16),\n has = Function.call.bind(Object.prototype.hasOwnProperty),\n printWarning = function printWarning() {};\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, module.exports = function (isValidElement, throwOnDirectAccess) {\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (\"function\" == typeof iteratorFn) return iteratorFn;\n }\n\n function is(x, y) {\n return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y;\n }\n\n function PropTypeError(message) {\n this.message = message, this.stack = \"\";\n }\n\n function createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n var err = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n if (\"undefined\" != typeof console) {\n var cacheKey = componentName + \":\" + propName;\n !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (printWarning(\"You are manually calling a React.PropTypes validation function for the `\" + propFullName + \"` prop on `\" + componentName + \"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"), manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++);\n }\n }\n\n return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `null`.\" : \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `undefined`.\") : null : validate(props, propName, componentName, location, propFullName);\n }\n\n var manualPropTypeCallCache = {},\n manualPropTypeWarningCount = 0,\n chainedCheckType = checkType.bind(null, !1);\n return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n if (getPropType(propValue) !== expectedType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPreciseType(propValue) + \"` supplied to `\" + componentName + \"`, expected `\" + expectedType + \"`.\");\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside arrayOf.\");\n var propValue = props[propName];\n\n if (!Array.isArray(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected an array.\");\n }\n\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + \"[\" + i + \"]\", ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getClassName(props[propName]) + \"` supplied to `\" + componentName + \"`, expected instance of `\" + expectedClassName + \"`.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) return null;\n }\n\n var valuesString = JSON.stringify(expectedValues, function (key, value) {\n return \"symbol\" === getPreciseType(value) ? String(value) : value;\n });\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of value `\" + String(propValue) + \"` supplied to `\" + componentName + \"`, expected one of \" + valuesString + \".\");\n }\n\n return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (printWarning(arguments.length > 1 ? \"Invalid arguments supplied to oneOf, expected an array, got \" + arguments.length + \" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\" : \"Invalid argument supplied to oneOf, expected an array.\"), emptyFunctionThatReturnsNull);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside objectOf.\");\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected an object.\");\n\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n if (null == (0, arrayOfTypeCheckers[i])(props, propName, componentName, location, propFullName, ReactPropTypesSecret)) return null;\n }\n\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`.\");\n }\n\n if (!Array.isArray(arrayOfTypeCheckers)) return printWarning(\"Invalid argument supplied to oneOfType, expected an instance of array.\"), emptyFunctionThatReturnsNull;\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (\"function\" != typeof checker) return printWarning(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \" + getPostfixForTypeWarning(checker) + \" at index \" + i + \".\"), emptyFunctionThatReturnsNull;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n\n if (checker) {\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n var allKeys = assign({}, props[propName], shapeTypes);\n\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` key `\" + key + \"` supplied to `\" + componentName + \"`.\\nBad object: \" + JSON.stringify(props[propName], null, \" \") + \"\\nValid keys: \" + JSON.stringify(Object.keys(shapeTypes), null, \" \"));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case \"number\":\n case \"string\":\n case \"undefined\":\n return !0;\n\n case \"boolean\":\n return !propValue;\n\n case \"object\":\n if (Array.isArray(propValue)) return propValue.every(isNode);\n if (null === propValue || isValidElement(propValue)) return !0;\n var iteratorFn = getIteratorFn(propValue);\n if (!iteratorFn) return !1;\n var step,\n iterator = iteratorFn.call(propValue);\n\n if (iteratorFn !== propValue.entries) {\n for (; !(step = iterator.next()).done;) {\n if (!isNode(step.value)) return !1;\n }\n } else for (; !(step = iterator.next()).done;) {\n var entry = step.value;\n if (entry && !isNode(entry[1])) return !1;\n }\n\n return !0;\n\n default:\n return !1;\n }\n }\n\n function isSymbol(propType, propValue) {\n return \"symbol\" === propType || !!propValue && (\"Symbol\" === propValue[\"@@toStringTag\"] || \"function\" == typeof Symbol && propValue instanceof Symbol);\n }\n\n function getPropType(propValue) {\n var propType = typeof propValue;\n return Array.isArray(propValue) ? \"array\" : propValue instanceof RegExp ? \"object\" : isSymbol(propType, propValue) ? \"symbol\" : propType;\n }\n\n function getPreciseType(propValue) {\n if (void 0 === propValue || null === propValue) return \"\" + propValue;\n var propType = getPropType(propValue);\n\n if (\"object\" === propType) {\n if (propValue instanceof Date) return \"date\";\n if (propValue instanceof RegExp) return \"regexp\";\n }\n\n return propType;\n }\n\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n\n switch (type) {\n case \"array\":\n case \"object\":\n return \"an \" + type;\n\n case \"boolean\":\n case \"date\":\n case \"regexp\":\n return \"a \" + type;\n\n default:\n return type;\n }\n }\n\n function getClassName(propValue) {\n return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS;\n }\n\n var ITERATOR_SYMBOL = \"function\" == typeof Symbol && Symbol.iterator,\n FAUX_ITERATOR_SYMBOL = \"@@iterator\",\n ANONYMOUS = \"<>\",\n ReactPropTypes = {\n array: createPrimitiveTypeChecker(\"array\"),\n bool: createPrimitiveTypeChecker(\"boolean\"),\n func: createPrimitiveTypeChecker(\"function\"),\n number: createPrimitiveTypeChecker(\"number\"),\n object: createPrimitiveTypeChecker(\"object\"),\n string: createPrimitiveTypeChecker(\"string\"),\n symbol: createPrimitiveTypeChecker(\"symbol\"),\n any: function () {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }(),\n arrayOf: createArrayOfTypeChecker,\n element: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!isValidElement(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n elementType: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!ReactIs.isValidElementType(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement type.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n instanceOf: createInstanceTypeChecker,\n node: function () {\n function validate(props, propName, componentName, location, propFullName) {\n return isNode(props[propName]) ? null : new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected a ReactNode.\");\n }\n\n return createChainableTypeChecker(validate);\n }(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache, ReactPropTypes.PropTypes = ReactPropTypes, ReactPropTypes;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function toObject(val) {\n if (null === val || void 0 === val) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(val);\n }\n /*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n */\n\n\n var getOwnPropertySymbols = Object.getOwnPropertySymbols,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n propIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function () {\n try {\n if (!Object.assign) return !1;\n var test1 = new String(\"abc\");\n if (test1[5] = \"de\", \"5\" === Object.getOwnPropertyNames(test1)[0]) return !1;\n\n for (var test2 = {}, i = 0; i < 10; i++) {\n test2[\"_\" + String.fromCharCode(i)] = i;\n }\n\n if (\"0123456789\" !== Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n }).join(\"\")) return !1;\n var test3 = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function (letter) {\n test3[letter] = letter;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, test3)).join(\"\");\n } catch (err) {\n return !1;\n }\n }() ? Object.assign : function (target, source) {\n for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n hasOwnProperty.call(from, key) && (to[key] = from[key]);\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]);\n }\n }\n }\n\n return to;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n\n try {\n if (\"function\" != typeof typeSpecs[typeSpecName]) {\n var err = Error((componentName || \"React class\") + \": \" + location + \" type `\" + typeSpecName + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof typeSpecs[typeSpecName] + \"`.\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n\n if (!error || error instanceof Error || printWarning((componentName || \"React class\") + \": type specification of \" + location + \" `\" + typeSpecName + \"` is invalid; the type checker function must return `null` or an `Error` but returned a \" + typeof error + \". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"), error instanceof Error && !(error.message in loggedTypeFailures)) {\n loggedTypeFailures[error.message] = !0;\n var stack = getStack ? getStack() : \"\";\n printWarning(\"Failed \" + location + \" type: \" + error.message + (null != stack ? stack : \"\"));\n }\n }\n }\n }\n\n var printWarning = function printWarning() {},\n ReactPropTypesSecret = __webpack_require__(5),\n loggedTypeFailures = {},\n has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, checkPropTypes.resetWarningCache = function () {\n loggedTypeFailures = {};\n }, module.exports = checkPropTypes;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function _objectWithoutProperties(source, excluded) {\n if (null == source) return {};\n\n var key,\n i,\n target = _objectWithoutPropertiesLoose(source, excluded);\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i], excluded.indexOf(key) >= 0 || Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);\n }\n }\n\n return target;\n }\n\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (null == source) return {};\n var key,\n i,\n target = {},\n sourceKeys = Object.keys(source);\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i], excluded.indexOf(key) >= 0 || (target[key] = source[key]);\n }\n\n return target;\n }\n\n function MediaQuery(_ref) {\n var children = _ref.children,\n device = _ref.device,\n onChange = _ref.onChange,\n settings = _objectWithoutProperties(_ref, [\"children\", \"device\", \"onChange\"]),\n matches = Object(__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a)(settings, device, onChange);\n\n return \"function\" == typeof children ? children(matches) : matches ? children : null;\n }\n\n __webpack_exports__.a = MediaQuery;\n\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0);\n }]);\n});","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as s, useMemo as i, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\n\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var r in n) {\n Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar g = function g(e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) {\n n.push(t[r], e[r + 1]);\n }\n\n return n;\n},\n S = function S(t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n},\n w = Object.freeze([]),\n E = Object.freeze({});\n\nfunction b(e) {\n return \"function\" == typeof e;\n}\n\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\n\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\n\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.2.1\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\n\",\n 2: \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n 3: \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n 4: \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n 5: \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n 6: \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document ``\\n\\n\",\n 10: \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n 11: \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n 13: \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n} : {};\n\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) {\n t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n }\n\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\n\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\n\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) {\n t += this.groupSizes[n];\n }\n\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) {\n (o <<= 1) < 0 && j(16, \"\" + e);\n }\n\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n\n for (var s = r; s < o; s++) {\n this.groupSizes[s] = 0;\n }\n }\n\n for (var i = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) {\n this.tag.insertRule(i, t[a]) && (this.groupSizes[e]++, i++);\n }\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n\n for (var o = n; o < r; o++) {\n this.tag.deleteRule(n);\n }\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, s = r; s < o; s++) {\n t += this.tag.getRule(s) + \"/*!sc*/\\n\";\n }\n\n return t;\n }, e;\n}(),\n k = new Map(),\n x = new Map(),\n V = 1,\n B = function B(e) {\n if (k.has(e)) return k.get(e);\n\n for (; x.has(V);) {\n V++;\n }\n\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), k.set(e, t), x.set(t, e), t;\n},\n M = function M(e) {\n return x.get(e);\n},\n z = function z(e, t) {\n k.set(e, t), x.set(t, e);\n},\n L = \"style[\" + A + '][data-styled-version=\"5.2.1\"]',\n G = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function F(e, t, n) {\n for (var r, o = n.split(\",\"), s = 0, i = o.length; s < i; s++) {\n (r = o[s]) && e.registerName(t, r);\n }\n},\n Y = function Y(e, t) {\n for (var n = t.innerHTML.split(\"/*!sc*/\\n\"), r = [], o = 0, s = n.length; o < s; o++) {\n var i = n[o].trim();\n\n if (i) {\n var a = i.match(G);\n\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (z(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(i);\n }\n }\n},\n q = function q() {\n return \"undefined\" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;\n},\n H = function H(e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n s = void 0 !== o ? o.nextSibling : null;\n\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.2.1\");\n var i = q();\n return i && r.setAttribute(\"nonce\", i), n.insertBefore(r, s), r;\n},\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n\n j(17);\n }(t), this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n}(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n}(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n}(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n},\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), !this.options.isServer && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(L), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n\n e.registerId = function (e) {\n return B(e);\n };\n\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var s = M(o);\n\n if (void 0 !== s) {\n var i = e.names.get(s),\n a = t.getGroup(o);\n\n if (void 0 !== i && 0 !== a.length) {\n var c = A + \".g\" + o + '[id=\"' + s + '\"]',\n u = \"\";\n void 0 !== i && i.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n\n return r;\n }(this);\n }, e;\n}(),\n K = /(a)(d)/gi,\n Q = function Q(e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\n\nfunction ee(e) {\n var t,\n n = \"\";\n\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) {\n n = Q(t % 52) + n;\n }\n\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\n\nvar te = function te(e, t) {\n for (var n = t.length; n;) {\n e = 33 * e ^ t.charCodeAt(--n);\n }\n\n return e;\n},\n ne = function ne(e) {\n return te(5381, e);\n};\n\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n\n return !0;\n}\n\nvar oe = ne(\"5.2.1\"),\n se = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var s = Ne(this.rules, e, t, n).join(\"\"),\n i = ee(te(this.baseHash, s.length) >>> 0);\n\n if (!t.hasNameForId(r, i)) {\n var a = n(s, \".\" + i, void 0, r);\n t.insertRules(r, i, a);\n }\n\n o.push(i), this.staticRulesId = i;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n\n if (l) {\n var m = ee(u >>> 0);\n\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n}(),\n ie = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\n\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n s = void 0 === e ? E : e,\n i = s.options,\n a = void 0 === i ? E : i,\n c = s.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n\n return function (n, r, o, s, i, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function f(e, r, s) {\n return 0 === r && ae.includes(s[n.length]) || s.match(o) ? e : \".\" + t;\n };\n\n function m(e, s, i, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(ie, \"\"),\n u = s && i ? i + \" \" + s + \" { \" + c + \" }\" : c;\n return t = a, n = s, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(i || !s ? \"\" : s, u);\n }\n\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\n\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\n\nfunction fe() {\n return s(ue) || he;\n}\n\nfunction me() {\n return s(de) || pe;\n}\n\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n s = t[1],\n c = fe(),\n u = i(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = i(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || s(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\n\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n}(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function Ee(e) {\n return \"-\" + e.toLowerCase();\n};\n\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\n\nvar _e = function _e(e) {\n return null == e || !1 === e || \"\" === e;\n};\n\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var s, i = [], a = 0, c = e.length; a < c; a += 1) {\n \"\" !== (s = Ne(e[a], n, r, o)) && (Array.isArray(s) ? i.push.apply(i, s) : i.push(s));\n }\n\n return i;\n }\n\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"), Ne(u, n, r, o);\n }\n\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n s = [];\n\n for (var i in t) {\n t.hasOwnProperty(i) && !_e(t[i]) && (S(t[i]) ? s.push.apply(s, e(t[i], i)) : b(t[i]) ? s.push(be(i) + \":\", t[i], \";\") : s.push(be(i) + \": \" + (r = i, null == (o = t[i]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n }\n\n return n ? [n + \" {\"].concat(s, [\"}\"]) : s;\n }(e) : e.toString();\n}\n\nfunction Ae(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n return b(e) || S(e) ? Ne(g(w, [e].concat(n))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ne(g(e, n));\n}\n\nvar Ce = /invalid hook call/i,\n Ie = new Set(),\n Pe = function Pe(e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\";\n\n try {\n c(), Ie.has(n) || (console.warn(n), Ie.add(n));\n } catch (e) {\n Ce.test(e.message) && Ie.delete(n);\n }\n }\n},\n Oe = function Oe(e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n},\n Re = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n De = /(^-|-$)/g;\n\nfunction je(e) {\n return e.replace(Re, \"-\").replace(De, \"\");\n}\n\nvar Te = function Te(e) {\n return ee(ne(e) >>> 0);\n};\n\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\n\nvar xe = function xe(e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n},\n Ve = function Ve(e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n};\n\nfunction Be(e, t, n) {\n var r = e[n];\n xe(t) && xe(r) ? Me(r, t) : e[n] = t;\n}\n\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n for (var o = 0, s = n; o < s.length; o++) {\n var i = s[o];\n if (xe(i)) for (var a in i) {\n Ve(a) && Be(e, i[a], a);\n }\n }\n\n return e;\n}\n\nvar ze = r.createContext(),\n Le = ze.Consumer;\n\nfunction Ge(e) {\n var t = s(ze),\n n = i(function () {\n return function (e, t) {\n if (!e) return j(14);\n\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(ze.Provider, {\n value: n\n }, e.children) : null;\n}\n\nvar Fe = {};\n\nfunction Ye(e, t, n) {\n var o = N(e),\n i = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : je(e);\n Fe[n] = (Fe[n] || 0) + 1;\n var r = n + \"-\" + Te(\"5.2.1\" + n + Fe[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? je(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r) {\n return e.shouldForwardProp(n, r) && t.shouldForwardProp(n, r);\n } : e.shouldForwardProp);\n\n var C,\n I = new se(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function O(e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n i = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n s,\n i = e;\n\n for (t in b(i) && (i = i(r)), i) {\n r[t] = o[t] = \"className\" === t ? (n = o[t], s = i[t], n && s ? n + \" \" + s : n || s) : i[t];\n }\n }), [r, o];\n }(Oe(t, s(ze), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n s = me(),\n i = t ? e.generateAndInjectStyles(E, o, s) : e.generateAndInjectStyles(n, o, s);\n return \"production\" !== process.env.NODE_ENV && l(i), \"production\" !== process.env.NODE_ENV && !t && r && r(i), i;\n }(i, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n\n for (var I in A) {\n \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m) : !N || m(I)) && (C[I] = A[I]));\n }\n\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n s = Object.keys(e);\n\n for (r = 0; r < s.length; r++) {\n n = s[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n }\n\n return o;\n }(t, [\"componentId\"]),\n s = r && r + \"-\" + (ke(e) ? e : je(_(e)));\n\n return Ye(e, v({}, o, {\n attrs: S,\n componentId: s\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Pe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var s = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + s + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, i && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\n\nvar qe = function qe(e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n\n var s = function s() {\n return t(r, o, Ae.apply(void 0, arguments));\n };\n\n return s.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, s.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, s;\n }(Ye, e);\n};\n\n[\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"tspan\"].forEach(function (e) {\n qe[e] = qe(e);\n});\n\nvar He = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n s = this.componentId + e;\n n.insertRules(s, s, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\n\nfunction $e(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) {\n n[o - 1] = arguments[o];\n }\n\n var i = Ae.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + Te(JSON.stringify(i)),\n u = new He(i, a);\n\n function l(e) {\n var t = fe(),\n n = me(),\n o = s(ze),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && i.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"), d(function () {\n return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var s = v({}, t, {\n theme: Oe(t, r, l.defaultProps)\n });\n u.renderStyles(e, s, n, o);\n }\n }\n\n return \"production\" !== process.env.NODE_ENV && Pe(a), r.memo(l);\n}\n\nfunction We(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n var o = Ae.apply(void 0, [e].concat(n)).join(\"\"),\n s = Te(o);\n return new ve(s, o);\n}\n\nvar Ue = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString(),\n n = q();\n return \"\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.2.1\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n}(),\n Je = function Je(e) {\n var t = r.forwardRef(function (t, n) {\n var o = s(ze),\n i = e.defaultProps,\n a = Oe(t, o, i);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n},\n Xe = function Xe() {\n return s(ze);\n},\n Ze = {\n StyleSheet: Z,\n masterSheet: he\n};\n\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default qe;\nexport { Ue as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, ze as ThemeContext, Ge as ThemeProvider, Ze as __PRIVATE__, $e as createGlobalStyle, Ae as css, N as isStyledComponent, We as keyframes, Xe as useTheme, C as version, Je as withTheme };"],"sourceRoot":""}