{"version":3,"sources":["../node_modules/rc-tooltip/node_modules/react-is/index.js","../node_modules/rc-tooltip/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/rc-motion/node_modules/react-is/index.js","../node_modules/rc-motion/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/i18next/dist/es/logger.js","../node_modules/i18next/dist/es/EventEmitter.js","../node_modules/i18next/dist/es/utils.js","../node_modules/i18next/dist/es/ResourceStore.js","../node_modules/i18next/dist/es/postProcessor.js","../node_modules/i18next/dist/es/Translator.js","../node_modules/i18next/dist/es/LanguageUtils.js","../node_modules/i18next/dist/es/PluralResolver.js","../node_modules/i18next/dist/es/Interpolator.js","../node_modules/i18next/dist/es/BackendConnector.js","../node_modules/i18next/dist/es/CacheConnector.js","../node_modules/i18next/dist/es/defaults.js","../node_modules/i18next/dist/es/i18next.js","../node_modules/i18next/dist/es/index.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/classnames/index.js","../node_modules/rc-tooltip/node_modules/rc-util/es/raf.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Dom/contains.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Dom/findDOMNode.js","../node_modules/rc-tooltip/node_modules/rc-util/es/React/isFragment.js","../node_modules/rc-tooltip/node_modules/rc-util/es/ref.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Portal.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/utils/alignUtil.js","../node_modules/rc-motion/node_modules/rc-util/es/Dom/findDOMNode.js","../node_modules/rc-motion/node_modules/rc-util/es/React/isFragment.js","../node_modules/rc-motion/node_modules/rc-util/es/ref.js","../node_modules/rc-motion/es/context.js","../node_modules/rc-motion/es/DomWrapper.js","../node_modules/rc-motion/node_modules/rc-util/es/hooks/useEvent.js","../node_modules/rc-motion/node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/rc-motion/node_modules/rc-util/es/hooks/useLayoutEffect.js","../node_modules/rc-motion/node_modules/rc-util/es/hooks/useState.js","../node_modules/rc-motion/node_modules/rc-util/es/utils/set.js","../node_modules/rc-motion/node_modules/rc-util/es/warning.js","../node_modules/rc-motion/es/interface.js","../node_modules/rc-motion/es/util/motion.js","../node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/rc-motion/node_modules/rc-util/es/raf.js","../node_modules/rc-motion/es/hooks/useStepQueue.js","../node_modules/rc-motion/es/hooks/useNextFrame.js","../node_modules/rc-motion/es/hooks/useStatus.js","../node_modules/rc-motion/node_modules/rc-util/es/hooks/useSyncState.js","../node_modules/rc-motion/es/CSSMotion.js","../node_modules/rc-motion/es/util/diff.js","../node_modules/rc-motion/es/CSSMotionList.js","../node_modules/rc-motion/es/index.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/utils/legacyUtil.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/Mask.js","../node_modules/rc-tooltip/node_modules/rc-util/es/warning.js","../node_modules/rc-tooltip/node_modules/rc-util/es/isEqual.js","../node_modules/rc-tooltip/node_modules/rc-util/es/hooks/useLayoutEffect.js","../node_modules/rc-tooltip/node_modules/rc-align/es/util.js","../node_modules/rc-tooltip/node_modules/rc-align/es/Align.js","../node_modules/rc-tooltip/node_modules/rc-align/es/hooks/useBuffer.js","../node_modules/rc-tooltip/node_modules/rc-util/es/Dom/isVisible.js","../node_modules/rc-tooltip/node_modules/rc-align/es/index.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/useVisibleStatus.js","../node_modules/rc-tooltip/node_modules/rc-util/es/hooks/useState.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/PopupInner.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/useStretchStyle.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/MobilePopupInner.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/Popup/index.js","../node_modules/rc-tooltip/node_modules/rc-util/es/isMobile.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/context.js","../node_modules/rc-tooltip/node_modules/rc-trigger/es/index.js","../node_modules/rc-tooltip/es/placements.js","../node_modules/rc-tooltip/es/Popup.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/react-i18next/dist/es/shallowEqual.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/I18n.js","../node_modules/react-i18next/dist/es/translate.js","../node_modules/react-i18next/dist/es/Interpolate.js","../node_modules/react-i18next/dist/es/Trans.js","../node_modules/react-i18next/dist/es/I18nextProvider.js","../node_modules/react-i18next/dist/es/loadNamespaces.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/propertyUtils.js","../../../src/utils.js","../../../src/getOffsetParent.js","../../../src/isAncestorFixed.js","../../../src/getVisibleRectForElement.js","../../../src/getRegion.js","../../../src/getAlignOffset.js","../../../src/getElFuturePos.js","../../../src/align/align.js","../../../src/adjustForViewport.js","../../../src/align/alignElement.js","../../../src/align/alignPoint.js","../node_modules/react-i18next/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/html-parse-stringify2/index.js","../node_modules/html-parse-stringify2/lib/parse.js","../node_modules/html-parse-stringify2/lib/parse-tag.js","../node_modules/void-elements/index.js","../node_modules/html-parse-stringify2/lib/stringify.js","../node_modules/i18next-xhr-backend/index.js","../node_modules/i18next-xhr-backend/dist/commonjs/index.js","../node_modules/i18next-xhr-backend/dist/commonjs/utils.js","../node_modules/i18next-xhr-backend/dist/commonjs/ajax.js","../node_modules/i18next-browser-languagedetector/index.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/index.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/utils.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/cookie.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/querystring.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/localStorage.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/navigator.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/htmlTag.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/path.js","../node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/subdomain.js"],"names":["module","exports","require","u","b","Symbol","for","c","d","e","f","g","h","k","l","m","n","p","q","t","v","a","r","$$typeof","type","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","MapShim","Map","getIndex","arr","key","result","some","entry","index","class_1","this","__entries__","Object","defineProperty","prototype","get","length","enumerable","configurable","set","value","push","delete","entries","splice","has","clear","forEach","callback","ctx","_i","_a","call","isBrowser","window","document","global$1","global","Math","self","Function","requestAnimationFrame$1","requestAnimationFrame","bind","setTimeout","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","props","keys","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","arguments","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","create","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","apply","_extends","assign","i","source","hasOwnProperty","consoleLogger","log","args","output","warn","error","_console","console","Array","isArray","arr2","from","_toConsumableArray","Logger","concreteLogger","options","undefined","instance","Constructor","_classCallCheck","init","prefix","logger","debug","setDebug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","on","events","listener","split","event","off","_this2","emit","concat","_ref","makeString","object","getLastOfPath","path","Empty","cleanKey","replace","canNotTraverseDeeper","stack","shift","obj","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","prop","String","regexEscape","str","_entityMap","escape","data","s","_inherits","subClass","superClass","constructor","setPrototypeOf","defaults","getOwnPropertyNames","getOwnPropertyDescriptor","_defaults","ResourceStore","_EventEmitter","ns","defaultNS","ReferenceError","_possibleConstructorReturn","addNamespaces","removeNamespaces","getResource","lng","keySeparator","utils","addResource","silent","addResources","resources","addResourceBundle","deep","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","toJSON","processors","addPostProcessor","name","handle","translator","processor","process","_typeof","iterator","Translator","services","baseLogger","changeLanguage","language","exists","interpolation","resolved","resolve","res","extractFromKey","nsSeparator","namespaces","parts","join","translate","overloadTranslationOptionHandler","_extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resType","toString","joinArrays","returnObjects","returnedObjectHandler","copy","deepKey","extendTranslation","usedDefault","isValidLookup","defaultValue","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","count","pluralResolver","getPluralFormsOfKey","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","interpolator","defaultVariables","interpolate","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessor","_this4","found","extracted","fallbackNS","needsPluralHandling","needsContextHandling","context","codes","code","finalKey","finalKeys","pluralSuffix","getSuffix","contextSeparator","possibleKey","pop","returnNull","returnEmptyString","resourceStore","capitalize","string","charAt","toUpperCase","slice","LanguageUtil","whitelist","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","part","cleanCode","isWhitelisted","load","nonExplicitWhitelist","fallbacks","default","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","Number","PluralResolver","rules","numbers","plurals","createRules","addRule","getRule","needsPlural","rule","ret","suffix","idx","noAbs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","maxReplaces","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","nestingRegexp","match","replaces","regexSafe","val","handleFormat","trim","exec","lastIndex","missingInterpolationHandler","temp","clonedOptions","handleHasOptions","inheritedOptions","optionsString","JSON","parse","_slicedToArray","_arr","_n","_d","_e","_s","next","done","err","sliceIterator","Connector","backend","store","state","queue","queueLoad","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","errors","_name$split","_name$split2","_getLastOfPath2","what","remove","read","fcName","tried","wait","_this5","allowMultiLoading","readMulti","_name$split3","_name$split4","bundle","loadOne","reload","_this6","_this7","_name$split5","_name$split6","fallbackValue","isUpdate","cache","loadLngs","enabled","save","transformOptions","noop","I18n","modules","external","isInitialized","isClone","_ret","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","tDescription","_format","lu","LanguageUtils","cacheConnector","BackendConnector","CacheConnector","languageDetector","detection","_store","loadResources","append","reloadResources","use","setLng","cacheUserLanguage","async","detect","getFixedT","fixedT","opts","rest","_translator","_translator2","setDefaultNamespace","loadNamespaces","loadLanguages","preloaded","newLngs","dir","createInstance","cloneInstance","mergedOptions","clone","_len5","_key5","i18next","React","Component","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","forwardedRef","innerRef","navigate","onClick","ex","preventDefault","defaultPrevented","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","ref","Link","component","RouterContext","Consumer","history","location","href","createHref","isDuplicateNavigation","createPath","createElement","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","locationProp","sensitive","strict","styleProp","style","toLocation","pathname","escapedPath","matchPath","classnames","joinClassnames","arrayWithHoles","o","unsupportedIterableToArray","nonIterableRest","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","test","_unsupportedIterableToArray","_nonIterableSpread","len","camelize","chr","substr","_excluded$1","PRODUCTION","normalizeIconArgs","icon","iconName","objectWithKey","_excluded","FontAwesomeIcon","iconArgs","maskArgs","mask","symbol","title","titleId","maskId","iconLookup","classes","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","classList","transform","renderedIcon","abstract","extraProps","defaultProps","convertCurry","displayName","propTypes","PropTypes","oneOfType","array","oneOf","convert","element","children","child","mixins","acc","attrs","pair","startsWith","_extraProps$style","existingStyle","remaining","tag","_createSuper","Reflect","construct","hasOwn","classNames","arg","appendClass","parseValue","includes","newClass","raf","caf","num","clearTimeout","cancelAnimationFrame","rafUUID","rafIds","cleanup","id","wrapperRaf","callRef","leftTimes","realId","cancel","contains","root","node","parentNode","isDOM","HTMLElement","findDOMNode","_ReactDOM$findDOMNode","domNode","nativeElement","getDOM","ReactDOM","REACT_ELEMENT_TYPE_18","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","ReactMajorVersion","version","composeRef","refs","refList","Boolean","current","fillRef","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","render","isValidElement","addEventListenerWrap","eventType","cb","option","unstable_batchedUpdates","canUseDom","didUpdate","getContainer","parentRef","useRef","containerRef","useImperativeHandle","initRef","useEffect","appendChild","_containerRef$current","removeChild","createPortal","isPointsEq","a1","a2","isAlignPoint","Context","DomWrapper","_React$Component","_super","_createClass","useEvent","fnRef","memoFn","_fnRef$current","useSafeState","destroyRef","_React$useState","_React$useState2","setValue","updater","ignoreDestroy","warned","preWarningFns","warning","valid","message","note","warningOnce","preMessage","fn","resetWarned","noteOnce","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","eventName","prefixes","vendorPrefixes","domSupport","win","animationend","transitionend","animation","transition","getVendorPrefixes","canUseDOM","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","useIsomorphicLayoutEffect","useLayoutEffect","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","step","status","prepareOnly","_useState","useState","_useState2","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","nextStep","info","doNext","Promise","then","useStatus","supportMotion","visible","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","_useSyncState","_React$useReducer","forceUpdate","currentValueRef","useSyncState","_useSyncState2","getStatus","setStatus","_useState3","_useState4","setStyle","currentStatus","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","onInternalMotionEnd","deadline","canEnd","currentActive","_useDomMotionEvents","cacheElementRef","removeMotionEvents","useDomMotionEvents","patchMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","active","visibleRef","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","mergedStyle","_objectSpread","genCSSMotion","config","transitionSupport","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","contextMotion","isSupportTransition","motion","nodeRef","wrapperNodeRef","_useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","mergedProps","display","statusSuffix","motionCls","ele","getNodeRef","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","_excluded2","MOTION_PROP_NAMES","OriginCSSMotion","CSSMotionList","_assertThisInitialized","keyEntities","removeKey","setState","prevState","entity","onAllRemoved","_this$props","_onVisibleChanged","restProps","motionProps","_ref2","changedVisible","_ref3","_ref4","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","matchKey","diffKeys","prevEntity","find","_ref5","genCSSMotionList","getMotion","prefixCls","Mask","zIndex","maskMotion","maskAnimation","maskTransitionName","isEqual","obj1","obj2","shallow","refSet","Set","deepEqual","level","circular","add","newLevel","every","useInternalLayoutEffect","deps","firstMountRef","monitorResize","prevWidth","prevHeight","resizeObserver","_target$getBoundingCl","getBoundingClientRect","floor","fixedHeight","func","getPoint","point","Align","disabled","align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","cacheRef","childNode","Children","only","forceAlignPropsRef","_useBuffer","buffer","calledRef","timeoutRef","cancelTrigger","trigger","force","useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","_result","_element","_point","activeElement","offsetParent","_getBBox","_element$getBoundingC","_width","_height","isVisible","alignElement","alignPoint","container","focus","restoreFocus","_useBuffer2","_forceAlign","cancelForceAlign","setElement","_React$useState3","_React$useState4","setPoint","prev","pageX","pageY","clientX","clientY","forceAlign","cloneElement","RcAlign","StatusQueue","doMeasure","setInternalStatus","rafRef","cancelRaf","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","stop","PopupInner","stretch","destroyPopupOnHide","getRootDomNode","getClassNameFromAlign","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","alignRef","elementRef","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","minHeight","minWidth","tgtWidth","offsetWidth","tgtHeight","offsetHeight","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","useVisibleStatus","_useVisibleStatus2","goNextStatus","alignTimes","setAlignTimes","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","originHandler","opacity","pointerEvents","alignDisabled","points","motionRef","motionClassName","motionStyle","mergedClassName","onMouseDownCapture","onTouchStartCapture","MobilePopupInner","_props$mobile","mobile","popupClassName","popupStyle","_props$mobile$popupMo","popupMotion","popupRender","Popup","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","navigator","agent","userAgent","vendor","opera","isMobile","popupNode","TriggerContext","returnDocument","ALL_HANDLERS","generateTrigger","PortalComponent","Trigger","_popupVisible","mouseEnterDelay","fireEvents","delaySetPopupVisible","mouseLeaveDelay","clearDelayTimer","_this$popupRef$curren","relatedTarget","popupRef","isFocusToShow","focusTime","focusDelay","preClickTime","preTouchTime","isBlurToHide","blurDelay","setPopupVisible","isContextMenuToShow","close","preTime","min","isClickToShow","isClickToHide","nextVisible","popupVisible","_this$context","hasPopupMouseDown","mouseDownTimeout","onPopupMouseDown","maskClosable","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","triggerRef","popupPlacement","builtinPlacements","getPopupClassNameFromAlign","placements","placement","getAlignPopupClassName","_this$props2","onPopupAlign","popupAnimation","popupTransitionName","popup","onPopupClick","_this$state","getPopupAlign","mouseProps","isMouseEnterToShow","onPopupMouseEnter","isMouseLeaveToHide","onPopupMouseLeave","popupContainer","attachId","mountNode","_this$props3","getPopupContainer","getDocument","body","attachParent","portalContainer","prevPopupVisible","afterPopupVisibleChange","defaultPopupVisible","componentDidUpdate","currentDocument","clickOutsideHandler","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","_this$popupRef$curren2","popupAlign","placementStr","baseAlign","getAlignFromPlacement","onPopupVisibleChange","delayS","delayTimer","childPros","_this$props4","action","showAction","_this$props5","_this$props6","hideAction","_this$props7","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","childCallback","_this$props11","autoDestroy","newChildProps","onContextMenu","createTwoChains","onMouseMove","onFocus","onBlur","childrenClassName","portal","handlePortalUpdate","getComponent","Provider","triggerContextValue","newState","autoAdjustOverflow","adjustX","adjustY","targetOffset","overflow","offset","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","showArrow","arrowContent","overlayInnerStyle","role","Tooltip","overlayClassName","_props$trigger","_props$mouseEnterDela","_props$mouseLeaveDela","overlayStyle","_props$prefixCls","onVisibleChange","afterVisibleChange","_props$placement","_props$align","_props$destroyTooltip","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlay","_props$showArrow","domRef","destroyTooltip","keepParent","is","defaultOptions","withRef","bindI18n","bindStore","translateFuncName","nsMode","usePureComponent","omitBoundRerender","i18n","setDefaults","getDefaults","setI18n","getI18n","reactI18nextModule","react","descriptor","protoProps","staticProps","removedIsInitialSSR","_Component","__proto__","getPrototypeOf","i18nOptions","initialI18nStore","initialLanguage","isInitialSSR","ready","getNamespaces","i18nLoadedAt","getI18nTranslate","onI18nChanged","prevProps","mounted","initialized","contextTypes","childContextTypes","isRequired","namespaceArg","WrappedComponent","Translate","reportNS","getWrappedInstance","nextProps","objA","objB","keysA","keysB","shallowEqual","wrappedInstance","tReady","hoistStatics","Interpolate","parent","REGEXP","_props","useDangerouslySetInnerHTML","dangerouslySetInnerHTMLPartElement","tOpts","i18nKey","memo","dangerouslySetInnerHTML","__html","additionalProps","exposeNamespace","stringify","hasChildren","getChildren","nodesToString","mem","elementKey","renderNodes","targetString","mapAST","reactNodes","astNodes","parseInt","inner","dummy","content","interpolated","HTML","Trans","contextAndProps","tOptions","values","components","tFromContextAndProps","reactI18nextOptions","useAsParent","defaultTransParent","hashTransKey","translation","number","I18nextProvider","Error","asyncIterator","toStringTag","define","Generator","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isNaN","isGeneratorFunction","awrap","reverse","rval","complete","finish","delegateYield","asyncGeneratorStep","_next","_throw","_arrayWithHoles","_nonIterableRest","vendorPrefix","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","css","el","getScroll","w","getScrollLeft","getScrollTop","getOffset","pos","box","doc","docElem","clientLeft","clientTop","getClientPosition","parentWindow","isWindow","nodeType","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","getOffsetDirection","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","originalXY","getPropertyValue","matrix","getTransformXY","resultXY","xy","match2d","item","setTransformXY","each","isBorderBoxFn","cs","computedStyle","rsLeft","pixelLeft","BOX_MODELS","getPBMWidth","which","j","cssProp","domUtils","getParent","host","getWH","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","max","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","swap","mix","first","includeMargin","getWindow","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","getVisibleRectForElement","alwaysByViewport","visibleRect","Infinity","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","region","V","H","getElFuturePos","elRegion","refNodeRegion","p1","p2","diff","isFailX","elFuturePos","isFailY","reg","flipOffset","convertOffset","offsetLen","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","newOffset","newTargetOffset","isCompleteFailX","isCompleteFailY","isStillFailX","isStillFailY","resizeWidth","resizeHeight","adjustForViewport","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","tgtPoint","pointInView","__getOffsetParent","__getVisibleRectForElement","REACT_STATICS","getDefaultProps","getDerivedStateFromProps","KNOWN_STATICS","caller","callee","arity","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","tagRE","parseTag","empty","pushTextNode","html","start","ignoreWhitespace","end","byTag","inComponent","isOpen","isComment","nextChar","voidElement","tagName","attrRE","voidElements","expectingValueAfterEquals","buff","attrString","token","rootEl","__esModule","newObj","_interopRequireWildcard","_ajax","_ajax2","Backend","loadPath","addPath","crossDomain","ajax","url","loadUrl","xhr","payload","extend","addQueryString","params","queryString","encodeURIComponent","paramName","queryStringParams","XMLHttpRequest","ActiveXObject","open","setRequestHeader","withCredentials","overrideMimeType","customHeaders","onreadystatechange","readyState","responseText","_cookie2","_interopRequireDefault","_querystring2","_localStorage2","_navigator2","_htmlTag2","_path2","_subdomain2","Browser","detectors","order","lookupQuerystring","lookupCookie","lookupLocalStorage","caches","excludeCacheFor","lookupFromUrlIndex","lookupFromPathIndex","addDetector","detector","detectionOrder","detected","detectorName","lookup","cleanedLng","cacheName","cookie","minutes","domain","expires","date","setTime","getTime","toGMTString","nameEQ","ca","cookieMinutes","cookieDomain","search","hasLocalStorageSupport","localStorage","testKey","setItem","removeItem","getItem","userLanguage","htmlTag","getAttribute","lookupFromSubdomainIndex"],"mappings":"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","file":"static/js/1.2a8a950e.chunk.js","sourcesContent":["'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}\n","/**\n * @license React\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';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'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}\n","/**\n * @license React\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';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar consoleLogger = {\n type: 'logger',\n\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = '' + prefix + this.prefix + ' ' + args[0];\n return this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n return new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n };\n\n return Logger;\n}();\n\nexport default new Logger();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n var _ref;\n\n observer.apply(observer, (_ref = [event]).concat.apply(_ref, args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","export function makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n return '' + object;\n}\n\nexport function copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nexport function setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nexport function pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nexport function getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nexport function deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n return target;\n}\n\nexport function regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n};\n/* eslint-enable */\n\nexport function escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport EventEmitter from './EventEmitter.js';\nimport * as utils from './utils.js';\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { ns: ['translation'], defaultNS: 'translation' };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data || {};\n _this.options = options;\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n };\n\n ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var keySeparator = options.keySeparator || this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return utils.getPath(this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { silent: false };\n\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n utils.setPath(this.data, path, value);\n\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { silent: false };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], { silent: true });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { silent: false };\n\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n var pack = utils.getPath(this.data, path) || {};\n\n if (deep) {\n utils.deepExtend(pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n utils.setPath(this.data, path, pack);\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n\n // COMPATIBILITY: remove extend in v2.1.0\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(EventEmitter);\n\nexport default ResourceStore;","export default {\n\n processors: {},\n\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n\n return value;\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport postProcessor from './postProcessor.js';\nimport * as utils from './utils.js';\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n utils.copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector'], services, _this);\n\n _this.options = options;\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { interpolation: {} };\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator || this.options.keySeparator || '.';\n\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys, options) {\n var _this2 = this;\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n\n // non valid keys handling\n if (keys === undefined || keys === null || keys === '') return '';\n if (typeof keys === 'number') keys = String(keys);\n if (typeof keys === 'string') keys = [keys];\n\n // separators\n var keySeparator = options.keySeparator || this.options.keySeparator || '.';\n\n // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n\n // return key on CIMode\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n // resolve from store\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n\n // object\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (res && handleAsObject && noObject.indexOf(resType) < 0 && !(joinArrays && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n if (options.keySeparator || this.options.keySeparator) {\n var copy = resType === '[object Array]' ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = '' + resUsedKey + keySeparator + m;\n copy[m] = this.translate(deepKey, _extends({}, options, { joinArrays: false, ns: namespaces }));\n if (copy[m] === deepKey) copy[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n res = copy;\n }\n } else if (joinArrays && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false;\n\n // fallback value\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n res = options.defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n // save missing\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && options.count) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n // extend\n res = this.extendTranslation(res, keys, options);\n\n // append namespace if still key\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key;\n\n // parseMissingKeyHandler\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n // return\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options) {\n var _this3 = this;\n\n if (options.interpolation) this.interpolator.init(_extends({}, options, { interpolation: _extends({}, this.options.interpolation, options.interpolation) }));\n\n // interpolate\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language);\n\n // nesting\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n\n if (options.interpolation) this.interpolator.reset();\n\n // post process\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var found = void 0;\n var usedKey = void 0;\n\n if (typeof keys === 'string') keys = [keys];\n\n // forEach possible key\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language);\n\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n\n var finalKey = key;\n var finalKeys = [finalKey];\n\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n\n // fallback for plural if context not found\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n\n // get key for context if needed\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this4.options.contextSeparator + options.context);\n\n // get key for plural if needed\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n\n // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n var possibleKey = void 0;\n /* eslint no-cond-assign: 0 */\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n\n return { res: found, usedKey: usedKey };\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n return this.resourceStore.getResource(code, ns, key, options);\n };\n\n return Translator;\n}(EventEmitter);\n\nexport default Translator;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n\n // if lenght 2 guess it's a country\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\nexport default LanguageUtil;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\n// definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n/* eslint-disable */\nvar sets = [{ lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], nr: [1, 2], fc: 1 }, { lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'he', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], nr: [1, 2], fc: 2 }, { lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], nr: [1], fc: 3 }, { lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'], nr: [1, 2, 5], fc: 4 }, { lngs: ['ar'], nr: [0, 1, 2, 3, 11, 100], fc: 5 }, { lngs: ['cs', 'sk'], nr: [1, 2, 5], fc: 6 }, { lngs: ['csb', 'pl'], nr: [1, 2, 5], fc: 7 }, { lngs: ['cy'], nr: [1, 2, 3, 8], fc: 8 }, { lngs: ['fr'], nr: [1, 2], fc: 9 }, { lngs: ['ga'], nr: [1, 2, 3, 7, 11], fc: 10 }, { lngs: ['gd'], nr: [1, 2, 3, 20], fc: 11 }, { lngs: ['is'], nr: [1, 2], fc: 12 }, { lngs: ['jv'], nr: [0, 1], fc: 13 }, { lngs: ['kw'], nr: [1, 2, 3, 4], fc: 14 }, { lngs: ['lt'], nr: [1, 2, 10], fc: 15 }, { lngs: ['lv'], nr: [1, 2, 0], fc: 16 }, { lngs: ['mk'], nr: [1, 2], fc: 17 }, { lngs: ['mnk'], nr: [0, 1, 2], fc: 18 }, { lngs: ['mt'], nr: [1, 2, 11, 20], fc: 19 }, { lngs: ['or'], nr: [2, 1], fc: 2 }, { lngs: ['ro'], nr: [1, 2, 20], fc: 20 }, { lngs: ['sl'], nr: [5, 1, 2, 3], fc: 21 }];\n\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n\n this.logger = baseLogger.create('pluralResolver');\n\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n\n return rule && rule.numbers.length > 1;\n };\n\n PluralResolver.prototype.getPluralFormsOfKey = function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n\n var rule = this.getRule(code);\n\n if (!rule) return ret;\n\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n ret.push('' + key + suffix);\n });\n\n return ret;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n // special treatment for lngs only having singular and plural\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n // COMPATIBILITY JSON\n // v1\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return '_plural_' + suffix.toString();\n return returnSuffix();\n } else if ( /* v2 */this.options.compatibilityJSON === 'v2' || rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n } else if ( /* v3 - gettext index */rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn('no plural rule found for: ' + code);\n return '';\n };\n\n return PluralResolver;\n}();\n\nexport default PluralResolver;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.escape = options.interpolation && options.interpolation.escape || utils.escape;\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp();\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n if (typeof this.options.missingInterpolationHandler === 'function') {\n var temp = this.options.missingInterpolationHandler(str, match);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (_this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _this3 = this;\n\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // callback if ready\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n _this3.emit('loaded', q.loaded);\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this4 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\n setTimeout(function () {\n _this4.read.call(_this4, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this5 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n var options = _extends({}, this.backend.options, this.options.backend);\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n // load with multi-load\n if (options.allowMultiLoading && this.backend.readMulti) {\n this.read(toLoad.toLoadLanguages, toLoad.toLoadNamespaces, 'readMulti', null, null, function (err, data) {\n if (err) _this5.logger.warn('loading namespaces ' + toLoad.toLoadNamespaces.join(', ') + ' for languages ' + toLoad.toLoadLanguages.join(', ') + ' via multiloading failed', err);\n if (!err && data) _this5.logger.log('successfully loaded namespaces ' + toLoad.toLoadNamespaces.join(', ') + ' for languages ' + toLoad.toLoadLanguages.join(', ') + ' via multiloading', data);\n\n toLoad.toLoad.forEach(function (name) {\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n l = _name$split4[0],\n n = _name$split4[1];\n\n var bundle = utils.getPath(data, [l, n]);\n if (bundle) {\n _this5.loaded(name, err, bundle);\n } else {\n var error = 'loading namespace ' + n + ' for language ' + l + ' via multiloading failed';\n _this5.loaded(name, error);\n _this5.logger.error(error);\n }\n });\n });\n } else {\n toLoad.toLoad.forEach(function (name) {\n _this5.loadOne(name);\n });\n }\n };\n\n Connector.prototype.reload = function reload(languages, namespaces) {\n var _this6 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n }\n var options = _extends({}, this.backend.options, this.options.backend);\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n // load with multi-load\n if (options.allowMultiLoading && this.backend.readMulti) {\n this.read(languages, namespaces, 'readMulti', null, null, function (err, data) {\n if (err) _this6.logger.warn('reloading namespaces ' + namespaces.join(', ') + ' for languages ' + languages.join(', ') + ' via multiloading failed', err);\n if (!err && data) _this6.logger.log('successfully reloaded namespaces ' + namespaces.join(', ') + ' for languages ' + languages.join(', ') + ' via multiloading', data);\n\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n var bundle = utils.getPath(data, [l, n]);\n if (bundle) {\n _this6.loaded(l + '|' + n, err, bundle);\n } else {\n var error = 'reloading namespace ' + n + ' for language ' + l + ' via multiloading failed';\n _this6.loaded(l + '|' + n, error);\n _this6.logger.error(error);\n }\n });\n });\n });\n } else {\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n _this6.loadOne(l + '|' + n, 're');\n });\n });\n }\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this7 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split5 = name.split('|'),\n _name$split6 = _slicedToArray(_name$split5, 2),\n lng = _name$split6[0],\n ns = _name$split6[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this7.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this7.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this7.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, { isUpdate: isUpdate }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(cache, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.cache = cache;\n _this.store = store;\n _this.services = services;\n _this.options = options;\n _this.logger = baseLogger.create('cacheConnector');\n\n if (_this.cache && _this.cache.init) _this.cache.init(services, options.cache, options);\n return _this;\n }\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this2 = this;\n\n if (!this.cache) return callback && callback();\n var options = _extends({}, this.cache.options, this.options.cache);\n\n var loadLngs = typeof languages === 'string' ? this.services.languageUtils.toResolveHierarchy(languages) : languages;\n\n if (options.enabled) {\n this.cache.load(loadLngs, function (err, data) {\n if (err) _this2.logger.error('loading languages ' + loadLngs.join(', ') + ' from cache failed', err);\n if (data) {\n /* eslint no-restricted-syntax: 0 */\n for (var l in data) {\n if (Object.prototype.hasOwnProperty.call(data, l)) {\n for (var n in data[l]) {\n if (Object.prototype.hasOwnProperty.call(data[l], n)) {\n if (n !== 'i18nStamp') {\n var bundle = data[l][n];\n if (bundle) _this2.store.addResourceBundle(l, n, bundle);\n }\n }\n }\n }\n }\n }\n if (callback) callback();\n });\n } else if (callback) {\n callback();\n }\n };\n\n Connector.prototype.save = function save() {\n if (this.cache && this.options.cache && this.options.cache.enabled) this.cache.save(this.store.data);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","export { get };\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false, // string or array of namespaces\n\n whitelist: false, // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all', // | currentOnly | languageOnly\n preload: false, // array with preload languages\n\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n\n saveMissing: false, // enable to send missing values\n updateMissing: false, // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)\n saveMissingTo: 'fallback', // 'current' || 'all'\n saveMissingPlurals: true, // will save all forms not only singular key\n missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false, // function(str, match)\n\n postProcess: false, // string or array of postProcessor names\n returnNull: true, // allows null value as valid translation\n returnEmptyString: true, // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false, // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {}, // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (args[1]) ret.defaultValue = args[1];\n if (args[2]) ret.tDescription = args[2];\n return ret;\n },\n\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n }\n };\n}\n\n/* eslint no-param-reassign: 0 */\nexport function transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n // extend whitelist with cimode\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport ResourceStore from './ResourceStore.js';\nimport Translator from './Translator.js';\nimport LanguageUtils from './LanguageUtils.js';\nimport PluralResolver from './PluralResolver.js';\nimport Interpolator from './Interpolator.js';\nimport BackendConnector from './BackendConnector.js';\nimport CacheConnector from './CacheConnector.js';\nimport { get as getDefaults, transformOptions } from './defaults.js';\nimport postProcessor from './postProcessor.js';\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = { external: [] };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n var _ret;\n\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) return _ret = _this.init(options, callback), _possibleConstructorReturn(_this, _ret);\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n\n I18n.prototype.init = function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = _extends({}, getDefaults(), this.options, transformOptions(options));\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n // init services\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtils(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.resourceStore.on('added removed', function (lng, ns) {\n s.cacheConnector.save();\n });\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, { prepend: this.options.pluralSeparator, compatibilityJSON: this.options.compatibilityJSON, simplifyPluralSuffix: this.options.simplifyPluralSuffix });\n s.interpolator = new Interpolator(this.options);\n\n s.backendConnector = new BackendConnector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n s.backendConnector.on('loaded', function (loaded) {\n s.cacheConnector.save();\n });\n\n s.cacheConnector = new CacheConnector(createClassOnDemand(this.modules.cache), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.cacheConnector.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n this.translator = new Translator(this.services, this.options);\n // pipe events from translator\n this.translator.on('*', function (event) {\n for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n // append api\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _store;\n\n return (_store = _this2.store)[fcName].apply(_store, arguments);\n };\n });\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return this;\n };\n\n /* eslint consistent-return: 0 */\n\n\n I18n.prototype.loadResources = function loadResources() {\n var _this3 = this;\n\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (!this.options.resources) {\n if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!this.language) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(this.language);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.cacheConnector.load(toLoad, this.options.ns, function () {\n _this3.services.backendConnector.load(toLoad, _this3.options.ns, callback);\n });\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = function reloadResources(lngs, ns) {\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n this.services.backendConnector.reload(lngs, ns);\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'cache') {\n this.modules.cache = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var done = function done(err, l) {\n _this4.translator.changeLanguage(l);\n\n if (l) {\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n }\n\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n for (var _len4 = arguments.length, rest = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n rest[_key4 - 2] = arguments[_key4];\n }\n\n var options = _extends({}, opts);\n if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n var _translator;\n\n return this.translator && (_translator = this.translator).translate.apply(_translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n var _translator2;\n\n return this.translator && (_translator2 = this.translator).exists.apply(_translator2, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n if (!this.options.ns) return callback && callback();\n if (typeof ns === 'string') ns = [ns];\n\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n\n this.loadResources(callback);\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n // Exit early if all given languages are already preloaded\n if (!newLngs.length) return callback();\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(callback);\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n /* eslint class-methods-use-this: 0 */\n\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _extends({}, this.options, options, { isClone: true });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n };\n\n return I18n;\n}(EventEmitter);\n\nexport default new I18n();","import i18next from './i18next.js';\n\nexport default i18next;\n\nexport var changeLanguage = i18next.changeLanguage.bind(i18next);\nexport var cloneInstance = i18next.cloneInstance.bind(i18next);\nexport var createInstance = i18next.createInstance.bind(i18next);\nexport var dir = i18next.dir.bind(i18next);\nexport var exists = i18next.exists.bind(i18next);\nexport var getFixedT = i18next.getFixedT.bind(i18next);\nexport var init = i18next.init.bind(i18next);\nexport var loadLanguages = i18next.loadLanguages.bind(i18next);\nexport var loadNamespaces = i18next.loadNamespaces.bind(i18next);\nexport var loadResources = i18next.loadResources.bind(i18next);\nexport var off = i18next.off.bind(i18next);\nexport var on = i18next.on.bind(i18next);\nexport var setDefaultNamespace = i18next.setDefaultNamespace.bind(i18next);\nexport var t = i18next.t.bind(i18next);\nexport var use = i18next.use.bind(i18next);","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction 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\nfunction _objectSpread2(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\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _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 _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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\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++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && _typeof(node) === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n var domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node instanceof React.Component) {\n var _ReactDOM$findDOMNode;\n return (_ReactDOM$findDOMNode = ReactDOM.findDOMNode) === null || _ReactDOM$findDOMNode === void 0 ? void 0 : _ReactDOM$findDOMNode.call(ReactDOM, node);\n }\n return null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');\nvar REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object) {\n return (\n // Base object type\n object && _typeof(object) === 'object' && (\n // React Element type\n object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n object.type === REACT_FRAGMENT_TYPE\n );\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isValidElement, version } from 'react';\nimport { ForwardRef, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nimport isFragment from \"./React/isFragment\";\nvar ReactMajorVersion = Number(version.split('.')[0]);\nexport var fillRef = function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport var composeRef = function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n};\nexport var useComposeRef = function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n};\nexport var supportRef = function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n if (isReactElement(nodeOrComponent) && ReactMajorVersion >= 19) {\n return true;\n }\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nfunction isReactElement(node) {\n return /*#__PURE__*/isValidElement(node) && !isFragment(node);\n}\nexport var supportNodeRef = function supportNodeRef(node) {\n return isReactElement(node) && supportRef(node);\n};\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport var getNodeRef = function getNodeRef(node) {\n if (node && isReactElement(node)) {\n var ele = node;\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n return ele.props.propertyIsEnumerable('ref') ? ele.props.ref : ele.ref;\n }\n return null;\n};","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from \"./Dom/canUseDom\";\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var parentRef = useRef();\n var containerRef = useRef();\n\n // Ref return nothing, only for wrapper check exist\n useImperativeHandle(ref, function () {\n return {};\n });\n\n // Create container in client side with sync to avoid useEffect not get ref\n var initRef = useRef(false);\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n parentRef.current = containerRef.current.parentNode;\n initRef.current = true;\n }\n\n // [Legacy] Used by `rc-trigger`\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 || didUpdate(props);\n });\n useEffect(function () {\n // Restore container to original place\n // React 18 StrictMode will unmount first and mount back for effect test:\n // https://reactjs.org/blog/2022/03/29/react-v18.html#new-strict-mode-behaviors\n if (containerRef.current.parentNode === null && parentRef.current !== null) {\n parentRef.current.appendChild(containerRef.current);\n }\n return function () {\n var _containerRef$current;\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 || (_containerRef$current = _containerRef$current.parentNode) === null || _containerRef$current === void 0 || _containerRef$current.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && _typeof(node) === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n var domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node instanceof React.Component) {\n var _ReactDOM$findDOMNode;\n return (_ReactDOM$findDOMNode = ReactDOM.findDOMNode) === null || _ReactDOM$findDOMNode === void 0 ? void 0 : _ReactDOM$findDOMNode.call(ReactDOM, node);\n }\n return null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');\nvar REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object) {\n return (\n // Base object type\n object && _typeof(object) === 'object' && (\n // React Element type\n object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n object.type === REACT_FRAGMENT_TYPE\n );\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isValidElement, version } from 'react';\nimport { ForwardRef, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nimport isFragment from \"./React/isFragment\";\nvar ReactMajorVersion = Number(version.split('.')[0]);\nexport var fillRef = function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport var composeRef = function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n};\nexport var useComposeRef = function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n};\nexport var supportRef = function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n if (isReactElement(nodeOrComponent) && ReactMajorVersion >= 19) {\n return true;\n }\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nfunction isReactElement(node) {\n return /*#__PURE__*/isValidElement(node) && !isFragment(node);\n}\nexport var supportNodeRef = function supportNodeRef(node) {\n return isReactElement(node) && supportRef(node);\n};\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport var getNodeRef = function getNodeRef(node) {\n if (node && isReactElement(node)) {\n var ele = node;\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n return ele.props.propertyIsEnumerable('ref') ? ele.props.ref : ele.ref;\n }\n return null;\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (onInternalMotionEnd) {\n var cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport useState from \"rc-util/es/hooks/useState\";\nimport useSyncState from \"rc-util/es/hooks/useSyncState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useSyncState = useSyncState(STATUS_NONE),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n getStatus = _useSyncState2[0],\n setStatus = _useSyncState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n style = _useState4[0],\n setStyle = _useState4[1];\n var currentStatus = getStatus();\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE);\n setStyle(null, true);\n }\n var onInternalMotionEnd = useEvent(function (event) {\n var status = getStatus();\n // Do nothing since not in any transition status.\n // This may happen when `motionDeadline` trigger.\n if (status === STATUS_NONE) {\n return;\n }\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n });\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onAppearPrepare), STEP_START, onAppearStart), STEP_ACTIVE, onAppearActive);\n case STATUS_ENTER:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onEnterPrepare), STEP_START, onEnterStart), STEP_ACTIVE, onEnterActive);\n case STATUS_LEAVE:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onLeavePrepare), STEP_START, onLeaveStart), STEP_ACTIVE, onLeaveActive);\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(currentStatus);\n }, [currentStatus]);\n var _useStepQueue = useStepQueue(currentStatus, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE && currentStatus !== STATUS_NONE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n var visibleRef = useRef(null);\n\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n // When use Suspense, the `visible` will repeat trigger,\n // But not real change of the `visible`, we need to skip it.\n // https://github.com/ant-design/ant-design/issues/44379\n if (mountedRef.current && visibleRef.current === visible) {\n return;\n }\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n visibleRef.current = visible;\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n currentStatus === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n currentStatus === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n currentStatus === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && currentStatus === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, currentStatus]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [currentStatus, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useEvent from \"./useEvent\";\n/**\n * Same as React.useState but will always get latest state.\n * This is useful when React merge multiple state updates into one.\n * e.g. onTransitionEnd trigger multiple event at once will be merged state update in React.\n */\nexport default function useSyncState(defaultValue) {\n var _React$useReducer = React.useReducer(function (x) {\n return x + 1;\n }, 0),\n _React$useReducer2 = _slicedToArray(_React$useReducer, 2),\n forceUpdate = _React$useReducer2[1];\n var currentValueRef = React.useRef(defaultValue);\n var getValue = useEvent(function () {\n return currentValueRef.current;\n });\n var setValue = useEvent(function (updater) {\n currentValueRef.current = typeof updater === 'function' ? updater(currentValueRef.current) : updater;\n forceUpdate();\n });\n return [getValue, setValue];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, getNodeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), _defineProperty(_defineProperty({}, motionCls, motionCls && statusSuffix), motionName, typeof motionName === 'string')),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var originNodeRef = getNodeRef(motionChildren);\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n _this.setState(function (prevState) {\n var nextKeyEntities = prevState.keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n return {\n keyEntities: nextKeyEntities\n };\n }, function () {\n var keyEntities = _this.state.keyEntities;\n var restKeysCount = keyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n if (restKeysCount === 0 && _this.props.onAllRemoved) {\n _this.props.onAllRemoved();\n }\n });\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 || _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/legacyUtil\";\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/**\n * Removed props:\n * - childrenProps\n */\nimport { alignElement, alignPoint } from 'dom-align';\nimport isEqual from \"rc-util/es/isEqual\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useBuffer from \"./hooks/useBuffer\";\nimport { isSamePoint, monitorResize, restoreFocus } from \"./util\";\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n /** Popup node ref */\n\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n var source = nodeRef.current;\n\n if (!latestDisabled && latestTarget && source) {\n var _result;\n\n var _element = getElement(latestTarget);\n\n var _point = getPoint(latestTarget);\n\n cacheRef.current.element = _element;\n cacheRef.current.point = _point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n\n if (_element && isVisible(_element)) {\n _result = alignElement(source, _element, latestAlign);\n } else if (_point) {\n _result = alignPoint(source, _point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && _result) {\n latestOnAlign(source, _result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Handle props change\n\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n element = _React$useState2[0],\n setElement = _React$useState2[1];\n\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n point = _React$useState4[0],\n setPoint = _React$useState4[1];\n\n useLayoutEffect(function () {\n setElement(getElement(target));\n setPoint(getPoint(target));\n });\n React.useEffect(function () {\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign();\n }\n }); // Watch popup element resize\n\n React.useEffect(function () {\n var cancelFn = monitorResize(nodeRef.current, _forceAlign);\n return cancelFn;\n }, [nodeRef.current]); // Watch target element resize\n\n React.useEffect(function () {\n var cancelFn = monitorResize(element, _forceAlign);\n return cancelFn;\n }, [element]); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n React.useEffect(function () {\n if (monitorWindowResize) {\n var cancelFn = addEventListener(window, 'resize', _forceAlign);\n return cancelFn.remove;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n cancelTrigger();\n\n if (!calledRef.current || force === true) {\n if (callback(force) === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n});","// export this package's api\nimport Align from \"./Align\";\nexport default Align;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useState from \"rc-util/es/hooks/useState\";\n/**\n * Popup should follow the steps for each component work correctly:\n * measure - check for the current stretch size\n * align - let component align the position\n * aligned - re-align again in case additional className changed the size\n * afterAlign - choice next step is trigger motion or finished\n * beforeMotion - should reset motion to invisible so that CSSMotion can do normal motion\n * motion - play the motion\n * stable - everything is done\n */\n\nvar StatusQueue = ['measure', 'alignPre', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n\n function setStatus(nextStatus) {\n setInternalStatus(nextStatus, true);\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from \"./useVisibleStatus\";\nimport { getMotion } from \"../utils/legacyUtil\";\nimport useStretchStyle from \"./useStretchStyle\";\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart,\n onClick = props.onClick;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n /**\n * `alignedClassName` may modify `source` size,\n * which means one time align may not move to the correct position at once.\n *\n * We will reset `alignTimes` for each status switch to `alignPre`\n * and let `rc-align` to align for multiple times to ensure get final stable place.\n * Currently we mark `alignTimes < 2` repeat align, it will increase if user report for align issue.\n * \n * Update:\n * In React 18. `rc-align` effect of align may faster than ref called trigger `forceAlign`.\n * We adjust this to `alignTimes < 2`.\n * We need refactor `rc-align` to support mark of `forceAlign` call if this still happen.\n */\n\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n alignTimes = _useState4[0],\n setAlignTimes = _useState4[1];\n\n var prepareResolveRef = useRef();\n useLayoutEffect(function () {\n if (status === 'alignPre') {\n setAlignTimes(0);\n }\n }, [status]); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n } // We will retry multi times to make sure that the element has been align in the right position.\n\n\n setAlignTimes(function (val) {\n return val + 1;\n });\n\n if (status === 'align') {\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // Delay to go to next status\n\n\n useLayoutEffect(function () {\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignTimes < 3) {\n forceAlign();\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n }\n }, [alignTimes]); // ======================== Motion ========================\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n // Cannot interact with disappearing elements\n // https://github.com/ant-design/ant-design/issues/35051#issuecomment-1101340714\n pointerEvents: !visible && status !== 'stable' ? 'none' : undefined\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if (align !== null && align !== void 0 && align.points && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n var tgtWidth = element.offsetWidth,\n tgtHeight = element.offsetHeight;\n\n var _element$getBoundingC = element.getBoundingClientRect(),\n width = _element$getBoundingC.width,\n height = _element$getBoundingC.height; // Rect is more accurate than offset, use if near\n\n\n if (Math.abs(tgtWidth - width) < 1 && Math.abs(tgtHeight - height) < 1) {\n tgtWidth = width;\n tgtHeight = height;\n }\n\n setTargetSize({\n width: tgtWidth,\n height: tgtHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender,\n onClick = props.onClick;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from \"./Mask\";\nimport PopupInner from \"./PopupInner\";\nimport MobilePopupInner from \"./MobilePopupInner\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4));\n});","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from \"./utils/alignUtil\";\nimport Popup from \"./Popup\";\nimport TriggerContext from \"./context\";\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n // ensure `getContainer` will be called only once\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"popupRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"triggerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"portalContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"attachId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"clickOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"touchOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler1\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler2\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"mouseDownTimeout\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focusTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preClickTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preTouchTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"delayTimer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"hasPopupMouseDown\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseMove\", function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseEnter\", function () {\n _this.clearDelayTimer();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseLeave\", function (e) {\n var _this$popupRef$curren;\n\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTouchStart\", function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenuClose\", function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseDown\", function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentClick\", function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getRootDomNode\", function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopupClassNameFromAlign\", function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getComponent\", function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender,\n onPopupClick = _this$props2.onPopupClick;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender,\n onClick: onPopupClick\n }), typeof popup === 'function' ? popup() : popup);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"attachParent\", function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getContainer\", function () {\n if (!_this.portalContainer) {\n // In React.StrictMode component will call render multiple time in first mount.\n // When you want to refactor with FC, useRef will also init multiple time and\n // point to different useRef instance which will create multiple element\n // (This multiple render will not trigger effect so you can not clean up this\n // in effect). But this is safe with class component since it always point to same class instance.\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n _this.portalContainer = popupContainer;\n }\n\n _this.attachParent(_this.portalContainer);\n\n return _this.portalContainer;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setPoint\", function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePortalUpdate\", function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContextValue\", {\n onPopupMouseDown: _this.onPopupMouseDown\n });\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2;\n\n // for test\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n _defineProperty(Trigger, \"contextType\", TriggerContext);\n\n _defineProperty(Trigger, \"defaultProps\", {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n });\n\n return Trigger;\n}\nexport default generateTrigger(Portal);","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import * as React from 'react';\nimport classNames from 'classnames';\nexport default function Popup(props) {\n var showArrow = props.showArrow,\n arrowContent = props.arrowContent,\n children = props.children,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle,\n className = props.className,\n style = props.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), className),\n style: style\n }, showArrow !== false && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\"),\n key: \"arrow\"\n }, arrowContent), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof children === 'function' ? children() : children));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"motion\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\", \"arrowContent\", \"overlay\", \"id\", \"showArrow\"];\nimport * as React from 'react';\nimport { useRef, useImperativeHandle, forwardRef } from 'react';\nimport Trigger from 'rc-trigger';\nimport { placements } from './placements';\nimport Popup from './Popup';\nvar Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n motion = props.motion,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n arrowContent = props.arrowContent,\n overlay = props.overlay,\n id = props.id,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow,\n restProps = _objectWithoutProperties(props, _excluded);\n var domRef = useRef(null);\n useImperativeHandle(ref, function () {\n return domRef.current;\n });\n var extraProps = _objectSpread({}, restProps);\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n var getPopupElement = function getPopupElement() {\n return /*#__PURE__*/React.createElement(Popup, {\n showArrow: showArrow,\n arrowContent: arrowContent,\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlayInnerStyle: overlayInnerStyle\n }, overlay);\n };\n var destroyTooltip = false;\n var autoDestroy = false;\n if (typeof destroyTooltipOnHide === 'boolean') {\n destroyTooltip = destroyTooltipOnHide;\n } else if (destroyTooltipOnHide && _typeof(destroyTooltipOnHide) === 'object') {\n var keepParent = destroyTooltipOnHide.keepParent;\n destroyTooltip = keepParent === true;\n autoDestroy = keepParent === false;\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: domRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupMotion: motion,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip,\n autoDestroy: autoDestroy,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps), children);\n};\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Tooltip from './Tooltip';\nimport Popup from './Popup';\nexport { Popup };\nexport default Tooltip;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 * @providesModule shallowEqual\n * @typechecks\n * \n */\n\n/* eslint-disable no-self-compare */\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\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 // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar defaultOptions = {\n wait: false,\n withRef: false,\n bindI18n: 'languageChanged loaded',\n bindStore: 'added removed',\n translateFuncName: 't',\n nsMode: 'default',\n usePureComponent: false,\n omitBoundRerender: true\n};\n\nvar i18n = void 0;\n\nexport function setDefaults(options) {\n defaultOptions = _extends({}, defaultOptions, options);\n}\n\nexport function getDefaults() {\n return defaultOptions;\n}\n\nexport function setI18n(instance) {\n i18n = instance;\n}\n\nexport function getI18n() {\n return i18n;\n}\n\nexport var reactI18nextModule = {\n type: '3rdParty',\n\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { getDefaults, getI18n } from './context';\n\nvar removedIsInitialSSR = false;\n\nvar I18n = function (_Component) {\n _inherits(I18n, _Component);\n\n function I18n(props, context) {\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, (I18n.__proto__ || Object.getPrototypeOf(I18n)).call(this, props, context));\n\n _this.i18n = props.i18n || context.i18n || getI18n();\n\n var i18nOptions = _this.i18n && _this.i18n.options && _this.i18n.options.react || {};\n _this.options = _extends({}, getDefaults(), i18nOptions, props);\n\n // nextjs SSR: getting data from next.js or other ssr stack\n if (props.initialI18nStore) {\n _this.i18n.services.resourceStore.data = props.initialI18nStore;\n _this.options.wait = false; // we got all passed down already\n }\n if (props.initialLanguage) {\n _this.i18n.changeLanguage(props.initialLanguage);\n }\n\n // provider SSR: data was set in provider and ssr flag was set\n if (_this.i18n.options && _this.i18n.options.isInitialSSR) {\n _this.options.wait = false;\n }\n\n var language = _this.i18n.languages && _this.i18n.languages[0];\n var ready = !!language && _this.getNamespaces().every(function (ns) {\n return _this.i18n.hasResourceBundle(language, ns);\n });\n\n _this.state = {\n i18nLoadedAt: null,\n ready: ready\n };\n\n _this.t = _this.getI18nTranslate();\n\n _this.onI18nChanged = _this.onI18nChanged.bind(_this);\n _this.getI18nTranslate = _this.getI18nTranslate.bind(_this);\n _this.namespaces = _this.getNamespaces.bind(_this);\n return _this;\n }\n\n _createClass(I18n, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n t: this.t,\n i18n: this.i18n\n };\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.loadNamespaces();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n // Note that dynamically loading additional namespaces after the initial mount will not block rendering – even if the `wait` option is true.\n if (this.props.ns && prevProps.ns !== this.props.ns) this.loadNamespaces();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var _this2 = this;\n\n this.mounted = false;\n if (this.onI18nChanged) {\n if (this.options.bindI18n) {\n var p = this.options.bindI18n.split(' ');\n p.forEach(function (f) {\n return _this2.i18n.off(f, _this2.onI18nChanged);\n });\n }\n if (this.options.bindStore) {\n var _p = this.options.bindStore.split(' ');\n _p.forEach(function (f) {\n return _this2.i18n.store && _this2.i18n.store.off(f, _this2.onI18nChanged);\n });\n }\n }\n }\n }, {\n key: 'onI18nChanged',\n value: function onI18nChanged() {\n if (!this.mounted) return;\n if (!this.state.ready && this.options.omitBoundRerender) return;\n\n this.t = this.getI18nTranslate();\n this.setState({ i18nLoadedAt: new Date() }); // rerender\n }\n }, {\n key: 'getI18nTranslate',\n value: function getI18nTranslate() {\n return this.i18n.getFixedT(null, this.options.nsMode === 'fallback' ? this.getNamespaces() : this.getNamespaces()[0]);\n }\n }, {\n key: 'getNamespaces',\n value: function getNamespaces() {\n var ns = this.props.ns || this.i18n.options && this.i18n.options.defaultNS;\n return typeof ns === 'string' ? [ns] : ns;\n }\n }, {\n key: 'loadNamespaces',\n value: function loadNamespaces() {\n var _this3 = this;\n\n var bind = function bind() {\n if (_this3.options.bindI18n && _this3.i18n) _this3.i18n.on(_this3.options.bindI18n, _this3.onI18nChanged);\n if (_this3.options.bindStore && _this3.i18n.store) _this3.i18n.store.on(_this3.options.bindStore, _this3.onI18nChanged);\n };\n\n this.mounted = true;\n this.i18n.loadNamespaces(this.getNamespaces(), function () {\n var ready = function ready() {\n if (_this3.mounted && !_this3.state.ready) _this3.setState({ ready: true });\n if (_this3.options.wait && _this3.mounted) bind();\n };\n\n if (_this3.i18n.isInitialized) {\n ready();\n } else {\n var initialized = function initialized() {\n // due to emitter removing issue in i18next we need to delay remove\n setTimeout(function () {\n _this3.i18n.off('initialized', initialized);\n }, 1000);\n ready();\n };\n\n _this3.i18n.on('initialized', initialized);\n }\n });\n\n if (!this.options.wait) bind();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var children = this.props.children;\n var ready = this.state.ready;\n\n\n if (!ready && this.options.wait) return null;\n\n // remove ssr flag set by provider - first render was done from now on wait if set to wait\n if (this.i18n.options && this.i18n.options.isInitialSSR && !removedIsInitialSSR) {\n removedIsInitialSSR = true;\n setTimeout(function () {\n delete _this4.i18n.options.isInitialSSR;\n }, 100);\n }\n\n return children(this.t, {\n i18n: this.i18n,\n t: this.t,\n lng: this.i18n.language,\n ready: ready\n });\n }\n }]);\n\n return I18n;\n}(Component);\n\nexport default I18n;\n\n\nI18n.contextTypes = {\n i18n: PropTypes.object\n};\n\nI18n.childContextTypes = {\n t: PropTypes.func.isRequired,\n i18n: PropTypes.object\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\nimport shallowEqual from './shallowEqual';\nimport { getDefaults, setDefaults, getI18n, setI18n } from './context';\nimport I18n from './I18n';\n\nfunction getDisplayName(component) {\n return component.displayName || component.name || 'Component';\n}\n\nexport default function translate(namespaceArg) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n return function Wrapper(WrappedComponent) {\n var Translate = function (_Component) {\n _inherits(Translate, _Component);\n\n function Translate(props, context) {\n _classCallCheck(this, Translate);\n\n var _this = _possibleConstructorReturn(this, (Translate.__proto__ || Object.getPrototypeOf(Translate)).call(this, props, context));\n\n _this.i18n = props.i18n || options.i18n || context.i18n || getI18n();\n _this.namespaces = typeof namespaceArg === 'function' ? namespaceArg(props) : namespaceArg || context.defaultNS || _this.i18n.options && _this.i18n.options.defaultNS;\n if (typeof _this.namespaces === 'string') _this.namespaces = [_this.namespaces];\n\n var i18nOptions = _this.i18n && _this.i18n.options && _this.i18n.options.react || {};\n _this.options = _extends({}, getDefaults(), i18nOptions, options);\n\n if (context.reportNS) {\n var namespaces = _this.namespaces || [undefined];\n namespaces.forEach(context.reportNS);\n }\n\n _this.getWrappedInstance = _this.getWrappedInstance.bind(_this);\n return _this;\n }\n\n _createClass(Translate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n if (!this.options.usePureComponent) {\n return true;\n }\n\n return !shallowEqual(this.props, nextProps);\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n if (!this.options.withRef) {\n // eslint-disable-next-line no-console\n console.error('To access the wrapped instance, you need to specify ' + '{ withRef: true } as the second argument of the translate() call.');\n }\n\n /* eslint react/no-string-refs: 1 */\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var extraProps = {};\n\n if (this.options.withRef) {\n extraProps.ref = function (c) {\n _this2.wrappedInstance = c;\n };\n }\n\n return React.createElement(I18n, _extends({ ns: this.namespaces }, this.options, this.props, { i18n: this.i18n }), function (t, _ref) {\n var ready = _ref.ready,\n context = _objectWithoutProperties(_ref, ['ready']);\n\n return React.createElement(WrappedComponent, _extends({\n tReady: ready\n }, _this2.props, extraProps, context));\n });\n }\n }]);\n\n return Translate;\n }(Component);\n\n Translate.WrappedComponent = WrappedComponent;\n\n Translate.contextTypes = {\n i18n: PropTypes.object,\n defaultNS: PropTypes.string,\n reportNS: PropTypes.func\n };\n\n Translate.displayName = 'Translate(' + getDisplayName(WrappedComponent) + ')';\n\n Translate.namespaces = namespaceArg;\n\n return hoistStatics(Translate, WrappedComponent);\n };\n}\n\ntranslate.setDefaults = setDefaults;\n\ntranslate.setI18n = setI18n;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nvar Interpolate = function (_Component) {\n _inherits(Interpolate, _Component);\n\n function Interpolate(props, context) {\n _classCallCheck(this, Interpolate);\n\n var _this = _possibleConstructorReturn(this, (Interpolate.__proto__ || Object.getPrototypeOf(Interpolate)).call(this, props, context));\n\n _this.i18n = props.i18n || context.i18n;\n _this.t = props.t || context.t;\n return _this;\n }\n\n _createClass(Interpolate, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var parent = this.props.parent || 'span';\n var REGEXP = this.props.regexp || this.i18n.services.interpolator.regexp;\n var _props = this.props,\n className = _props.className,\n style = _props.style;\n\n // Set to true if you want to use raw HTML in translation values\n // See https://github.com/i18next/react-i18next/issues/189\n\n var useDangerouslySetInnerHTML = this.props.useDangerouslySetInnerHTML || false;\n var dangerouslySetInnerHTMLPartElement = this.props.dangerouslySetInnerHTMLPartElement || 'span';\n\n var tOpts = _extends({}, this.props.options, { interpolation: { prefix: '#$?', suffix: '?$#' } });\n var format = this.t(this.props.i18nKey, tOpts);\n\n if (!format || typeof format !== 'string') return React.createElement('noscript', null);\n\n var children = [];\n\n var handleFormat = function handleFormat(key, props) {\n if (key.indexOf(_this2.i18n.options.interpolation.formatSeparator) < 0) {\n if (props[key] === undefined) _this2.i18n.services.logger.warn('interpolator: missed to pass in variable ' + key + ' for interpolating ' + format);\n return props[key];\n }\n\n var p = key.split(_this2.i18n.options.interpolation.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this2.i18n.options.interpolation.formatSeparator).trim();\n\n if (props[k] === undefined) _this2.i18n.services.logger.warn('interpolator: missed to pass in variable ' + k + ' for interpolating ' + format);\n return _this2.i18n.options.interpolation.format(props[k], f, _this2.i18n.language);\n };\n\n format.split(REGEXP).reduce(function (memo, match, index) {\n var child = void 0;\n\n if (index % 2 === 0) {\n if (match.length === 0) return memo;\n if (useDangerouslySetInnerHTML) {\n child = React.createElement(dangerouslySetInnerHTMLPartElement, { dangerouslySetInnerHTML: { __html: match } });\n } else {\n child = match;\n }\n } else {\n child = handleFormat(match, _this2.props);\n }\n\n memo.push(child);\n return memo;\n }, children);\n\n var additionalProps = {};\n if (this.i18n.options.react && this.i18n.options.react.exposeNamespace) {\n var ns = typeof this.t.ns === 'string' ? this.t.ns : this.t.ns[0];\n if (this.props.i18nKey && this.i18n.options.nsSeparator && this.props.i18nKey.indexOf(this.i18n.options.nsSeparator) > -1) {\n var parts = this.props.i18nKey.split(this.i18n.options.nsSeparator);\n ns = parts[0];\n }\n if (this.t.ns) additionalProps['data-i18next-options'] = JSON.stringify({ ns: ns });\n }\n\n if (className) additionalProps.className = className;\n if (style) additionalProps.style = style;\n\n return React.createElement.apply(this, [parent, additionalProps].concat(children));\n }\n }]);\n\n return Interpolate;\n}(Component);\n\nInterpolate.propTypes = {\n className: PropTypes.string\n};\n\nInterpolate.defaultProps = {\n className: ''\n};\n\nInterpolate.contextTypes = {\n i18n: PropTypes.object.isRequired,\n t: PropTypes.func.isRequired\n};\n\nexport default Interpolate;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport HTML from 'html-parse-stringify2';\n\nfunction hasChildren(node) {\n return node && (node.children || node.props && node.props.children);\n}\n\nfunction getChildren(node) {\n return node && node.children ? node.children : node.props && node.props.children;\n}\n\nfunction nodesToString(mem, children, index) {\n if (!children) return '';\n if (Object.prototype.toString.call(children) !== '[object Array]') children = [children];\n\n children.forEach(function (child, i) {\n // const isElement = React.isValidElement(child);\n // const elementKey = `${index !== 0 ? index + '-' : ''}${i}:${typeof child.type === 'function' ? child.type.name : child.type || 'var'}`;\n var elementKey = '' + i;\n\n if (typeof child === 'string') {\n mem = '' + mem + child;\n } else if (hasChildren(child)) {\n mem = mem + '<' + elementKey + '>' + nodesToString('', getChildren(child), i + 1) + '';\n } else if (React.isValidElement(child)) {\n mem = mem + '<' + elementKey + '>';\n } else if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) === 'object') {\n var clone = _extends({}, child);\n var format = clone.format;\n delete clone.format;\n\n var keys = Object.keys(clone);\n if (format && keys.length === 1) {\n mem = mem + '<' + elementKey + '>{{' + keys[0] + ', ' + format + '}}';\n } else if (keys.length === 1) {\n mem = mem + '<' + elementKey + '>{{' + keys[0] + '}}';\n } else if (console && console.warn) {\n // not a valid interpolation object (can only contain one value plus format)\n console.warn('react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.', child);\n }\n } else if (console && console.warn) {\n console.warn('react-i18next: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.', child);\n }\n });\n\n return mem;\n}\n\nfunction renderNodes(children, targetString, i18n) {\n if (targetString === \"\") return [];\n if (!children) return [targetString];\n\n // parse ast from string with additional wrapper tag\n // -> avoids issues in parser removing prepending text nodes\n var ast = HTML.parse('<0>' + targetString + '');\n\n function mapAST(reactNodes, astNodes) {\n if (Object.prototype.toString.call(reactNodes) !== '[object Array]') reactNodes = [reactNodes];\n if (Object.prototype.toString.call(astNodes) !== '[object Array]') astNodes = [astNodes];\n\n return astNodes.reduce(function (mem, node, i) {\n if (node.type === 'tag') {\n var child = reactNodes[parseInt(node.name, 10)] || {};\n var isElement = React.isValidElement(child);\n\n if (typeof child === 'string') {\n mem.push(child);\n } else if (hasChildren(child)) {\n var inner = mapAST(getChildren(child), node.children);\n if (child.dummy) child.children = inner; // needed on preact!\n mem.push(React.cloneElement(child, _extends({}, child.props, { key: i }), inner));\n } else if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) === 'object' && !isElement) {\n var content = node.children[0] ? node.children[0].content : null;\n if (content) {\n var interpolated = i18n.services.interpolator.interpolate(node.children[0].content, child, i18n.language);\n mem.push(interpolated);\n }\n } else {\n mem.push(child);\n }\n } else if (node.type === 'text') {\n mem.push(node.content);\n }\n return mem;\n }, []);\n }\n\n // call mapAST with having react nodes nested into additional node like\n // we did for the string ast from translation\n // return the children of that extra node to get expected result\n var result = mapAST([{ dummy: true, children: children }], ast);\n return getChildren(result[0]);\n}\n\nvar Trans = function (_React$Component) {\n _inherits(Trans, _React$Component);\n\n function Trans() {\n _classCallCheck(this, Trans);\n\n return _possibleConstructorReturn(this, (Trans.__proto__ || Object.getPrototypeOf(Trans)).apply(this, arguments));\n }\n\n _createClass(Trans, [{\n key: 'render',\n value: function render() {\n var contextAndProps = _extends({ i18n: this.context.i18n, t: this.context.t }, this.props);\n\n var children = contextAndProps.children,\n count = contextAndProps.count,\n parent = contextAndProps.parent,\n i18nKey = contextAndProps.i18nKey,\n tOptions = contextAndProps.tOptions,\n values = contextAndProps.values,\n defaults = contextAndProps.defaults,\n components = contextAndProps.components,\n namespace = contextAndProps.ns,\n i18n = contextAndProps.i18n,\n tFromContextAndProps = contextAndProps.t,\n additionalProps = _objectWithoutProperties(contextAndProps, ['children', 'count', 'parent', 'i18nKey', 'tOptions', 'values', 'defaults', 'components', 'ns', 'i18n', 't']);\n\n var t = tFromContextAndProps || i18n.t.bind(i18n);\n\n var reactI18nextOptions = i18n.options && i18n.options.react || {};\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n\n var defaultValue = defaults || nodesToString('', children, 0);\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? {} : { interpolation: { prefix: '#$?', suffix: '?$#' } };\n var translation = key ? t(key, _extends({}, tOptions, values, interpolationOverride, { defaultValue: defaultValue, count: count, ns: namespace })) : defaultValue;\n\n if (reactI18nextOptions.exposeNamespace) {\n var ns = typeof t.ns === 'string' ? t.ns : t.ns[0];\n if (i18nKey && i18n.options && i18n.options.nsSeparator && i18nKey.indexOf(i18n.options.nsSeparator) > -1) {\n var parts = i18nKey.split(i18n.options.nsSeparator);\n ns = parts[0];\n }\n if (t.ns) additionalProps['data-i18next-options'] = JSON.stringify({ ns: ns });\n }\n\n if (!useAsParent) return renderNodes(components || children, translation, i18n);\n\n return React.createElement(useAsParent, additionalProps, renderNodes(components || children, translation, i18n));\n }\n }]);\n\n return Trans;\n}(React.Component);\n\nexport default Trans;\n\n\nTrans.propTypes = {\n count: PropTypes.number,\n parent: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n i18nKey: PropTypes.string,\n i18n: PropTypes.object,\n t: PropTypes.func\n};\n\n// Trans.defaultProps = {\n// parent: 'div'\n// };\n\nTrans.contextTypes = {\n i18n: PropTypes.object,\n t: PropTypes.func\n};","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\n\nvar I18nextProvider = function (_Component) {\n _inherits(I18nextProvider, _Component);\n\n function I18nextProvider(props, context) {\n _classCallCheck(this, I18nextProvider);\n\n var _this = _possibleConstructorReturn(this, (I18nextProvider.__proto__ || Object.getPrototypeOf(I18nextProvider)).call(this, props, context));\n\n _this.i18n = props.i18n;\n _this.defaultNS = props.defaultNS;\n if (props.initialI18nStore) {\n _this.i18n.services.resourceStore.data = props.initialI18nStore;\n _this.i18n.options.isInitialSSR = true; // if set will be deleted on first render in translate hoc\n }\n if (props.initialLanguage) {\n _this.i18n.changeLanguage(props.initialLanguage);\n }\n _this.reportNS = props.reportNS;\n return _this;\n }\n\n _createClass(I18nextProvider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n i18n: this.i18n,\n defaultNS: this.defaultNS,\n reportNS: this.reportNS\n };\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.i18n !== nextProps.i18n) {\n throw new Error('[react-i18next][I18nextProvider]does not support changing the i18n object.');\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n return Children.only(children);\n }\n }]);\n\n return I18nextProvider;\n}(Component);\n\nI18nextProvider.propTypes = {\n i18n: PropTypes.object.isRequired,\n children: PropTypes.element.isRequired,\n defaultNS: PropTypes.string,\n reportNS: PropTypes.func\n};\n\nI18nextProvider.childContextTypes = {\n i18n: PropTypes.object.isRequired,\n defaultNS: PropTypes.string,\n reportNS: PropTypes.func\n};\n\nI18nextProvider.defaultProps = {\n defaultNS: undefined,\n reportNS: undefined\n};\n\nexport default I18nextProvider;","var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar objectEntries = Object.entries || function (obj) {\n var ownProps = Object.keys(obj),\n i = ownProps.length,\n resArray = new Array(i); // preallocate the Array\n while (i--) {\n resArray[i] = [ownProps[i], obj[ownProps[i]]];\n }return resArray;\n};\n\n// Borrowed from https://github.com/Rezonans/redux-async-connect/blob/master/modules/ReduxAsyncConnect.js#L16\nfunction eachComponents(components, iterator) {\n for (var i = 0, l = components.length; i < l; i++) {\n // eslint-disable-line id-length\n if (_typeof(components[i]) === 'object') {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = objectEntries(components[i])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n iterator(value, i, key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n iterator(components[i], i);\n }\n }\n}\n\nfunction filterAndFlattenComponents(components) {\n var flattened = [];\n eachComponents(components, function (Component) {\n if (Component && Component.namespaces) {\n\n Component.namespaces.forEach(function (namespace) {\n if (flattened.indexOf(namespace) === -1) {\n flattened.push(namespace);\n }\n });\n }\n });\n return flattened;\n}\n\nexport default function loadNamespaces(_ref) {\n var components = _ref.components,\n i18n = _ref.i18n;\n\n var allNamespaces = filterAndFlattenComponents(components);\n\n return new Promise(function (resolve) {\n i18n.loadNamespaces(allNamespaces, resolve);\n });\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import _typeof from \"./typeof.js\";\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nexport { _regeneratorRuntime as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","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}\nexport { _nonIterableRest as default };","let vendorPrefix;\n\nconst jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-',\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n const style = document.createElement('p').style;\n const testProp = 'Transform';\n for (const key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix()\n ? `${getVendorPrefix()}TransitionProperty`\n : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? `${getVendorPrefix()}Transform` : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n const name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n const name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n const matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0),\n };\n }\n return {\n x: 0,\n y: 0,\n };\n}\n\nconst matrix2d = /matrix\\((.*)\\)/;\nconst matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n let arr;\n let match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, `matrix(${arr.join(',')})`);\n } else {\n const match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, `matrix3d(${arr.join(',')})`);\n }\n } else {\n setTransform(\n node,\n `translateX(${xy.x}px) translateY(${xy.y}px) translateZ(0)`,\n );\n }\n}\n","import {\n setTransitionProperty,\n getTransitionProperty,\n getTransformXY,\n setTransformXY,\n getTransformName,\n} from './propertyUtils';\n\nconst RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nlet getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n const originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n let value = v;\n if (typeof name === 'object') {\n for (const i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = `${value}px`;\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y,\n };\n}\n\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n let computedStyle = cs;\n let val = '';\n const d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nconst _RE_NUM_NO_PX = new RegExp(`^(${RE_NUM})(?!px)[a-z%]+$`, 'i');\nconst RE_POS = /^(top|right|bottom|left)$/;\nconst CURRENT_STYLE = 'currentStyle';\nconst RUNTIME_STYLE = 'runtimeStyle';\nconst LEFT = 'left';\nconst PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n let ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n const style = elem.style;\n const left = style[LEFT];\n const rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle\n ? _getComputedStyle\n : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n let presetH = -999;\n let presetV = -999;\n const horizontalProperty = getOffsetDirection('left', option);\n const verticalProperty = getOffsetDirection('top', option);\n const oppositeHorizontalProperty = oppositeOffsetDirection(\n horizontalProperty,\n );\n const oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n let originalTransition = '';\n const originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = `${presetH}px`;\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = `${presetV}px`;\n }\n // force relayout\n forceRelayout(elem);\n const old = getOffset(elem);\n const originalStyle = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const preset = key === 'left' ? presetH : presetV;\n const off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n const ret = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const off = offset[key] - originalOffset[key];\n if (key === dir) {\n ret[dir] = originalStyle[dir] + off;\n } else {\n ret[dir] = originalStyle[dir] - off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n const originalOffset = getOffset(elem);\n const originalXY = getTransformXY(elem);\n const resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n const oriOffset = getOffset(elem);\n\n const oLeft = oriOffset.left.toFixed(0);\n const oTop = oriOffset.top.toFixed(0);\n const tLeft = offset.left.toFixed(0);\n const tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (\n option.useCssTransform &&\n getTransformName() in document.body.style\n ) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (let i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nconst BOX_MODELS = ['margin', 'border', 'padding'];\nconst CONTENT_INDEX = -1;\nconst PADDING_INDEX = 2;\nconst BORDER_INDEX = 1;\nconst MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n const old = {};\n const style = elem.style;\n let name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n let value = 0;\n let prop;\n let j;\n let i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n let cssProp;\n if (prop === 'border') {\n cssProp = `${prop}${which[i]}Width`;\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nconst domUtils = {\n getParent(element) {\n let parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n },\n};\n\neach(['Width', 'Height'], name => {\n domUtils[`doc${name}`] = refWin => {\n const d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[`scroll${name}`],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[`scroll${name}`],\n domUtils[`viewport${name}`](d),\n );\n };\n\n domUtils[`viewport${name}`] = win => {\n // pc browser includes scrollbar in window.innerWidth\n const prop = `client${name}`;\n const doc = win.document;\n const body = doc.body;\n const documentElement = doc.documentElement;\n const documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return (\n (doc.compatMode === 'CSS1Compat' && documentElementProp) ||\n (body && body[prop]) ||\n documentElementProp\n );\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n let extra = ex;\n if (isWindow(elem)) {\n return name === 'width'\n ? domUtils.viewportWidth(elem)\n : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width'\n ? domUtils.docWidth(elem)\n : domUtils.docHeight(elem);\n }\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n let borderBoxValue =\n name === 'width'\n ? Math.floor(elem.getBoundingClientRect().width)\n : Math.floor(elem.getBoundingClientRect().height);\n const isBorderBox = isBorderBoxFn(elem);\n let cssBoxValue = 0;\n if (\n borderBoxValue === null ||\n borderBoxValue === undefined ||\n borderBoxValue <= 0\n ) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (\n cssBoxValue === null ||\n cssBoxValue === undefined ||\n Number(cssBoxValue) < 0\n ) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n const borderBoxValueOrIsBorderBox =\n borderBoxValue !== undefined || isBorderBox;\n const val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return (\n val +\n (extra === PADDING_INDEX\n ? -getPBMWidth(elem, ['border'], which)\n : getPBMWidth(elem, ['margin'], which))\n );\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nconst cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block',\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(...args) {\n let val;\n const elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, () => {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], name => {\n const first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[`outer${first}`] = (el, includeMargin) => {\n return (\n el &&\n getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX)\n );\n };\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = (elem, v) => {\n let val = v;\n if (val !== undefined) {\n if (elem) {\n const isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (const i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nconst utils = {\n getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n const doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument,\n offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow,\n each,\n css,\n clone(obj) {\n let i;\n const ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n const overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix,\n getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nmix(utils, domUtils);\n\nexport default utils;\n","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nconst { getParent } = utils;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n
\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent;\n let positionStyle = utils.css(element, 'position');\n const skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html'\n ? null\n : getParent(element);\n }\n\n for (\n parent = getParent(element);\n parent && parent !== body && parent.nodeType !== 9;\n parent = getParent(parent)\n ) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexport default getOffsetParent;\n","import utils from './utils';\n\nconst { getParent } = utils;\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent = null;\n for (\n parent = getParent(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc;\n parent = getParent(parent)\n ) {\n const positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n","import utils from './utils';\nimport getOffsetParent from './getOffsetParent';\nimport isAncestorFixed from './isAncestorFixed';\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n const visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity,\n };\n let el = getOffsetParent(element);\n const doc = utils.getDocument(element);\n const win = doc.defaultView || doc.parentWindow;\n const body = doc.body;\n const documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if (\n (navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n (el !== body &&\n el !== documentElement &&\n utils.css(el, 'overflow') !== 'visible')\n ) {\n const pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(\n visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth,\n );\n visibleRect.bottom = Math.min(\n visibleRect.bottom,\n pos.top + el.clientHeight,\n );\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n let originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n const position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n let documentWidth = documentElement.scrollWidth;\n let documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n const bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n const maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n const maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 &&\n visibleRect.left >= 0 &&\n visibleRect.bottom > visibleRect.top &&\n visibleRect.right > visibleRect.left\n ? visibleRect\n : null;\n}\n\nexport default getVisibleRectForElement;\n","import utils from './utils';\n\nfunction getRegion(node) {\n let offset;\n let w;\n let h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n const win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win),\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexport default getRegion;\n","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n const V = align.charAt(0);\n const H = align.charAt(1);\n const w = region.width;\n const h = region.height;\n\n let x = region.left;\n let y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y,\n };\n}\n\nexport default getAlignOffset;\n","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n const p1 = getAlignOffset(refNodeRegion, points[1]);\n const p2 = getAlignOffset(elRegion, points[0]);\n const diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1]),\n };\n}\n\nexport default getElFuturePos;\n","/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nimport utils from '../utils';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport adjustForViewport from '../adjustForViewport';\nimport getRegion from '../getRegion';\nimport getElFuturePos from '../getElFuturePos';\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left < visibleRect.left ||\n elFuturePos.left + elRegion.width > visibleRect.right\n );\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top < visibleRect.top ||\n elFuturePos.top + elRegion.height > visibleRect.bottom\n );\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left > visibleRect.right ||\n elFuturePos.left + elRegion.width < visibleRect.left\n );\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top > visibleRect.bottom ||\n elFuturePos.top + elRegion.height < visibleRect.top\n );\n}\n\nfunction flip(points, reg, map) {\n const ret = [];\n utils.each(points, p => {\n ret.push(\n p.replace(reg, m => {\n return map[m];\n }),\n );\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n let n;\n if (/%$/.test(str)) {\n n = (parseInt(str.substring(0, str.length - 1), 10) / 100) * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n let points = align.points;\n let offset = align.offset || [0, 0];\n let targetOffset = align.targetOffset || [0, 0];\n let overflow = align.overflow;\n const source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n const newOverflowCfg = {};\n let fail = 0;\n const alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n const visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n const elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n let elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n // 当前节点将要所处的区域\n let newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (\n visibleRect &&\n (overflow.adjustX || overflow.adjustY) &&\n isTgtRegionVisible\n ) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 0);\n const newTargetOffset = flipOffset(targetOffset, 0);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 1);\n const newTargetOffset = flipOffset(targetOffset, 1);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailY(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n utils.mix(newElRegion, elFuturePos);\n }\n const isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n const isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n let newPoints = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n }\n if (isStillFailY) {\n newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n }\n\n points = newPoints;\n\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(\n elFuturePos,\n elRegion,\n visibleRect,\n newOverflowCfg,\n );\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(\n source,\n 'width',\n utils.width(source) + newElRegion.width - elRegion.width,\n );\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(\n source,\n 'height',\n utils.height(source) + newElRegion.height - elRegion.height,\n );\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n utils.offset(\n source,\n {\n left: newElRegion.left,\n top: newElRegion.top,\n },\n {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake,\n },\n );\n\n return {\n points,\n offset,\n targetOffset,\n overflow: newOverflowCfg,\n };\n}\n\nexport default doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n const pos = utils.clone(elFuturePos);\n const size = {\n width: elRegion.width,\n height: elRegion.height,\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (\n overflow.resizeWidth &&\n pos.left >= visibleRect.left &&\n pos.left + size.width > visibleRect.right\n ) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (\n overflow.resizeHeight &&\n pos.top >= visibleRect.top &&\n pos.top + size.height > visibleRect.bottom\n ) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;\n","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n const visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n const targetRegion = getRegion(target);\n\n return (\n !visibleRect ||\n targetRegion.left + targetRegion.width <= visibleRect.left ||\n targetRegion.top + targetRegion.height <= visibleRect.top ||\n targetRegion.left >= visibleRect.right ||\n targetRegion.top >= visibleRect.bottom\n );\n}\n\nfunction alignElement(el, refNode, align) {\n const target = align.target || refNode;\n const refNodeRegion = getRegion(target);\n\n const isTargetNotOutOfVisible = !isOutOfVisibleRect(\n target,\n align.overflow && align.overflow.alwaysByViewport,\n );\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;\n","import utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n let pageX;\n let pageY;\n\n const doc = utils.getDocument(el);\n const win = doc.defaultView || doc.parentWindow;\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n const tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0,\n };\n\n const pointInView =\n pageX >= 0 &&\n pageX <= scrollX + viewportWidth &&\n (pageY >= 0 && pageY <= scrollY + viewportHeight);\n\n // Provide default target point\n const points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, { ...align, points }, pointInView);\n}\n\nexport default alignPoint;\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\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};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\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 for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","module.exports = {\n parse: require('./lib/parse'),\n stringify: require('./lib/stringify')\n};\n","/*jshint -W030 */\nvar tagRE = /(?:|<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>)/g;\nvar parseTag = require('./parse-tag');\n// re-used obj for quick lookups of components\nvar empty = Object.create ? Object.create(null) : {};\n// common logic for pushing a child node onto a list\nfunction pushTextNode(list, html, level, start, ignoreWhitespace) {\n // calculate correct end of the content slice in case there's\n // no tag after the text node.\n var end = html.indexOf('<', start);\n var content = html.slice(start, end === -1 ? undefined : end);\n // if a node is nothing but whitespace, collapse it as the spec states:\n // https://www.w3.org/TR/html4/struct/text.html#h-9.1\n if (/^\\s*$/.test(content)) {\n content = ' ';\n }\n // don't add whitespace-only text nodes if they would be trailing text nodes\n // or if they would be leading whitespace-only text nodes:\n // * end > -1 indicates this is not a trailing text node\n // * leading node is when level is -1 and list has length 0\n if ((!ignoreWhitespace && end > -1 && level + list.length >= 0) || content !== ' ') {\n list.push({\n type: 'text',\n content: content\n });\n }\n}\n\nmodule.exports = function parse(html, options) {\n options || (options = {});\n options.components || (options.components = empty);\n var result = [];\n var current;\n var level = -1;\n var arr = [];\n var byTag = {};\n var inComponent = false;\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== ('')) {\n return;\n } else {\n inComponent = false;\n }\n }\n\n var isOpen = tag.charAt(1) !== '/';\n var isComment = tag.indexOf('