{"version":3,"sources":["webpack:///./node_modules/@ant-design/icons/lib/components/IconBase.js","webpack:///./node_modules/@ant-design/icons/lib/components/twoTonePrimaryColor.js","webpack:///./node_modules/antd/es/_util/reactNode.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/antd/es/button/index.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/antd/es/config-provider/SizeContext.js","webpack:///./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack:///./node_modules/rc-util/es/KeyCode.js","webpack:///./node_modules/antd/es/grid/style/css.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/rc-motion/es/util/motion.js","webpack:///./node_modules/rc-motion/es/hooks/useState.js","webpack:///./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack:///./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack:///./node_modules/rc-motion/es/interface.js","webpack:///./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack:///./node_modules/rc-motion/es/hooks/useStatus.js","webpack:///./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack:///./node_modules/rc-motion/es/DomWrapper.js","webpack:///./node_modules/rc-motion/es/CSSMotion.js","webpack:///./node_modules/rc-motion/es/util/diff.js","webpack:///./node_modules/rc-motion/es/CSSMotionList.js","webpack:///./node_modules/rc-motion/es/index.js","webpack:///./node_modules/@ant-design/icons/lib/icons/RightOutlined.js","webpack:///./node_modules/@ctrl/tinycolor/dist/module/util.js","webpack:///./node_modules/@ctrl/tinycolor/dist/module/conversion.js","webpack:///./node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","webpack:///./node_modules/@ctrl/tinycolor/dist/module/format-input.js","webpack:///./node_modules/@ctrl/tinycolor/dist/module/index.js","webpack:///./node_modules/@ant-design/colors/dist/index.esm.js","webpack:///./node_modules/omit.js/es/index.js","webpack:///./node_modules/antd/es/_util/responsiveObserve.js","webpack:///./node_modules/antd/es/grid/row.js","webpack:///./node_modules/antd/es/row/index.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/antd/es/_util/type.js","webpack:///./node_modules/@ant-design/icons/LeftOutlined.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/RightOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/LeftOutlined.js","webpack:///./node_modules/insert-css/index.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/antd/es/empty/empty.js","webpack:///./node_modules/antd/es/empty/simple.js","webpack:///./node_modules/antd/es/empty/index.js","webpack:///./node_modules/antd/es/config-provider/renderEmpty.js","webpack:///./node_modules/antd/es/config-provider/context.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/antd/es/layout/layout.js","webpack:///./node_modules/antd/es/layout/Sider.js","webpack:///./node_modules/antd/es/_util/isNumeric.js","webpack:///./node_modules/antd/es/layout/index.js","webpack:///./node_modules/rc-trigger/es/utils/alignUtil.js","webpack:///./node_modules/rc-util/es/isMobile.js","webpack:///./node_modules/rc-trigger/es/utils/legacyUtil.js","webpack:///./node_modules/rc-trigger/es/Popup/Mask.js","webpack:///./node_modules/dom-align/dist-web/index.js","webpack:///./node_modules/rc-align/es/util.js","webpack:///./node_modules/rc-align/es/Align.js","webpack:///./node_modules/rc-align/es/hooks/useBuffer.js","webpack:///./node_modules/rc-util/es/Dom/isVisible.js","webpack:///./node_modules/rc-align/es/index.js","webpack:///./node_modules/rc-trigger/es/Popup/useVisibleStatus.js","webpack:///./node_modules/rc-trigger/es/Popup/PopupInner.js","webpack:///./node_modules/rc-trigger/es/Popup/useStretchStyle.js","webpack:///./node_modules/rc-trigger/es/Popup/MobilePopupInner.js","webpack:///./node_modules/rc-trigger/es/Popup/index.js","webpack:///./node_modules/rc-trigger/es/context.js","webpack:///./node_modules/rc-trigger/es/index.js","webpack:///./node_modules/rc-dropdown/es/placements.js","webpack:///./node_modules/rc-dropdown/es/Dropdown.js","webpack:///./node_modules/rc-dropdown/es/index.js","webpack:///./node_modules/antd/es/dropdown/dropdown-button.js","webpack:///./node_modules/antd/es/dropdown/dropdown.js","webpack:///./node_modules/mini-store/esm/Provider.js","webpack:///./node_modules/antd/es/dropdown/index.js","webpack:///./node_modules/mini-store/esm/connect.js","webpack:///./node_modules/mini-store/esm/create.js","webpack:///./node_modules/rc-util/es/createChainedFunction.js","webpack:///./node_modules/rc-menu/es/utils/isMobile.js","webpack:///./node_modules/rc-menu/es/util.js","webpack:///./node_modules/rc-menu/es/placements.js","webpack:///./node_modules/rc-menu/es/SubMenu.js","webpack:///./node_modules/rc-menu/es/DOMWrap.js","webpack:///./node_modules/rc-menu/es/SubPopupMenu.js","webpack:///./node_modules/rc-menu/es/utils/legacyUtil.js","webpack:///./node_modules/rc-menu/es/Menu.js","webpack:///./node_modules/rc-menu/es/MenuItem.js","webpack:///./node_modules/rc-menu/es/MenuItemGroup.js","webpack:///./node_modules/rc-menu/es/Divider.js","webpack:///./node_modules/rc-menu/es/index.js","webpack:///./node_modules/antd/es/menu/MenuContext.js","webpack:///./node_modules/antd/es/menu/SubMenu.js","webpack:///./node_modules/rc-tooltip/es/placements.js","webpack:///./node_modules/rc-tooltip/es/Content.js","webpack:///./node_modules/rc-tooltip/es/index.js","webpack:///./node_modules/rc-tooltip/es/Tooltip.js","webpack:///./node_modules/antd/es/tooltip/placements.js","webpack:///./node_modules/antd/es/_util/colors.js","webpack:///./node_modules/antd/es/tooltip/index.js","webpack:///./node_modules/antd/es/menu/MenuItem.js","webpack:///./node_modules/antd/es/_util/motion.js","webpack:///./node_modules/antd/es/menu/index.js","webpack:///./src/components/layout/navbar/MenuCompleto.jsx","webpack:///./node_modules/@ant-design/icons-svg/es/asn/MenuOutlined.js","webpack:///./node_modules/@ant-design/icons/es/utils.js","webpack:///./node_modules/@ant-design/icons/es/components/IconBase.js","webpack:///./node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","webpack:///./node_modules/@ant-design/icons/es/components/AntdIcon.js","webpack:///./node_modules/@ant-design/icons/es/icons/MenuOutlined.js","webpack:///./src/components/layout/navbar/MenuResponsive.jsx","webpack:///./node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","webpack:///./src/components/layout/navbar/NavBar.jsx","webpack:///./src/components/layout/footer/MenuSecundario.jsx","webpack:///./src/components/layout/footer/RedesSociales.jsx","webpack:///./src/components/layout/footer/SitiosRelacionados.jsx","webpack:///./src/components/layout/footer/PieDePagina.jsx","webpack:///./src/components/layout/Plantilla.jsx","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/antd/es/row/style/css.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/components/AntdIcon.js","webpack:///./node_modules/rc-util/es/warning.js","webpack:///./node_modules/antd/es/button/style/css.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/createSuper.js","webpack:///./node_modules/react-icons/lib/esm/iconsManifest.js","webpack:///./node_modules/react-icons/lib/esm/iconContext.js","webpack:///./node_modules/react-icons/lib/esm/iconBase.js","webpack:///./node_modules/rc-util/es/Dom/canUseDom.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/BarsOutlined.js","webpack:///./node_modules/rc-util/es/Portal.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@ant-design/icons/BarsOutlined.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/antd/es/locale-provider/default.js","webpack:///./node_modules/antd/es/locale-provider/LocaleReceiver.js","webpack:///./node_modules/antd/es/locale-provider/context.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/rc-util/es/Children/toArray.js","webpack:///./node_modules/rc-pagination/es/locale/en_US.js","webpack:///./node_modules/rc-picker/es/locale/en_US.js","webpack:///./node_modules/antd/es/time-picker/locale/en_US.js","webpack:///./node_modules/antd/es/date-picker/locale/en_US.js","webpack:///./node_modules/antd/es/locale/default.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///./node_modules/@ant-design/icons/lib/icons/LoadingOutlined.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/rc-util/es/ref.js","webpack:///./node_modules/@ant-design/icons/EllipsisOutlined.js","webpack:///./node_modules/rc-util/lib/warning.js","webpack:///./node_modules/@ant-design/icons/RightOutlined.js","webpack:///./node_modules/@ant-design/icons/LoadingOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/EllipsisOutlined.js","webpack:///./node_modules/rc-util/es/Dom/contains.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/rc-util/es/Dom/findDOMNode.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/antd/es/grid/RowContext.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js","webpack:///./node_modules/antd/es/_util/devWarning.js","webpack:///./node_modules/@ant-design/icons/lib/utils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/rc-util/es/raf.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/LeftOutlined.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/rc-util/es/Dom/addEventListener.js","webpack:///./node_modules/@ant-design/icons/lib/icons/BarsOutlined.js","webpack:///./node_modules/antd/es/_util/unreachableException.js","webpack:///./node_modules/antd/es/button/button-group.js","webpack:///./node_modules/antd/es/_util/raf.js","webpack:///./node_modules/antd/es/_util/wave.js","webpack:///./node_modules/antd/es/button/LoadingIcon.js","webpack:///./node_modules/antd/es/button/button.js"],"names":["_interopRequireDefault","Object","defineProperty","exports","value","default","_objectWithoutProperties2","_objectSpread2","_utils","twoToneColorPalette","primaryColor","secondaryColor","calculated","IconBase","props","icon","className","onClick","style","restProps","colors","getSecondaryColor","useInsertStyles","warning","isIconDefinition","concat","target","generate","name","width","height","fill","displayName","getTwoToneColors","setTwoToneColors","_ref","_default","setTwoToneColor","twoToneColor","_normalizeTwoToneColo","normalizeTwoToneColors","_normalizeTwoToneColo2","_slicedToArray2","_IconBase","getTwoToneColor","isValidElement","cloneElement","element","replacement","replaceElement","_classCallCheck","instance","Constructor","TypeError","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","length","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","i","key","descriptor","e","SizeContext","undefined","SizeContextProvider","children","size","Consumer","originSize","Provider","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","apply","source","forEach","getOwnPropertyDescriptors","defineProperties","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","keyCode","altKey","ctrlKey","metaKey","isCharacterKey","window","navigator","userAgent","indexOf","setPrototypeOf","subClass","superClass","create","constructor","writable","configurable","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","domSupport","win","vendorPrefixes","animationend","transitionend","animation","transition","_document$createEleme","document","createElement","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","len","hasOwnProperty","call","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","replace","match","toUpperCase","useMountStatus","defaultValue","destroyRef","_useState","_useState2","val","setVal","current","next","canUseDom","STEP_QUEUE","isActive","step","_React$useState","_React$useState2","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","raf","cancel","nextFrame","callback","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","index","nextStep","result","info","doNext","Promise","resolve","then","status","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","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","destroyedRef","cacheElementRef","getDomElement","activeRef","onInternalMotionEnd","event","canEnd","deadline","_useDomMotionEvents","callbackRef","removeMotionEvents","removeEventListener","addEventListener","useDomMotionEvents","patchMotionEvents","eventHandlers","_ref2","_ref3","_ref4","_useStepQueue","useStepQueue","newStep","onPrepare","_eventHandlers$step","clearTimeout","setTimeout","_useStepQueue2","startStep","active","nextStatus","isMounted","mergedStyle","_React$Component","DomWrapper","_super","this","config","transitionSupport","isSupportTransition","motionName","CSSMotion","ref","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","leavedClassName","eventProps","nodeRef","wrapperNodeRef","_useStatus","findDOMNode","_useStatus2","statusStep","statusStyle","mergedVisible","originRef","motionChildren","setNodeRef","node","mergedProps","_classNames","statusSuffix","display","wrapKeyToObject","keyObj","String","parseKeys","map","diffKeys","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","slice","obj","duplicatedKeys","matchKey","MOTION_PROP_NAMES","CSSMotionList","_this","state","keyEntities","removeKey","setState","entity","_this2","_this$props","_onVisibleChanged","Component","motionProps","prop","assign","changedVisible","parsedKeyObjects","prevEntity","find","_ref5","_interopRequireWildcard","React","_RightOutlined","_AntdIcon","RightOutlined","forwardRef","bound01","n","max","includes","parseFloat","isOnePointZero","isPercent","isPercentage","Math","min","parseInt","abs","clamp01","boundAlpha","a","isNaN","convertToPercentage","Number","pad2","c","rgbToHsl","r","g","b","h","s","l","d","hue2rgb","p","q","t","rgbToHsv","v","rgbToHex","allow3Char","hex","round","toString","startsWith","charAt","join","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","color","rgb","ok","format","trim","named","matchers","exec","rgba","hsl","hsla","hsv","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","substr","floor","f","mod","hsvToRgb","hslToRgb","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","RegExp","Boolean","TinyColor","opts","_a","numberInputToObject","originalInput","roundA","gradientType","isValid","isDark","getBrightness","isLight","toRgb","getLuminance","RsRGB","GsRGB","BsRGB","pow","getAlpha","setAlpha","alpha","toHsv","toHsvString","toHsl","toHslString","toHex","toHexString","toHex8","allow4Char","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","fmt","x","toPercentageRgbString","rnd","toName","_i","entries","_b","formatSet","formattedString","hasAlpha","toNumber","clone","lighten","amount","brighten","darken","tint","mix","shade","desaturate","saturate","greyscale","spin","hue","rgb1","rgb2","analogous","results","slices","part","ret","complement","monochromatic","res","modification","splitcomplement","onBackground","background","fg","bg","triad","polyad","tetrad","increment","equals","darkColorMap","opacity","getHue","light","getSaturation","saturation","toFixed","getValue","patterns","pColor","colorString","_hsv","_colorString","theme","backgroundColor","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","fields","shallowCopy","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","Map","subUid","matchHandlers","dispatch","pointMap","func","subscribe","register","set","unsubscribe","token","unregister","screen","matchMediaQuery","handler","mql","removeListener","listener","clear","matches","matchMedia","addListener","__rest","propertyIsEnumerable","Row","customizePrefixCls","prefixCls","justify","align","_props$gutter","gutter","wrap","others","_React$useContext","getPrefixCls","direction","screens","setScreens","gutterRef","currentGutter","Array","isArray","gutters","breakpoint","classes","rowStyle","marginLeft","marginRight","marginTop","marginBottom","RowContext","tuple","_len","args","_key","__esModule","iter","Symbol","iterator","from","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","_LeftOutlined","LeftOutlined","containers","styleElements","insertCss","css","options","Error","styleElement","position","prepend","container","querySelector","containerId","setAttribute","createStyleElement","insertBefore","childNodes","appendChild","charCodeAt","styleSheet","cssText","textContent","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","bind","idx","valueA","valueB","ConfigContext","viewBox","xmlns","fillRule","transform","cx","cy","rx","ry","defaultEmptyImg","simpleEmptyImg","_a$image","image","description","imageStyle","LocaleReceiver","componentName","locale","des","alt","imageNode","src","PRESENTED_IMAGE_DEFAULT","PRESENTED_IMAGE_SIMPLE","ConfigConsumer","prefix","suffixCls","renderEmpty","asyncGeneratorStep","gen","reject","_next","_throw","arg","error","done","_asyncToGenerator","fn","self","err","LayoutContext","siderHook","addSider","removeSider","generator","tagName","BasicComponent","Adapter","classString","Layout","siders","setSiders","hasSider","Tag","id","prev","currentId","isFinite","dimensionMaxMap","SiderContext","generateId","trigger","_a$defaultCollapsed","defaultCollapsed","_a$theme","_a$style","_a$collapsible","collapsible","_a$reverseArrow","reverseArrow","_a$width","_a$collapsedWidth","collapsedWidth","zeroWidthTriggerStyle","onCollapse","onBreakpoint","collapsed","setCollapsed","below","setBelow","handleSetCollapsed","responsiveHandlerRef","responsiveHandler","uniqueId","divProps","rawWidth","siderWidth","zeroWidthTrigger","defaultTrigger","triggerDom","divStyle","siderCls","toggle","siderCollapsed","expanded","flex","maxWidth","minWidth","Header","Footer","Content","Sider","isPointsEq","a1","a2","isAlignPoint","getMotion","motion","Mask","zIndex","mask","maskMotion","maskAnimation","maskTransitionName","vendorPrefix","_typeof","_defineProperty","jsCssMap","Webkit","Moz","ms","getVendorPrefix","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","offsetHeight","el","getScroll","w","top","method","documentElement","body","getScrollLeft","getScrollTop","getOffset","pos","box","y","doc","ownerDocument","docElem","getBoundingClientRect","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","nodeType","_RE_NUM_NO_PX","RE_POS","getOffsetDirection","dir","option","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","getComputedStyle","getPropertyValue","matrix","split","getTransformXY","resultXY","xy","arr","match2d","item","setTransformXY","each","isBorderBoxFn","cs","computedStyle","test","rsLeft","pixelLeft","BOX_MODELS","swap","getPBMWidth","which","j","cssProp","domUtils","getParent","parent","host","parentNode","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_key2","offsetWidth","to","first","includeMargin","utils","getWindow","getDocument","ignoreShake","oriOffset","oLeft","oTop","tLeft","tTop","useCssTransform","setOffset","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","bottom","clientWidth","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","region","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","elFuturePos","isFailY","flip","reg","m","flipOffset","convertOffset","str","offsetLen","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","newOffset","newTargetOffset","isCompleteFailX","_newPoints","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","targetRegion","isOutOfVisibleRect","tgtPoint","pageX","pageY","clientX","clientY","pointInView","__getOffsetParent","__getVisibleRectForElement","monitorResize","prevWidth","prevHeight","resizeObserver","contains","_target$getBoundingCl","fixedWidth","fixedHeight","observe","disconnect","getPoint","point","RefAlign","disabled","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","cacheRef","useRef","childNode","Children","only","forceAlignPropsRef","_useBuffer","calledRef","timeoutRef","cancelTrigger","force","buffer","useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestOnAlign","activeElement","offsetParent","getBBox","_box","isVisible","focus","restoreFocus","_useBuffer2","_forceAlign","cancelForceAlign","resizeMonitor","sourceResizeMonitor","useEffect","winResizeRef","remove","useImperativeHandle","forceAlign","StatusQueue","PopupInner","stretch","destroyPopupOnHide","getRootDomNode","getClassNameFromAlign","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","alignRef","elementRef","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","minHeight","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","rafRef","cancelRaf","doMeasure","mark","_callee","_context","stop","useVisibleStatus","_useVisibleStatus2","goNextStatus","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","originHandler","pointerEvents","alignDisabled","count","motionRef","motionClassName","motionStyle","mergedClassName","MobilePopupInner","_props$mobile","mobile","popupClassName","popupStyle","_props$mobile$popupMo","popupMotion","popupRender","Popup","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","agent","vendor","opera","popupNode","noop","returnEmptyString","returnDocument","ALL_HANDLERS","PortalComponent","Trigger","Portal","popupVisible","popupRef","triggerRef","mouseEnterDelay","fireEvents","delaySetPopupVisible","onMouseMove","setPoint","mouseLeaveDelay","onPopupMouseEnter","clearDelayTimer","onPopupMouseLeave","_this$popupRef$curren","relatedTarget","onFocus","isFocusToShow","focusTime","Date","now","focusDelay","preClickTime","preTouchTime","onBlur","isBlurToHide","blurDelay","onContextMenu","preventDefault","setPopupVisible","onContextMenuClose","isContextMenuToShow","close","preTime","isClickToShow","isClickToHide","nextVisible","onPopupMouseDown","_this$context","hasPopupMouseDown","mouseDownTimeout","context","onDocumentClick","maskClosable","root","getPopupDomNode","getTriggerDOMNode","domNode","getPopupClassNameFromAlign","popupPlacement","builtinPlacements","alignPoint","placements","placement","getAlignPopupClassName","getComponent","_this$props2","onPopupAlign","popupAnimation","popupTransitionName","popup","_this$state","getPopupAlign","mouseProps","isMouseEnterToShow","isMouseLeaveToHide","attachParent","popupContainer","attachId","mountNode","_this$props3","getPopupContainer","getContainer","handlePortalUpdate","prevPopupVisible","afterPopupVisibleChange","defaultPopupVisible","componentDidUpdate","currentDocument","clickOutsideHandler","touchOutsideHandler","contextMenuOutsideHandler1","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","child","newChildProps","createTwoChains","childrenClassName","portal","didUpdate","prevState","newState","topLeft","topCenter","topRight","bottomLeft","bottomCenter","bottomRight","_props$arrow","arrow","_props$prefixCls","_props$placement","_props$placements","overlayClassName","overlayStyle","_props$trigger","otherProps","triggerVisible","setTriggerVisible","openClassName","childrenProps","childClassName","minOverlayWidthMatchTrigger","getOverlayElement","overlay","onOverlayClick","overlayProps","getMenuElement","overlayElement","extraOverlayProps","triggerHideAction","onVisibleChange","ButtonGroup","Group","getContextPopupContainer","htmlType","href","_props$icon","title","buttonsRender","dropdownProps","_buttonsRender","_buttonsRender2","leftButtonToRender","rightButtonToRender","__ANT_BUTTON","buttons","dropdownTrigger","overlayClassNameCustomized","triggerActions","overlayNode","devWarning","mode","_overlayProps$selecta","selectable","_overlayProps$focusab","focusable","expandIcon","renderOverlay","getPlacement","Button","_extendStatics","__extends","__proto__","__","MiniStoreContext","store","__assign","defaultMapStateToProps","connect","mapStateToProps","shouldSubscribe","finalMapStateToProps","WrappedComponent","Connect","handleChange","nextState","getState","subscribed","componentDidMount","trySubscribe","componentWillUnmount","tryUnsubscribe","shouldComponentUpdate","nextProps","miniStoreForwardedRef","getDisplayName","forwarded","createChainedFunction","applePhone","appleIpod","appleTablet","androidPhone","androidTablet","amazonPhone","amazonTablet","windowsPhone","windowsTablet","otherBlackberry","otherBlackberry10","otherOpera","otherChrome","otherFirefox","regex","ua","tmp","_tmp","_tmp3","apple","phone","ipod","tablet","device","amazon","android","windows","other","blackberry","blackberry10","firefox","chrome","any","isMobile","getKeyFromChildrenIndex","menuEventKey","getMenuIdFromSubMenuEventKey","eventKey","loopMenuItem","cb","isMenuItemGroup","c2","menuAllProps","getWidth","_getComputedStyle","styleProperty","leftTop","rightTop","placementsRtl","guid","popupPlacementMap","horizontal","vertical","defaultActiveFirst","menuId","SubMenu","onDestroy","onKeyDown","menu","menuInstance","getVisible","onTitleClick","triggerOpenChange","handled","onOpenChange","domEvent","parentMenu","subMenuInstance","onTitleMouseEnter","onItemHover","hover","onTitleMouseLeave","triggerSubMenuAction","onSubMenuClick","addKeyPath","onSelect","onDeselect","rootPrefixCls","getActiveClassName","getDisabledClassName","getSelectedClassName","getOpenClassName","isOpen","getMode","saveMenuInstance","keyPath","open","openChange","mouseenterTimeout","isChildrenSelected","loopMenuItemRecursively","construct","isSubMenu","isMenuItem","selectedKeys","isInlineMode","adjustWidth","subMenuTitle","popupMenu","saveSubMenuTitle","getBaseProps","mergedMode","level","inlineIndent","openKeys","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","multiple","internalMenuId","manualRef","itemIcon","haveRendered","isRootMenu","updateState","isOpenChanged","isModeChanged","updateStateRaf","minWidthTimeout","baseProps","_this3","mergedMotion","haveOpened","sharedClassName","renderPopupMenu","_classNames2","_props$parentMenu","_classNames3","inline","mouseEvents","titleClickEvents","titleMouseEvents","isRTL","paddingRight","paddingLeft","ariaOwns","role","renderChildren","triggerNode","popupOffset","connected","activeKey","subMenuKey","DOMWrap","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","cancelFrameId","lastVisibleIndex","getMenuItemNodes","ul","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","overflowedIndicator","_copy$props","propStyle","rest","k","setChildrenWidthAndResize","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","menuItemNodes","overflowedIndicatorWidth","reduce","acc","cur","handleResize","currentSumWidth","liWidth","menuUl","cancelAnimationFrame","requestAnimationFrame","MutationObserver","attributes","childList","subTree","overflowed","tag","updateActiveKey","getEventKey","getActiveKey","originalActiveKey","found","saveRef","instanceArray","SubPopupMenu","getFlatInstanceArray","activeItem","selectInfo","reverse","activeIndex","every","ci","start","renderCommonMenuItem","extraProps","childProps","renderMenuItem","prevProps","domProps","tabIndex","toArray","menuMode","_ref$defaultMotions","defaultMotions","openAnimation","openTransitionName","switchingModeFromInline","defaultMotion","Menu","_selectedKeys","selectedKey","getRealMenuMode","_assertThisInitialize2","innerMenu","getWrappedInstance","changed","processSingle","oneChanged","splice","_selectedKeys2","restoreModeVerticalFromInline","onTransitionEnd","widthCollapsed","propertyName","currentTarget","classNameValue","animVal","iconScaled","setInnerMenu","initialState","listeners","defaultSelectedKeys","defaultOpenKeys","partial","inlineOpenKeys","updateMiniStore","updateMenuDisplay","inlineCollapsed","prevOpenKeys","getInlineCollapsed","prevStoreState","newStoreState","MenuItem","isSelected","saveNode","callRef","attrs","attribute","mouseEvent","MenuItemGroup","renderInnerMenuItem","_props$className","titleClassName","listClassName","titleIsSpan","antdMenuTheme","renderTitle","rightBottom","leftBottom","overlayInnerStyle","_props$mouseEnterDela","_props$mouseLeaveDela","afterVisibleChange","_props$align","_props$destroyTooltip","destroyTooltipOnHide","defaultVisible","getTooltipContainer","domRef","destroyTooltip","keepParent","_props$arrowContent","arrowContent","autoAdjustOverflowEnabled","autoAdjustOverflowDisabled","getOverflowOptions","autoAdjustOverflow","PresetColorTypes","PresetColorRegex","getDisabledCompatibleChildren","elementType","__ANT_SWITCH","__ANT_CHECKBOX","_splitObject","picked","omitted","spanStyle","cursor","block","buttonStyle","setVisible","isNoTitle","getTooltipPlacements","arrowPointAtCenter","_config$arrowWidth","arrowWidth","_config$horizontalArr","horizontalArrowShift","_config$verticalArrow","verticalArrowShift","placementMap","getPlacements","tempVisible","arrowContentStyle","childCls","customOverlayClassName","formattedOverlayInnerStyle","vis","rect","transformOrigin","renderItem","danger","tooltipTitle","tooltipProps","childrenLength","renderItemChildren","getCollapsedHeight","getRealHeight","skipOpacityTransition","_","InternalMenu","renderMenu","menuClassName","_React$Component2","_super2","Divider","Item","ItemGroup","MenuCompleto","english","normalizeAttrs","class","iconStyles","cssInjectedFlag","valid","message","styleStr","rootProps","Icon","rotate","iconTabIndex","svgStyle","msTransform","AntdIcon","MenuResponsive","NavBar","useState","idioma","setIdioma","location","MenuSecundario","RedesSociales","rel","imagen","enlace","PieDePagina","SitiosRelacionados","Plantilla","fontSize","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_assertThisInitialized","ReferenceError","_setPrototypeOf","o","_inherits","_defineProperty2","_classnames","_twoTonePrimaryColor","warned","_getPrototypeOf","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","sham","Proxy","Super","NewTarget","isNativeReflectConstruct","possibleConstructorReturn","DefaultContext","attr","IconContext","createContext","GenIcon","data","Tree2Element","tree","conf","svgProps","computedSize","stroke","strokeWidth","_slicedToArray","_arr","_n","_d","_e","_s","containerRef","initRef","_containerRef$current","_containerRef$current2","removeChild","createPortal","objectWithoutPropertiesLoose","arrayWithoutHoles","iterableToArray","nonIterableSpread","hasOwn","classNames","argType","inner","_defineProperties","protoProps","staticProps","arr2","defaultLocale","antLocale","localeFromContext","localeCode","exist","getLocale","getLocaleCode","LocaleContext","minLen","keepEmpty","today","backToToday","month","year","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","placeholder","rangePlaceholder","lang","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangeYearPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","timePickerLocale","typeTemplate","localeValues","Pagination","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","DatePicker","TimePicker","Calendar","global","Table","filterTitle","filterConfirm","filterReset","filterEmptyText","emptyText","selectAll","selectInvert","selectionAll","sortTitle","expand","collapse","triggerDesc","triggerAsc","cancelSort","Modal","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","selectCurrent","removeCurrent","removeAll","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","Empty","Text","edit","copy","copied","PageHeader","back","Form","optional","defaultValidateMessages","required","whitespace","date","parse","invalid","types","string","array","number","integer","regexp","email","url","range","pattern","mismatch","_LoadingOutlined","LoadingOutlined","MapShim","getIndex","some","entry","class_1","__entries__","get","delete","has","ctx","isBrowser","global$1","Function","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","characterData","subtree","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","fillRef","composeRef","refs","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","note","resetWarned","warningOnce","noteOnce","_EllipsisOutlined","EllipsisOutlined","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","async","pop","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","HTMLElement","for","z","u","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_warning","_typeof2","_react","_colors","svgBaseProps","_insertCss","_createClass","caf","num","wrapperRaf","_extends","addEventListenerWrap","eventType","unstable_batchedUpdates","_BarsOutlined","BarsOutlined","UnreachableException","JSON","stringify","sizeCls","console","warn","ids","delayFrames","myId","restFrames","internalCallback","pid","styleForPseudo","isHidden","hidden","isNotGrey","Wave","animationStart","destroyed","waveColor","insertExtraNode","extraNode","attributeName","getAttributeName","csp","nonce","borderColor","innerHTML","onTransitionStart","resetEffect","animationName","bindAnimationEvent","getAttribute","clickWaveTimeoutId","animationStartId","renderWave","getCollapsedWidth","getRealWidth","loading","existIcon","rxTwoCNChar","isTwoCNChar","isUnborderedButtonType","spaceChildren","needInserted","isPrevChildPure","isCurrentChildPure","lastIndex","lastChild","insertSpace","convertLegacyProps","loadingOrDelay","_props$loading","shape","customizeSize","_props$ghost","ghost","_props$block","_props$htmlType","innerLoading","setLoading","_React$useState3","_React$useState4","hasTwoCNChar","setHasTwoCNChar","autoInsertSpaceInButton","buttonRef","delayTimeoutRef","isNeedInserted","buttonText","handleClick","autoInsertSpace","iconType","iconNode","kids","linkButtonRestProps","buttonNode"],"mappings":"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","file":"52ed53859dc7b813e9c820e6dd44b852e54f310f-1fcdb6d6b35a658bebd8.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _utils = require(\"../utils\");\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || (0, _utils.getSecondaryColor)(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return (0, _objectSpread2.default)({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = (0, _objectWithoutProperties2.default)(props, [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"]);\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || (0, _utils.getSecondaryColor)(primaryColor)\n };\n }\n\n (0, _utils.useInsertStyles)();\n (0, _utils.warning)((0, _utils.isIconDefinition)(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!(0, _utils.isIconDefinition)(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return (0, _utils.generate)(target.icon, \"svg-\".concat(target.name), (0, _objectSpread2.default)({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nvar _default = IconBase;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setTwoToneColor = setTwoToneColor;\nexports.getTwoToneColor = getTwoToneColor;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _utils = require(\"../utils\");\n\nfunction setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return _IconBase.default.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\n\nfunction getTwoToneColor() {\n var colors = _IconBase.default.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import * as React from 'react';\nvar isValidElement = React.isValidElement;\nexport { isValidElement };\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) return replacement;\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import Button from './button';\nexport default Button;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","import * as React from 'react';\nvar SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport var SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\nexport default SizeContext;","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import '../../style/index.css';\nimport './index.css';","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\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}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\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\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\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useState, useRef } from 'react';\nexport default function useMountStatus(defaultValue) {\n var destroyRef = useRef(false);\n\n var _useState = useState(defaultValue),\n _useState2 = _slicedToArray(_useState, 2),\n val = _useState2[0],\n setVal = _useState2[1];\n\n function setValue(next) {\n if (!destroyRef.current) {\n setVal(next);\n }\n }\n\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return [val, setValue];\n}","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useNextFrame from './useNextFrame';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _React$useState = React.useState(STEP_NONE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n step = _React$useState2[0],\n setStep = _React$useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE);\n }\n\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\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep);\n } else {\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);\n }\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});","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';","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\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\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 * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useState from './useState';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\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; // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n var destroyedRef = useRef(false); // =========================== Dom Node ===========================\n\n var cacheElementRef = useRef(null);\n\n function getDomElement() {\n var element = getElement();\n return element || cacheElementRef.current;\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\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\n var canEnd;\n\n if (status === STATUS_APPEAR && activeRef.current) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && activeRef.current) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && activeRef.current) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (canEnd !== false && !destroyedRef.current) {\n setStatus(STATUS_NONE);\n setStyle(null);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case 'appear':\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case 'enter':\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case 'leave':\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n\n if (!supportMotion) {\n return;\n }\n\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n clearTimeout(deadlineRef.current);\n destroyedRef.current = true;\n };\n }, []); // Trigger `onVisibleChanged`\n\n useEffect(function () {\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\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';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","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 */\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\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 supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n return findDOMNode(nodeRef.current || wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\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]; // ====================== Refs ======================\n\n\n var originRef = useRef(ref);\n originRef.current = ref;\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(originRef.current, node);\n }, []); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames; // In motion\n\n\n var statusSuffix;\n\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\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\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\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\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); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\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\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\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 * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\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 }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\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 _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 _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n/* eslint react/prop-types: 0 */\n\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', '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 */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n _this.setState(function (_ref) {\n var keyEntities = _ref.keyEntities;\n return {\n keyEntities: keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n })\n };\n });\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n restProps = _objectWithoutProperties(_this$props, [\"component\", \"children\", \"onVisibleChanged\"]);\n\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, Object.assign({}, restProps), keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, [\"status\"]);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, Object.assign({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), children);\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 }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n }\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _RightOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/RightOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _RightOutlined.default\n }));\n};\n\nRightOutlined.displayName = 'RightOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(RightOutlined);\n\nexports.default = _default;","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n))); // Automatically convert percentage into number\n\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n } // Handle floating point rounding errors\n\n\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n } // Convert into [0, 1] range if it isn't already\n\n\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? n % max + max : n % max) / parseFloat(String(max));\n } else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = n % max / parseFloat(String(max));\n }\n\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\n\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\n\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.includes('.') && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\n\nexport function isPercentage(n) {\n return typeof n === 'string' && n.includes('%');\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\n\nexport function boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\n\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\n\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}","import { bound01, pad2 } from './util'; // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\n\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\n\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\n\n\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\n\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n v: v\n };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\n\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\n\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))]; // Return a 3 character hex if possible\n\n if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\n\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))]; // Return a 4 character hex if possible\n\n if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\n\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\n\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\n\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\n\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff\n };\n}","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n};","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\n\nexport function inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n} // \n\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?'; // \n\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?'; // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\"; // Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\n\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\n\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n\n if (color.length === 0) {\n return false;\n }\n\n var named = false;\n\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color === 'transparent') {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: 'name'\n };\n } // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n\n\n var match = matchers.rgb.exec(color);\n\n if (match) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n\n match = matchers.rgba.exec(color);\n\n if (match) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n\n match = matchers.hsl.exec(color);\n\n if (match) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n\n match = matchers.hsla.exec(color);\n\n if (match) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n\n match = matchers.hsv.exec(color);\n\n if (match) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n\n match = matchers.hsva.exec(color);\n\n if (match) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n\n match = matchers.hex8.exec(color);\n\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8'\n };\n }\n\n match = matchers.hex6.exec(color);\n\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex'\n };\n }\n\n match = matchers.hex4.exec(color);\n\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8'\n };\n }\n\n match = matchers.hex3.exec(color);\n\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex'\n };\n }\n\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\n\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}","import { rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv, numberInputToObject } from './conversion';\nimport { names } from './css-color-names';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util';\n\nvar TinyColor =\n/** @class */\nfunction () {\n function TinyColor(color, opts) {\n if (color === void 0) {\n color = '';\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n var _a; // If input is already a tinycolor, return itself\n\n\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType; // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n\n this.isValid = rgb.ok;\n }\n\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n\n\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n\n\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n } else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n\n\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n\n\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns the object as a HSVA object.\n */\n\n\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this.a\n };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n\n\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this.roundA + \")\";\n };\n /**\n * Returns the object as a HSLA object.\n */\n\n\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this.a\n };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n\n\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this.roundA + \")\";\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n\n\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) {\n allow3Char = false;\n }\n\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # appened.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n\n\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) {\n allow3Char = false;\n }\n\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n\n\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) {\n allow4Char = false;\n }\n\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # appened.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n\n\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) {\n allow4Char = false;\n }\n\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the object as a RGBA object.\n */\n\n\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n\n\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\" + r + \", \" + g + \", \" + b + \")\" : \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + this.roundA + \")\";\n };\n /**\n * Returns the object as a RGBA object.\n */\n\n\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function fmt(x) {\n return Math.round(bound01(x, 255) * 100) + \"%\";\n };\n\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n\n\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function rnd(x) {\n return Math.round(bound01(x, 255) * 100);\n };\n\n return this.a === 1 ? \"rgb(\" + rnd(this.r) + \"%, \" + rnd(this.g) + \"%, \" + rnd(this.b) + \"%)\" : \"rgba(\" + rnd(this.r) + \"%, \" + rnd(this.g) + \"%, \" + rnd(this.b) + \"%, \" + this.roundA + \")\";\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n\n\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n\n if (this.a < 1) {\n return false;\n }\n\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n\n if (hex === value) {\n return key;\n }\n }\n\n return false;\n };\n /**\n * String representation of the color.\n *\n * @param format - The format to be used when displaying the string representation.\n */\n\n\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n\n return this.toRgbString();\n }\n\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n\n if (format === 'name') {\n formattedString = this.toName();\n }\n\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n };\n\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n\n\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) {\n amount = 10;\n }\n\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n\n\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n\n\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n\n\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) {\n amount = 50;\n }\n\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return new TinyColor(rgba);\n };\n\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) {\n results = 6;\n }\n\n if (slices === void 0) {\n slices = 30;\n }\n\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n\n\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) {\n results = 6;\n }\n\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n\n while (results--) {\n res.push(new TinyColor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n\n return res;\n };\n\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [this, new TinyColor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), new TinyColor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n };\n /**\n * Compute how the color would appear on a background\n */\n\n\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n return new TinyColor({\n r: bg.r + (fg.r - bg.r) * fg.a,\n g: bg.g + (fg.g - bg.g) * fg.a,\n b: bg.b + (fg.b - bg.b) * fg.a\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n\n\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n\n\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n\n\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({\n h: (h + i * increment) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n\n return result;\n };\n /**\n * compare color vs current color\n */\n\n\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n\n return TinyColor;\n}();\n\nexport { TinyColor }; // kept for backwards compatability with v1\n\nexport function tinycolor(color, opts) {\n if (color === void 0) {\n color = '';\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n return new TinyColor(color, opts);\n}","import { TinyColor } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = new TinyColor(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = new TinyColor({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n\n patterns.push(pColor.toHexString());\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n\n var _colorString = new TinyColor({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref) {\n var index = _ref.index,\n opacity = _ref.opacity;\n var darkColorString = new TinyColor(opts.backgroundColor || '#141414').mix(patterns[index], opacity * 100).toHexString();\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };","function omit(obj, fields) {\n // eslint-disable-next-line prefer-object-spread\n var shallowCopy = Object.assign({}, obj);\n\n for (var i = 0; i < fields.length; i += 1) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n\n return shallowCopy;\n}\n\nexport default omit;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nexport var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport var responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = new Map();\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (func) {\n return func(screens);\n });\n return subscribers.size >= 1;\n },\n subscribe: function subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers[\"delete\"](token);\n if (!subscribers.size) this.unregister();\n },\n unregister: function unregister() {\n var _this = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register: function register() {\n var _this2 = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\nexport default responsiveObserve;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { tuple } from '../_util/type';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between');\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter,\n wrap = props.wrap,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n screens = _React$useState2[0],\n setScreens = _React$useState2[1];\n\n var gutterRef = React.useRef(gutter);\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n var currentGutter = gutterRef.current || 0;\n\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []);\n\n var getGutter = function getGutter() {\n var results = [0, 0];\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n };\n\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var gutters = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-no-wrap\"), wrap === false), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(justify), justify), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(align), align), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n\n var rowStyle = _extends(_extends(_extends({}, gutters[0] > 0 ? {\n marginLeft: gutters[0] / -2,\n marginRight: gutters[0] / -2\n } : {}), gutters[1] > 0 ? {\n marginTop: gutters[1] / -2,\n marginBottom: gutters[1] / 2\n } : {}), style);\n\n return /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: {\n gutter: gutters,\n wrap: wrap\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes,\n style: rowStyle,\n ref: ref\n }), children));\n});\nRow.displayName = 'Row';\nexport default Row;","import { Row } from '../grid';\nexport default Row;","function _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\nmodule.exports = _nonIterableSpread;","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nexport var tupleNum = function tupleNum() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _LeftOutlined = _interopRequireDefault(require('./lib/icons/LeftOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _LeftOutlined;\nexports.default = _default;\nmodule.exports = _default;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar RightOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\"\n }\n }]\n },\n \"name\": \"right\",\n \"theme\": \"outlined\"\n};\nexports.default = RightOutlined;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _LeftOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LeftOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _LeftOutlined.default\n }));\n};\n\nLeftOutlined.displayName = 'LeftOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(LeftOutlined);\n\nexports.default = _default;","var containers = []; // will store container HTMLElement references\n\nvar styleElements = []; // will store {prepend: HTMLElement, append: HTMLElement}\n\nvar usage = 'insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).';\n\nfunction insertCss(css, options) {\n options = options || {};\n\n if (css === undefined) {\n throw new Error(usage);\n }\n\n var position = options.prepend === true ? 'prepend' : 'append';\n var container = options.container !== undefined ? options.container : document.querySelector('head');\n var containerId = containers.indexOf(container); // first time we see this container, create the necessary entries\n\n if (containerId === -1) {\n containerId = containers.push(container) - 1;\n styleElements[containerId] = {};\n } // try to get the correponding container + position styleElement, create it otherwise\n\n\n var styleElement;\n\n if (styleElements[containerId] !== undefined && styleElements[containerId][position] !== undefined) {\n styleElement = styleElements[containerId][position];\n } else {\n styleElement = styleElements[containerId][position] = createStyleElement();\n\n if (position === 'prepend') {\n container.insertBefore(styleElement, container.childNodes[0]);\n } else {\n container.appendChild(styleElement);\n }\n } // strip potential UTF-8 BOM if css was read from a file\n\n\n if (css.charCodeAt(0) === 0xFEFF) {\n css = css.substr(1, css.length);\n } // actually add the stylesheet\n\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText += css;\n } else {\n styleElement.textContent += css;\n }\n\n return styleElement;\n}\n\n;\n\nfunction createStyleElement() {\n var styleElement = document.createElement('style');\n styleElement.setAttribute('type', 'text/css');\n return styleElement;\n}\n\nmodule.exports = insertCss;\nmodule.exports.insertCss = insertCss;","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","import * as React from 'react';\nimport { ConfigContext } from '../config-provider';\n\nvar Empty = function Empty() {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-default');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-1\"),\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-2\"),\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n transform: \"translate(13.56)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-3\"),\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-4\"),\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-5\"),\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n transform: \"translate(149.65 15.383)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n }))));\n};\n\nexport default Empty;","import * as React from 'react';\nimport { ConfigContext } from '../config-provider';\n\nvar Simple = function Simple() {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-simple');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n className: \"\".concat(prefixCls, \"-path\")\n }))));\n};\n\nexport default Simple;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nvar defaultEmptyImg = /*#__PURE__*/React.createElement(DefaultEmptyImg, null);\nvar simpleEmptyImg = /*#__PURE__*/React.createElement(SimpleEmptyImg, null);\n\nvar Empty = function Empty(_a) {\n var className = _a.className,\n customizePrefixCls = _a.prefixCls,\n _a$image = _a.image,\n image = _a$image === void 0 ? defaultEmptyImg : _a$image,\n description = _a.description,\n children = _a.children,\n imageStyle = _a.imageStyle,\n restProps = __rest(_a, [\"className\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Empty\"\n }, function (locale) {\n var _classNames;\n\n var prefixCls = getPrefixCls('empty', customizePrefixCls);\n var des = typeof description !== 'undefined' ? description : locale.description;\n var alt = typeof des === 'string' ? des : 'empty';\n var imageNode = null;\n\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-normal\"), image === simpleEmptyImg), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-image\"),\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"p\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, children));\n });\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nexport default Empty;","import * as React from 'react';\nimport Empty from '../empty';\nimport { ConfigConsumer } from '.';\n\nvar renderEmpty = function renderEmpty(componentName) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return /*#__PURE__*/React.createElement(Empty, null);\n }\n });\n};\n\nexport default renderEmpty;","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport defaultRenderEmpty from './renderEmpty';\nexport var ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"ant-\".concat(suffixCls) : 'ant';\n },\n renderEmpty: defaultRenderEmpty\n});\nexport var ConfigConsumer = ConfigContext.Consumer;\n/** @deprecated Use hooks instead. This is a legacy function */\n\nexport function withConfigConsumer(config) {\n return function withConfigConsumerFunc(Component) {\n // Wrap with ConfigConsumer. Since we need compatible with react 15, be care when using ref methods\n var SFC = function SFC(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configProps) {\n var basicPrefixCls = config.prefixCls;\n var getPrefixCls = configProps.getPrefixCls;\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(basicPrefixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(Component, _extends({}, configProps, props, {\n prefixCls: prefixCls\n }));\n });\n };\n\n var cons = Component.constructor;\n var name = cons && cons.displayName || Component.name || 'Component';\n SFC.displayName = \"withConfigConsumer(\".concat(name, \")\");\n return SFC;\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nexport var LayoutContext = /*#__PURE__*/React.createContext({\n siderHook: {\n addSider: function addSider() {\n return null;\n },\n removeSider: function removeSider() {\n return null;\n }\n }\n});\n\nfunction generator(_ref) {\n var suffixCls = _ref.suffixCls,\n tagName = _ref.tagName,\n displayName = _ref.displayName;\n return function (BasicComponent) {\n var Adapter = function Adapter(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(suffixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(BasicComponent, _extends({\n prefixCls: prefixCls,\n tagName: tagName\n }, props));\n };\n\n Adapter.displayName = displayName;\n return Adapter;\n };\n}\n\nvar Basic = function Basic(props) {\n var prefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n tagName = props.tagName,\n others = __rest(props, [\"prefixCls\", \"className\", \"children\", \"tagName\"]);\n\n var classString = classNames(prefixCls, className);\n return /*#__PURE__*/React.createElement(tagName, _extends({\n className: classString\n }, others), children);\n};\n\nvar BasicLayout = function BasicLayout(props) {\n var _classNames;\n\n var _React$useContext2 = React.useContext(ConfigContext),\n direction = _React$useContext2.direction;\n\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n siders = _React$useState2[0],\n setSiders = _React$useState2[1];\n\n var prefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n hasSider = props.hasSider,\n Tag = props.tagName,\n others = __rest(props, [\"prefixCls\", \"className\", \"children\", \"hasSider\", \"tagName\"]);\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-sider\"), typeof hasSider === 'boolean' ? hasSider : siders.length > 0), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(LayoutContext.Provider, {\n value: {\n siderHook: {\n addSider: function addSider(id) {\n setSiders(function (prev) {\n return [].concat(_toConsumableArray(prev), [id]);\n });\n },\n removeSider: function removeSider(id) {\n setSiders(function (prev) {\n return prev.filter(function (currentId) {\n return currentId !== id;\n });\n });\n }\n }\n }\n }, /*#__PURE__*/React.createElement(Tag, _extends({\n className: classString\n }, others), children));\n};\n\nvar Layout = generator({\n suffixCls: 'layout',\n tagName: 'section',\n displayName: 'Layout'\n})(BasicLayout);\nvar Header = generator({\n suffixCls: 'layout-header',\n tagName: 'header',\n displayName: 'Header'\n})(Basic);\nvar Footer = generator({\n suffixCls: 'layout-footer',\n tagName: 'footer',\n displayName: 'Footer'\n})(Basic);\nvar Content = generator({\n suffixCls: 'layout-content',\n tagName: 'main',\n displayName: 'Content'\n})(Basic);\nexport { Header, Footer, Content };\nexport default Layout;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { useContext, useRef, useState, useEffect } from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport BarsOutlined from '@ant-design/icons/BarsOutlined';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport LeftOutlined from '@ant-design/icons/LeftOutlined';\nimport { LayoutContext } from './layout';\nimport { ConfigContext } from '../config-provider';\nimport isNumeric from '../_util/isNumeric';\nvar dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px'\n};\nexport var SiderContext = /*#__PURE__*/React.createContext({});\n\nvar generateId = function () {\n var i = 0;\n return function () {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n i += 1;\n return \"\".concat(prefix).concat(i);\n };\n}();\n\nvar Sider = function Sider(_a) {\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n trigger = _a.trigger,\n children = _a.children,\n _a$defaultCollapsed = _a.defaultCollapsed,\n defaultCollapsed = _a$defaultCollapsed === void 0 ? false : _a$defaultCollapsed,\n _a$theme = _a.theme,\n theme = _a$theme === void 0 ? 'dark' : _a$theme,\n _a$style = _a.style,\n style = _a$style === void 0 ? {} : _a$style,\n _a$collapsible = _a.collapsible,\n collapsible = _a$collapsible === void 0 ? false : _a$collapsible,\n _a$reverseArrow = _a.reverseArrow,\n reverseArrow = _a$reverseArrow === void 0 ? false : _a$reverseArrow,\n _a$width = _a.width,\n width = _a$width === void 0 ? 200 : _a$width,\n _a$collapsedWidth = _a.collapsedWidth,\n collapsedWidth = _a$collapsedWidth === void 0 ? 80 : _a$collapsedWidth,\n zeroWidthTriggerStyle = _a.zeroWidthTriggerStyle,\n breakpoint = _a.breakpoint,\n onCollapse = _a.onCollapse,\n onBreakpoint = _a.onBreakpoint,\n props = __rest(_a, [\"prefixCls\", \"className\", \"trigger\", \"children\", \"defaultCollapsed\", \"theme\", \"style\", \"collapsible\", \"reverseArrow\", \"width\", \"collapsedWidth\", \"zeroWidthTriggerStyle\", \"breakpoint\", \"onCollapse\", \"onBreakpoint\"]);\n\n var _useContext = useContext(LayoutContext),\n siderHook = _useContext.siderHook;\n\n var _useState = useState('collapsed' in props ? props.collapsed : defaultCollapsed),\n _useState2 = _slicedToArray(_useState, 2),\n collapsed = _useState2[0],\n setCollapsed = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n below = _useState4[0],\n setBelow = _useState4[1];\n\n useEffect(function () {\n if ('collapsed' in props) {\n setCollapsed(props.collapsed);\n }\n }, [props.collapsed]);\n\n var handleSetCollapsed = function handleSetCollapsed(value, type) {\n if (!('collapsed' in props)) {\n setCollapsed(value);\n }\n\n if (onCollapse) {\n onCollapse(value, type);\n }\n }; // ========================= Responsive =========================\n\n\n var responsiveHandlerRef = useRef();\n\n responsiveHandlerRef.current = function (mql) {\n setBelow(mql.matches);\n\n if (onBreakpoint) {\n onBreakpoint(mql.matches);\n }\n\n if (collapsed !== mql.matches) {\n handleSetCollapsed(mql.matches, 'responsive');\n }\n };\n\n useEffect(function () {\n function responsiveHandler(mql) {\n return responsiveHandlerRef.current(mql);\n }\n\n var mql;\n\n if (typeof window !== 'undefined') {\n var _window = window,\n matchMedia = _window.matchMedia;\n\n if (matchMedia && breakpoint && breakpoint in dimensionMaxMap) {\n mql = matchMedia(\"(max-width: \".concat(dimensionMaxMap[breakpoint], \")\"));\n\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql.addListener(responsiveHandler);\n }\n\n responsiveHandler(mql);\n }\n }\n\n return function () {\n try {\n mql === null || mql === void 0 ? void 0 : mql.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql === null || mql === void 0 ? void 0 : mql.removeListener(responsiveHandler);\n }\n };\n }, []);\n useEffect(function () {\n var uniqueId = generateId('ant-sider-');\n siderHook.addSider(uniqueId);\n return function () {\n return siderHook.removeSider(uniqueId);\n };\n }, []);\n\n var toggle = function toggle() {\n handleSetCollapsed(!collapsed, 'clickTrigger');\n };\n\n var _useContext2 = useContext(ConfigContext),\n getPrefixCls = _useContext2.getPrefixCls;\n\n var renderSider = function renderSider() {\n var _classNames;\n\n var prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n var divProps = omit(props, ['collapsed']);\n var rawWidth = collapsed ? collapsedWidth : width; // use \"px\" as fallback unit for width\n\n var siderWidth = isNumeric(rawWidth) ? \"\".concat(rawWidth, \"px\") : String(rawWidth); // special trigger when collapsedWidth == 0\n\n var zeroWidthTrigger = parseFloat(String(collapsedWidth || 0)) === 0 ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: toggle,\n className: classNames(\"\".concat(prefixCls, \"-zero-width-trigger\"), \"\".concat(prefixCls, \"-zero-width-trigger-\").concat(reverseArrow ? 'right' : 'left')),\n style: zeroWidthTriggerStyle\n }, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null)) : null;\n var iconObj = {\n expanded: reverseArrow ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),\n collapsed: reverseArrow ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)\n };\n var status = collapsed ? 'collapsed' : 'expanded';\n var defaultTrigger = iconObj[status];\n var triggerDom = trigger !== null ? zeroWidthTrigger || /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-trigger\"),\n onClick: toggle,\n style: {\n width: siderWidth\n }\n }, trigger || defaultTrigger) : null;\n\n var divStyle = _extends(_extends({}, style), {\n flex: \"0 0 \".concat(siderWidth),\n maxWidth: siderWidth,\n minWidth: siderWidth,\n width: siderWidth\n });\n\n var siderCls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(theme), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-collapsed\"), !!collapsed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-trigger\"), collapsible && trigger !== null && !zeroWidthTrigger), _defineProperty(_classNames, \"\".concat(prefixCls, \"-below\"), !!below), _defineProperty(_classNames, \"\".concat(prefixCls, \"-zero-width\"), parseFloat(siderWidth) === 0), _classNames), className);\n return /*#__PURE__*/React.createElement(\"aside\", _extends({\n className: siderCls\n }, divProps, {\n style: divStyle\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-children\")\n }, children), collapsible || below && zeroWidthTrigger ? triggerDom : null);\n };\n\n return /*#__PURE__*/React.createElement(SiderContext.Provider, {\n value: {\n siderCollapsed: collapsed,\n collapsedWidth: collapsedWidth\n }\n }, renderSider());\n};\n\nexport default Sider;","var isNumeric = function isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\n\nexport default isNumeric;","import InternalLayout, { Content, Footer, Header } from './layout';\nimport Sider from './Sider';\nvar Layout = InternalLayout;\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\nLayout.Sider = Sider;\nexport default Layout;","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}","export default (function () {\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(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.substr(0, 4))) {\n return true;\n }\n\n return false;\n});","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 _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 React.createElement(CSSMotion, Object.assign({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar vendorPrefix;\nvar 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\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var 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\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // 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 // 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 // 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 return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\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 var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\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\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\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\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\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} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\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\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var 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 (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var 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\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\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); // Revert the old values\n\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 var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\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\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\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 */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\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\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\n\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n/**\n * 获得元素的显示部分的区域\n */\n\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // 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 && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\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\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\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 var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var 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 } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\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\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\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 var 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\n offset.width = w;\n offset.height = h;\n return offset;\n}\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var 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\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\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/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\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 var n;\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\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 * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\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 var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\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(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\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 var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var 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 var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };","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 * Removed props:\n * - childrenProps\n */\n\nimport React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\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 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.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 latestOnAlign = _forceAlignPropsRef$c.onAlign;\n\n if (!latestDisabled && latestTarget) {\n var source = nodeRef.current;\n var result;\n var element = getElement(latestTarget);\n var point = getPoint(latestTarget);\n cacheRef.current.element = element;\n cacheRef.current.point = point; // 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, align);\n } else if (point) {\n result = alignPoint(source, point, align);\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 // Listen for target updated\n\n\n var resizeMonitor = React.useRef({\n cancel: function cancel() {}\n }); // Listen for source updated\n\n var sourceResizeMonitor = React.useRef({\n cancel: function cancel() {}\n });\n React.useEffect(function () {\n var element = getElement(target);\n var point = getPoint(target);\n\n if (nodeRef.current !== sourceResizeMonitor.current.element) {\n sourceResizeMonitor.current.cancel();\n sourceResizeMonitor.current.element = nodeRef.current;\n sourceResizeMonitor.current.cancel = monitorResize(nodeRef.current, _forceAlign);\n }\n\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point)) {\n _forceAlign(); // Add resize observer\n\n\n if (resizeMonitor.current.element !== element) {\n resizeMonitor.current.cancel();\n resizeMonitor.current.element = element;\n resizeMonitor.current.cancel = monitorResize(element, _forceAlign);\n }\n }\n }); // 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 var winResizeRef = React.useRef(null);\n React.useEffect(function () {\n if (monitorWindowResize) {\n if (!winResizeRef.current) {\n winResizeRef.current = addEventListener(window, 'resize', _forceAlign);\n }\n } else if (winResizeRef.current) {\n winResizeRef.current.remove();\n winResizeRef.current = null;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n resizeMonitor.current.cancel();\n sourceResizeMonitor.current.cancel();\n if (winResizeRef.current) winResizeRef.current.remove();\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 (React.isValidElement(childNode)) {\n childNode = React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RefAlign = React.forwardRef(Align);\nRefAlign.displayName = 'Align';\nexport default RefAlign;","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 if (!calledRef.current || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n cancelTrigger();\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n cancelTrigger();\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\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.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/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar StatusQueue = ['measure', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setStatus = _useState2[1];\n\n var rafRef = useRef();\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\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\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 _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 CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from './useVisibleStatus';\nimport { getMotion } from '../utils/legacyUtil';\nimport useStretchStyle from './useStretchStyle';\nvar PopupInner = 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 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 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 var prepareResolveRef = useRef(); // `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 if (status === 'align') {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n setAlignedClassName(nextAlignedClassName); // Repeat until not more align needed\n\n if (alignedClassName !== nextAlignedClassName) {\n Promise.resolve().then(function () {\n forceAlign();\n });\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 onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // ======================== Motion ========================\n\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(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex\n }, style), {}, {\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n pointerEvents: status === 'stable' ? undefined : 'none'\n }); // Align status\n\n\n var alignDisabled = true;\n\n if ((align === null || align === void 0 ? 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 = React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return React.createElement(CSSMotion, Object.assign({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return 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 }, React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\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 setTargetSize({\n width: element.offsetWidth,\n height: element.offsetHeight\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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = 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 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 = 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 React.createElement(CSSMotion, Object.assign({\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 React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\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 = React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, [\"visible\", \"mobile\"]);\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 ? React.createElement(MobilePopupInner, Object.assign({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : React.createElement(PopupInner, Object.assign({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return React.createElement(\"div\", null, React.createElement(Mask, Object.assign({}, cloneProps)), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = React.createContext(null);\nexport default TriggerContext;","import _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 * 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 * Internal usage. Do not use in your code since this will be removed.\n */\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 function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n _this.popupRef = React.createRef();\n _this.triggerRef = React.createRef();\n\n _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 _this.onMouseMove = function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n };\n\n _this.onMouseLeave = function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onPopupMouseEnter = function () {\n _this.clearDelayTimer();\n };\n\n _this.onPopupMouseLeave = function (e) {\n var _this$popupRef$curren; // https://github.com/react-component/trigger/pull/13\n // react bug?\n\n\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 _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 _this.onMouseDown = function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n };\n\n _this.onTouchStart = function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n };\n\n _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 _this.onContextMenu = function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n };\n\n _this.onContextMenuClose = function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n };\n\n _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 _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 _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 (!contains(root, target) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n };\n\n _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 _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 _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 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 React.createElement(Popup, Object.assign({\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 }), typeof popup === 'function' ? popup() : popup);\n };\n\n _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 _this.getContainer = function () {\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\n _this.attachParent(popupContainer);\n\n return popupContainer;\n };\n\n _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 _this.handlePortalUpdate = function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\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; // for test\n\n\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 * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n\n }, {\n key: \"setPopupVisible\",\n value: 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: \"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 = React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = 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 React.createElement(TriggerContext.Provider, {\n value: {\n onPopupMouseDown: this.onPopupMouseDown\n }\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 Trigger.contextType = TriggerContext;\n 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 return Trigger;\n}\nexport default generateTrigger(Portal);","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\n\nfunction Dropdown(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n otherProps = _objectWithoutProperties(props, [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\"]);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n var overlayProps = getOverlayElement().props;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(visible) {\n var onVisibleChange = props.onVisibleChange;\n setTriggerVisible(visible);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(visible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n var extraOverlayProps = {\n prefixCls: \"\".concat(prefixCls, \"-menu\"),\n onClick: onClick\n };\n\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n\n return React.createElement(React.Fragment, null, arrow && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), React.cloneElement(overlayElement, extraOverlayProps));\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return triggerVisible && children ? React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return React.createElement(Trigger, Object.assign({}, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Dropdown from './dropdown';\nvar ButtonGroup = Button.Group;\n\nvar DropdownButton = function DropdownButton(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var customizePrefixCls = props.prefixCls,\n type = props.type,\n disabled = props.disabled,\n onClick = props.onClick,\n htmlType = props.htmlType,\n children = props.children,\n className = props.className,\n overlay = props.overlay,\n trigger = props.trigger,\n align = props.align,\n visible = props.visible,\n onVisibleChange = props.onVisibleChange,\n placement = props.placement,\n getPopupContainer = props.getPopupContainer,\n href = props.href,\n _props$icon = props.icon,\n icon = _props$icon === void 0 ? /*#__PURE__*/React.createElement(EllipsisOutlined, null) : _props$icon,\n title = props.title,\n buttonsRender = props.buttonsRender,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"disabled\", \"onClick\", \"htmlType\", \"children\", \"className\", \"overlay\", \"trigger\", \"align\", \"visible\", \"onVisibleChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\"]);\n\n var prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\n var dropdownProps = {\n align: align,\n overlay: overlay,\n disabled: disabled,\n trigger: disabled ? [] : trigger,\n onVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n };\n\n if ('visible' in props) {\n dropdownProps.visible = visible;\n }\n\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n\n var leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n disabled: disabled,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n var rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n icon: icon\n });\n\n var _buttonsRender = buttonsRender([leftButton, rightButton]),\n _buttonsRender2 = _slicedToArray(_buttonsRender, 2),\n leftButtonToRender = _buttonsRender2[0],\n rightButtonToRender = _buttonsRender2[1];\n\n return /*#__PURE__*/React.createElement(ButtonGroup, _extends({}, restProps, {\n className: classNames(prefixCls, className)\n }), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, dropdownProps, rightButtonToRender));\n};\n\nDropdownButton.__ANT_BUTTON = true;\nDropdownButton.defaultProps = {\n type: 'default',\n buttonsRender: function buttonsRender(buttons) {\n return buttons;\n }\n};\nexport default DropdownButton;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport RcDropdown from 'rc-dropdown';\nimport classNames from 'classnames';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport DropdownButton from './dropdown-button';\nimport { ConfigContext } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport { tuple } from '../_util/type';\nimport { cloneElement } from '../_util/reactNode';\nvar Placements = tuple('topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight');\n\nvar Dropdown = function Dropdown(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var getTransitionName = function getTransitionName() {\n var _props$placement = props.placement,\n placement = _props$placement === void 0 ? '' : _props$placement,\n transitionName = props.transitionName;\n\n if (transitionName !== undefined) {\n return transitionName;\n }\n\n if (placement.indexOf('top') >= 0) {\n return 'slide-down';\n }\n\n return 'slide-up';\n };\n\n var renderOverlay = function renderOverlay(prefixCls) {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n var overlay = props.overlay;\n var overlayNode;\n\n if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n var overlayProps = overlayNode.props; // Warning if use other mode\n\n devWarning(!overlayProps.mode || overlayProps.mode === 'vertical', 'Dropdown', \"mode=\\\"\".concat(overlayProps.mode, \"\\\" is not supported for Dropdown's Menu.\")); // menu cannot be selectable in dropdown defaultly\n // menu should be focusable in dropdown defaultly\n\n var _overlayProps$selecta = overlayProps.selectable,\n selectable = _overlayProps$selecta === void 0 ? false : _overlayProps$selecta,\n _overlayProps$focusab = overlayProps.focusable,\n focusable = _overlayProps$focusab === void 0 ? true : _overlayProps$focusab;\n var expandIcon = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-menu-submenu-arrow\")\n }, /*#__PURE__*/React.createElement(RightOutlined, {\n className: \"\".concat(prefixCls, \"-menu-submenu-arrow-icon\")\n }));\n var fixedModeOverlay = typeof overlayNode.type === 'string' ? overlayNode : cloneElement(overlayNode, {\n mode: 'vertical',\n selectable: selectable,\n focusable: focusable,\n expandIcon: expandIcon\n });\n return fixedModeOverlay;\n };\n\n var getPlacement = function getPlacement() {\n var placement = props.placement;\n\n if (placement !== undefined) {\n return placement;\n }\n\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n\n var arrow = props.arrow,\n customizePrefixCls = props.prefixCls,\n children = props.children,\n trigger = props.trigger,\n disabled = props.disabled,\n getPopupContainer = props.getPopupContainer,\n overlayClassName = props.overlayClassName;\n var prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n var child = React.Children.only(children);\n var dropdownTrigger = cloneElement(child, {\n className: classNames(\"\".concat(prefixCls, \"-trigger\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), child.props.className),\n disabled: disabled\n });\n var overlayClassNameCustomized = classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n var triggerActions = disabled ? [] : trigger;\n var alignPoint;\n\n if (triggerActions && triggerActions.indexOf('contextMenu') !== -1) {\n alignPoint = true;\n }\n\n return /*#__PURE__*/React.createElement(RcDropdown, _extends({\n arrow: arrow,\n alignPoint: alignPoint\n }, props, {\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: getTransitionName(),\n trigger: triggerActions,\n overlay: function overlay() {\n return renderOverlay(prefixCls);\n },\n placement: getPlacement()\n }), dropdownTrigger);\n};\n\nDropdown.Button = DropdownButton;\nDropdown.defaultProps = {\n mouseEnterDelay: 0.15,\n mouseLeaveDelay: 0.1\n};\nexport default Dropdown;","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nimport * as React from 'react';\nexport var MiniStoreContext = React.createContext(null);\n\nvar Provider =\n/** @class */\nfunction (_super) {\n __extends(Provider, _super);\n\n function Provider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n Provider.prototype.render = function () {\n return React.createElement(MiniStoreContext.Provider, {\n value: this.props.store\n }, this.props.children);\n };\n\n return Provider;\n}(React.Component);\n\nexport { Provider };","import Dropdown from './dropdown';\nexport default Dropdown;","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { MiniStoreContext } from './Provider';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nexport function connect(mapStateToProps, options) {\n if (options === void 0) {\n options = {};\n }\n\n var shouldSubscribe = !!mapStateToProps;\n var finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n var Connect =\n /** @class */\n function (_super) {\n __extends(Connect, _super);\n\n function Connect(props, context) {\n var _this = _super.call(this, props, context) || this;\n\n _this.unsubscribe = null;\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n\n var nextState = finalMapStateToProps(_this.store.getState(), _this.props);\n\n _this.setState({\n subscribed: nextState\n });\n };\n\n _this.store = _this.context;\n _this.state = {\n subscribed: finalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n Connect.getDerivedStateFromProps = function (props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n\n return {\n props: props\n };\n };\n\n Connect.prototype.componentDidMount = function () {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillUnmount = function () {\n this.tryUnsubscribe();\n };\n\n Connect.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state.subscribed, nextState.subscribed);\n };\n\n Connect.prototype.trySubscribe = function () {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function () {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.render = function () {\n var props = __assign(__assign(__assign({}, this.props), this.state.subscribed), {\n store: this.store\n });\n\n return React.createElement(WrappedComponent, __assign({}, props, {\n ref: this.props.miniStoreForwardedRef\n }));\n };\n\n Connect.displayName = \"Connect(\" + getDisplayName(WrappedComponent) + \")\";\n Connect.contextType = MiniStoreContext;\n return Connect;\n }(React.Component);\n\n if (options.forwardRef) {\n var forwarded = React.forwardRef(function (props, ref) {\n return React.createElement(Connect, __assign({}, props, {\n miniStoreForwardedRef: ref\n }));\n });\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nexport function create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = __assign(__assign({}, state), partial);\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @returns {function|null}\n */\nexport default function createChainedFunction() {\n var args = [].slice.call(arguments, 0);\n\n if (args.length === 1) {\n return args[0];\n }\n\n return function chainedFunction() {\n for (var i = 0; i < args.length; i++) {\n if (args[i] && args[i].apply) {\n args[i].apply(this, arguments);\n }\n }\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\"; // MIT License from https://github.com/kaimallea/isMobile\n\nvar applePhone = /iPhone/i;\nvar appleIpod = /iPod/i;\nvar appleTablet = /iPad/i;\nvar androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\n\nvar androidTablet = /Android/i;\nvar amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nvar amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nvar windowsPhone = /Windows Phone/i;\nvar windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\n\nvar otherBlackberry = /BlackBerry/i;\nvar otherBlackberry10 = /BB10/i;\nvar otherOpera = /Opera Mini/i;\nvar otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nvar otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n var ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : ''); // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n\n var tmp = ua.split('[FBAN');\n\n if (typeof tmp[1] !== 'undefined') {\n var _tmp = tmp;\n\n var _tmp2 = _slicedToArray(_tmp, 1);\n\n ua = _tmp2[0];\n } // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n\n\n tmp = ua.split('Twitter');\n\n if (typeof tmp[1] !== 'undefined') {\n var _tmp3 = tmp;\n\n var _tmp4 = _slicedToArray(_tmp3, 1);\n\n ua = _tmp4[0];\n }\n\n var result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device: (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) && !match(windowsPhone, ua)\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua)\n },\n android: {\n phone: !match(windowsPhone, ua) && match(amazonPhone, ua) || !match(windowsPhone, ua) && match(androidPhone, ua),\n tablet: !match(windowsPhone, ua) && !match(amazonPhone, ua) && !match(androidPhone, ua) && (match(amazonTablet, ua) || match(androidTablet, ua)),\n device: !match(windowsPhone, ua) && (match(amazonPhone, ua) || match(amazonTablet, ua) || match(androidPhone, ua) || match(androidTablet, ua)) || match(/\\bokhttp\\b/i, ua)\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua)\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device: match(otherBlackberry, ua) || match(otherBlackberry10, ua) || match(otherOpera, ua) || match(otherFirefox, ua) || match(otherChrome, ua)\n },\n // Additional\n any: null,\n phone: null,\n tablet: null\n };\n result.any = result.apple.device || result.android.device || result.windows.device || result.other.device; // excludes 'other' devices and ipods, targeting touchscreen phones\n\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n return result;\n}\n\nvar defaultResult = _objectSpread(_objectSpread({}, isMobile()), {}, {\n isMobile: isMobile\n});\n\nexport default defaultResult;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport isMobile from './utils/isMobile';\nexport function noop() {}\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n var prefix = menuEventKey || '';\n return child.key || \"\".concat(prefix, \"item_\").concat(index);\n}\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return \"\".concat(eventKey, \"-menu-\");\n}\nexport function loopMenuItem(children, cb) {\n var index = -1;\n React.Children.forEach(children, function (c) {\n index += 1;\n\n if (c && c.type && c.type.isMenuItemGroup) {\n React.Children.forEach(c.props.children, function (c2) {\n index += 1;\n cb(c2, index);\n });\n } else {\n cb(c, index);\n }\n });\n}\nexport function loopMenuItemRecursively(children, keys, ret) {\n /* istanbul ignore if */\n if (!children || ret.find) {\n return;\n }\n\n React.Children.forEach(children, function (c) {\n if (c) {\n var construct = c.type;\n\n if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {\n return;\n }\n\n if (keys.indexOf(c.key) !== -1) {\n // eslint-disable-next-line no-param-reassign\n ret.find = true;\n } else if (c.props.children) {\n loopMenuItemRecursively(c.props.children, keys, ret);\n }\n }\n });\n}\nexport var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator', 'motion', // the following keys found need to be removed from test regression\n'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon']; // ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\n\nexport var getWidth = function getWidth(elem) {\n var includeMargin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n\n if (width) {\n if (includeMargin) {\n var _getComputedStyle = getComputedStyle(elem),\n marginLeft = _getComputedStyle.marginLeft,\n marginRight = _getComputedStyle.marginRight;\n\n width += +marginLeft.replace('px', '') + +marginRight.replace('px', '');\n }\n\n width = +width.toFixed(6);\n }\n\n return width || 0;\n};\nexport var setStyle = function setStyle(elem, styleProperty, value) {\n if (elem && _typeof(elem.style) === 'object') {\n // eslint-disable-next-line no-param-reassign\n elem.style[styleProperty] = value;\n }\n};\nexport var isMobileDevice = function isMobileDevice() {\n return isMobile.any;\n};","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","import _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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport Trigger from 'rc-trigger';\nimport raf from \"rc-util/es/raf\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport { connect } from 'mini-store';\nimport SubPopupMenu from './SubPopupMenu';\nimport { placements, placementsRtl } from './placements';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey, menuAllProps } from './util';\nvar guid = 0;\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\n\nvar updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {\n var menuId = getMenuIdFromSubMenuEventKey(eventKey);\n var state = store.getState();\n store.setState({\n defaultActiveFirst: _objectSpread(_objectSpread({}, state.defaultActiveFirst), {}, _defineProperty({}, menuId, defaultActiveFirst))\n });\n};\n\nexport var SubMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubMenu, _React$Component);\n\n var _super = _createSuper(SubMenu);\n\n function SubMenu(props) {\n var _this;\n\n _classCallCheck(this, SubMenu);\n\n _this = _super.call(this, props);\n\n _this.onDestroy = function (key) {\n _this.props.onDestroy(key);\n };\n /**\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n var menu = _this.menuInstance;\n var store = _this.props.store;\n\n var visible = _this.getVisible();\n\n if (keyCode === KeyCode.ENTER) {\n _this.onTitleClick(e);\n\n updateDefaultActiveFirst(store, _this.props.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (visible) {\n menu.onKeyDown(e);\n } else {\n _this.triggerOpenChange(true); // need to update current menu's defaultActiveFirst value\n\n\n updateDefaultActiveFirst(store, _this.props.eventKey, true);\n }\n\n return true;\n }\n\n if (keyCode === KeyCode.LEFT) {\n var handled;\n\n if (visible) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n\n if (!handled) {\n _this.triggerOpenChange(false);\n\n handled = true;\n }\n\n return handled;\n }\n\n if (visible && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n\n return undefined;\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onPopupVisibleChange = function (visible) {\n _this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props = _this.props,\n key = _this$props.eventKey,\n onMouseEnter = _this$props.onMouseEnter,\n store = _this$props.store;\n updateDefaultActiveFirst(store, _this.props.eventKey, false);\n onMouseEnter({\n key: key,\n domEvent: e\n });\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props2 = _this.props,\n parentMenu = _this$props2.parentMenu,\n eventKey = _this$props2.eventKey,\n onMouseLeave = _this$props2.onMouseLeave;\n parentMenu.subMenuInstance = _assertThisInitialized(_this);\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleMouseEnter = function (domEvent) {\n var _this$props3 = _this.props,\n key = _this$props3.eventKey,\n onItemHover = _this$props3.onItemHover,\n onTitleMouseEnter = _this$props3.onTitleMouseEnter;\n onItemHover({\n key: key,\n hover: true\n });\n onTitleMouseEnter({\n key: key,\n domEvent: domEvent\n });\n };\n\n _this.onTitleMouseLeave = function (e) {\n var _this$props4 = _this.props,\n parentMenu = _this$props4.parentMenu,\n eventKey = _this$props4.eventKey,\n onItemHover = _this$props4.onItemHover,\n onTitleMouseLeave = _this$props4.onTitleMouseLeave;\n parentMenu.subMenuInstance = _assertThisInitialized(_this);\n onItemHover({\n key: eventKey,\n hover: false\n });\n onTitleMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleClick = function (e) {\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n props.onTitleClick({\n key: props.eventKey,\n domEvent: e\n });\n\n if (props.triggerSubMenuAction === 'hover') {\n return;\n }\n\n _this.triggerOpenChange(!_this.getVisible(), 'click');\n\n updateDefaultActiveFirst(props.store, _this.props.eventKey, false);\n };\n\n _this.onSubMenuClick = function (info) {\n // in the case of overflowed submenu\n // onClick is not copied over\n if (typeof _this.props.onClick === 'function') {\n _this.props.onClick(_this.addKeyPath(info));\n }\n };\n\n _this.onSelect = function (info) {\n _this.props.onSelect(info);\n };\n\n _this.onDeselect = function (info) {\n _this.props.onDeselect(info);\n };\n\n _this.getPrefixCls = function () {\n return \"\".concat(_this.props.rootPrefixCls, \"-submenu\");\n };\n\n _this.getActiveClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-active\");\n };\n\n _this.getDisabledClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-disabled\");\n };\n\n _this.getSelectedClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-selected\");\n };\n\n _this.getOpenClassName = function () {\n return \"\".concat(_this.props.rootPrefixCls, \"-submenu-open\");\n };\n\n _this.getVisible = function () {\n return _this.state.isOpen;\n };\n\n _this.getMode = function () {\n return _this.state.mode;\n };\n\n _this.saveMenuInstance = function (c) {\n // children menu instance\n _this.menuInstance = c;\n };\n\n _this.addKeyPath = function (info) {\n return _objectSpread(_objectSpread({}, info), {}, {\n keyPath: (info.keyPath || []).concat(_this.props.eventKey)\n });\n };\n\n _this.triggerOpenChange = function (open, type) {\n var key = _this.props.eventKey;\n\n var openChange = function openChange() {\n _this.onOpenChange({\n key: key,\n item: _assertThisInitialized(_this),\n trigger: type,\n open: open\n });\n };\n\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n _this.mouseenterTimeout = setTimeout(function () {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n };\n\n _this.isChildrenSelected = function () {\n var ret = {\n find: false\n };\n loopMenuItemRecursively(_this.props.children, _this.props.selectedKeys, ret);\n return ret.find;\n };\n\n _this.isInlineMode = function () {\n return _this.getMode() === 'inline';\n };\n\n _this.adjustWidth = function () {\n /* istanbul ignore if */\n if (!_this.subMenuTitle || !_this.menuInstance) {\n return;\n }\n\n var popupMenu = ReactDOM.findDOMNode(_this.menuInstance);\n\n if (popupMenu.offsetWidth >= _this.subMenuTitle.offsetWidth) {\n return;\n }\n /* istanbul ignore next */\n\n\n popupMenu.style.minWidth = \"\".concat(_this.subMenuTitle.offsetWidth, \"px\");\n };\n\n _this.saveSubMenuTitle = function (subMenuTitle) {\n _this.subMenuTitle = subMenuTitle;\n };\n\n _this.getBaseProps = function () {\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n props = _assertThisInitialize2.props;\n\n var mergedMode = _this.getMode();\n\n return {\n mode: mergedMode === 'horizontal' ? 'vertical' : mergedMode,\n visible: _this.getVisible(),\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n onClick: _this.onSubMenuClick,\n onSelect: _this.onSelect,\n onDeselect: _this.onDeselect,\n onDestroy: _this.onDestroy,\n selectedKeys: props.selectedKeys,\n eventKey: \"\".concat(props.eventKey, \"-menu-\"),\n openKeys: props.openKeys,\n motion: props.motion,\n onOpenChange: _this.onOpenChange,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: _assertThisInitialized(_this),\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(props.eventKey)],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n id: _this.internalMenuId,\n manualRef: _this.saveMenuInstance,\n itemIcon: props.itemIcon,\n expandIcon: props.expandIcon,\n direction: props.direction\n };\n };\n\n _this.getMotion = function (mode, visible) {\n var _assertThisInitialize3 = _assertThisInitialized(_this),\n haveRendered = _assertThisInitialize3.haveRendered;\n\n var _this$props5 = _this.props,\n motion = _this$props5.motion,\n rootPrefixCls = _this$props5.rootPrefixCls; // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's not visible (not sure why)\n // show appear transition if it's not inline mode\n\n var mergedMotion = _objectSpread(_objectSpread({}, motion), {}, {\n leavedClassName: \"\".concat(rootPrefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: haveRendered || !visible || mode !== 'inline'\n });\n\n return mergedMotion;\n };\n\n var store = props.store,\n eventKey = props.eventKey;\n\n var _store$getState = store.getState(),\n defaultActiveFirst = _store$getState.defaultActiveFirst;\n\n _this.isRootMenu = false;\n var value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n _this.state = {\n mode: props.mode,\n isOpen: props.isOpen\n };\n return _this;\n }\n\n _createClass(SubMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n var _this$props6 = this.props,\n mode = _this$props6.mode,\n parentMenu = _this$props6.parentMenu,\n manualRef = _this$props6.manualRef,\n isOpen = _this$props6.isOpen;\n\n var updateState = function updateState() {\n _this2.setState({\n mode: mode,\n isOpen: isOpen\n });\n }; // Delay sync when mode changed in case openKeys change not sync\n\n\n var isOpenChanged = isOpen !== this.state.isOpen;\n var isModeChanged = mode !== this.state.mode;\n\n if (isModeChanged || isOpenChanged) {\n raf.cancel(this.updateStateRaf);\n\n if (isModeChanged) {\n this.updateStateRaf = raf(updateState);\n } else {\n updateState();\n }\n } // invoke customized ref to expose component to mixin\n\n\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !(parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.isRootMenu) || !isOpen) {\n return;\n }\n\n this.minWidthTimeout = setTimeout(function () {\n return _this2.adjustWidth();\n }, 0);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$props7 = this.props,\n onDestroy = _this$props7.onDestroy,\n eventKey = _this$props7.eventKey;\n\n if (onDestroy) {\n onDestroy(eventKey);\n }\n /* istanbul ignore if */\n\n\n if (this.minWidthTimeout) {\n clearTimeout(this.minWidthTimeout);\n }\n /* istanbul ignore if */\n\n\n if (this.mouseenterTimeout) {\n clearTimeout(this.mouseenterTimeout);\n }\n\n raf.cancel(this.updateStateRaf);\n }\n }, {\n key: \"renderPopupMenu\",\n value: function renderPopupMenu(className, style) {\n var baseProps = this.getBaseProps();\n /**\n * zombiej: Why SubPopupMenu here?\n * Seems whatever popup or inline mode both will render SubPopupMenu.\n * It's controlled by Trigger for popup or not.\n */\n\n return React.createElement(SubPopupMenu, Object.assign({}, baseProps, {\n id: this.internalMenuId,\n className: className,\n style: style\n }), this.props.children);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this3 = this;\n\n var baseProps = this.getBaseProps();\n var mode = baseProps.mode,\n visible = baseProps.visible,\n forceSubMenuRender = baseProps.forceSubMenuRender,\n direction = baseProps.direction; // [Legacy] getMotion must be called before `haveRendered`\n\n var mergedMotion = this.getMotion(mode, visible);\n this.haveRendered = true;\n this.haveOpened = this.haveOpened || visible || forceSubMenuRender; // never rendered not planning to, don't render\n\n if (!this.haveOpened) {\n return React.createElement(\"div\", null);\n }\n\n var sharedClassName = classNames(\"\".concat(baseProps.prefixCls, \"-sub\"), _defineProperty({}, \"\".concat(baseProps.prefixCls, \"-rtl\"), direction === 'rtl'));\n\n if (!this.isInlineMode()) {\n return this.renderPopupMenu(sharedClassName);\n }\n\n return React.createElement(CSSMotion, Object.assign({\n visible: baseProps.visible\n }, mergedMotion), function (_ref) {\n var className = _ref.className,\n style = _ref.style;\n var mergedClassName = classNames(sharedClassName, className);\n return _this3.renderPopupMenu(mergedClassName, style);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames2, _props$parentMenu, _classNames3;\n\n var props = _objectSpread({}, this.props);\n\n var visible = this.getVisible();\n var prefixCls = this.getPrefixCls();\n var inline = this.isInlineMode();\n var mergedMode = this.getMode();\n var className = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(mergedMode), (_classNames2 = {}, _defineProperty(_classNames2, props.className, !!props.className), _defineProperty(_classNames2, this.getOpenClassName(), visible), _defineProperty(_classNames2, this.getActiveClassName(), props.active || visible && !inline), _defineProperty(_classNames2, this.getDisabledClassName(), props.disabled), _defineProperty(_classNames2, this.getSelectedClassName(), this.isChildrenSelected()), _classNames2));\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = \"\".concat(props.eventKey, \"$Menu\");\n } else {\n guid += 1;\n this.internalMenuId = \"$__$\".concat(guid, \"$Menu\");\n }\n }\n\n var mouseEvents = {};\n var titleClickEvents = {};\n var titleMouseEvents = {};\n\n if (!props.disabled) {\n mouseEvents = {\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter\n }; // only works in title, not outer li\n\n titleClickEvents = {\n onClick: this.onTitleClick\n };\n titleMouseEvents = {\n onMouseEnter: this.onTitleMouseEnter,\n onMouseLeave: this.onTitleMouseLeave\n };\n }\n\n var style = {};\n var direction = props.direction;\n var isRTL = direction === 'rtl';\n\n if (inline) {\n if (isRTL) {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n var ariaOwns = {}; // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n\n if (this.getVisible()) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId\n };\n } // expand custom icon should NOT be displayed in menu with horizontal mode.\n\n\n var icon = null;\n\n if (mergedMode !== 'horizontal') {\n icon = this.props.expandIcon; // ReactNode\n\n if (typeof this.props.expandIcon === 'function') {\n icon = React.createElement(this.props.expandIcon, _objectSpread({}, this.props));\n }\n }\n\n var title = React.createElement(\"div\", Object.assign({\n ref: this.saveSubMenuTitle,\n style: style,\n className: \"\".concat(prefixCls, \"-title\"),\n role: \"button\"\n }, titleMouseEvents, titleClickEvents, {\n \"aria-expanded\": visible\n }, ariaOwns, {\n \"aria-haspopup\": \"true\",\n title: typeof props.title === 'string' ? props.title : undefined\n }), props.title, icon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }));\n var children = this.renderChildren();\n var getPopupContainer = ((_props$parentMenu = props.parentMenu) === null || _props$parentMenu === void 0 ? void 0 : _props$parentMenu.isRootMenu) ? props.parentMenu.props.getPopupContainer : function (triggerNode) {\n return triggerNode.parentNode;\n };\n var popupPlacement = popupPlacementMap[mergedMode];\n var popupAlign = props.popupOffset ? {\n offset: props.popupOffset\n } : {};\n var popupClassName = classNames((_classNames3 = {}, _defineProperty(_classNames3, props.popupClassName, props.popupClassName && !inline), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-rtl\"), isRTL), _classNames3));\n var disabled = props.disabled,\n triggerSubMenuAction = props.triggerSubMenuAction,\n subMenuOpenDelay = props.subMenuOpenDelay,\n forceSubMenuRender = props.forceSubMenuRender,\n subMenuCloseDelay = props.subMenuCloseDelay,\n builtinPlacements = props.builtinPlacements;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n var placement = isRTL ? Object.assign({}, placementsRtl, builtinPlacements) : Object.assign({}, placements, builtinPlacements);\n delete props.direction; // [Legacy] It's a fast fix,\n // but we should check if we can refactor this to make code more easy to understand\n\n var baseProps = this.getBaseProps();\n var mergedMotion = inline ? null : this.getMotion(baseProps.mode, baseProps.visible);\n return React.createElement(\"li\", Object.assign({}, props, mouseEvents, {\n className: className,\n role: \"menuitem\"\n }), React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), popupClassName),\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: inline ? false : visible,\n popupAlign: popupAlign,\n popup: inline ? null : children,\n action: disabled || inline ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: this.onPopupVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion\n }, title), inline ? children : null);\n }\n }]);\n\n return SubMenu;\n}(React.Component);\nSubMenu.defaultProps = {\n onMouseEnter: noop,\n onMouseLeave: noop,\n onTitleMouseEnter: noop,\n onTitleMouseLeave: noop,\n onTitleClick: noop,\n manualRef: noop,\n mode: 'vertical',\n title: ''\n};\nvar connected = connect(function (_ref2, _ref3) {\n var openKeys = _ref2.openKeys,\n activeKey = _ref2.activeKey,\n selectedKeys = _ref2.selectedKeys;\n var eventKey = _ref3.eventKey,\n subMenuKey = _ref3.subMenuKey;\n return {\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys: selectedKeys\n };\n})(SubMenu);\nconnected.isSubMenu = true;\nexport default connected;","import \"core-js/modules/es.array.reduce.js\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\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 * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport { getWidth, setStyle, menuAllProps } from './util';\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\nvar DOMWrap = /*#__PURE__*/function (_React$Component) {\n _inherits(DOMWrap, _React$Component);\n\n var _super = _createSuper(DOMWrap);\n\n function DOMWrap() {\n var _this;\n\n _classCallCheck(this, DOMWrap);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.mutationObserver = null; // original scroll size of the list\n\n _this.originalTotalWidth = 0; // copy of overflowed items\n\n _this.overflowedItems = []; // cache item of the original items (so we can track the size and order)\n\n _this.menuItemSizes = [];\n _this.cancelFrameId = null;\n _this.state = {\n lastVisibleIndex: undefined\n }; // get all valid menuItem nodes\n\n _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return [];\n } // filter out all overflowed indicator placeholder\n\n\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(\"\".concat(prefixCls, \"-overflowed-submenu\")) < 0;\n });\n };\n\n _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n } // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n\n\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n propStyle = _copy$props.style,\n rest = _objectWithoutProperties(_copy$props, [\"children\", \"title\", \"style\"]);\n\n var style = _objectSpread({}, propStyle);\n\n var key = \"\".concat(keyPrefix, \"-overflowed-indicator\");\n var eventKey = \"\".concat(keyPrefix, \"-overflowed-indicator\");\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = \"\".concat(key, \"-placeholder\");\n eventKey = \"\".concat(eventKey, \"-placeholder\");\n }\n\n var popupClassName = theme ? \"\".concat(prefixCls, \"-\").concat(theme) : '';\n var props = {};\n menuAllProps.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n return React.createElement(SubMenu, Object.assign({\n title: overflowedIndicator,\n className: \"\".concat(prefixCls, \"-overflowed-submenu\"),\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: eventKey,\n disabled: false,\n style: style\n }), overflowedItems);\n }; // memorize rendered menuSize\n\n\n _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1]; // need last overflowed indicator for calculating length;\n\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes(); // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'inline-block');\n });\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c, true);\n });\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1], true);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n\n _this.handleResize(); // prevent the overflowed indicator from taking space;\n\n\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n };\n\n _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return;\n }\n\n var width = getWidth(ul);\n _this.overflowedItems = [];\n var currentSumWidth = 0; // index for last visible child in horizontal mode\n\n var lastVisibleIndex; // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n _this.setState({\n lastVisibleIndex: lastVisibleIndex\n });\n };\n\n return _this;\n }\n\n _createClass(DOMWrap, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = ReactDOM.findDOMNode(this);\n\n if (!menuUl) {\n return;\n }\n\n this.resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(function () {\n var cancelFrameId = _this2.cancelFrameId;\n cancelAnimationFrame(cancelFrameId);\n _this2.cancelFrameId = requestAnimationFrame(_this2.setChildrenWidthAndResize);\n });\n });\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n\n cancelAnimationFrame(this.cancelFrameId);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren(children) {\n var _this3 = this; // need to take care of overflowed items in horizontal mode\n\n\n var lastVisibleIndex = this.state.lastVisibleIndex;\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(\"\".concat(_this3.props.prefixCls, \"-root\")) !== -1) {\n if (index > lastVisibleIndex) {\n item = React.cloneElement(childNode, // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: {\n display: 'none'\n },\n eventKey: \"\".concat(childNode.props.eventKey, \"-hidden\"),\n\n /**\n * Legacy code. Here `className` never used:\n * https://github.com/react-component/menu/commit/4cd6b49fce9d116726f4ea00dda85325d6f26500#diff-e2fa48f75c2dd2318295cde428556a76R240\n */\n className: \"\".concat(MENUITEM_OVERFLOWED_CLASSNAME)\n });\n }\n\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return React.cloneElement(c, // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: c.props.eventKey,\n mode: 'vertical-left'\n });\n });\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(_toConsumableArray(acc), [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n\n return ret;\n }\n\n return [].concat(_toConsumableArray(acc), [item]);\n }, []);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n visible = _this$props2.visible,\n prefixCls = _this$props2.prefixCls,\n overflowedIndicator = _this$props2.overflowedIndicator,\n mode = _this$props2.mode,\n level = _this$props2.level,\n tag = _this$props2.tag,\n children = _this$props2.children,\n theme = _this$props2.theme,\n rest = _objectWithoutProperties(_this$props2, [\"visible\", \"prefixCls\", \"overflowedIndicator\", \"mode\", \"level\", \"tag\", \"children\", \"theme\"]);\n\n var Tag = tag;\n return React.createElement(Tag, Object.assign({}, rest), this.renderChildren(children));\n }\n }]);\n\n return DOMWrap;\n}(React.Component);\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\nexport default DOMWrap;","import _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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { connect } from 'mini-store';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport createChainedFunction from \"rc-util/es/createChainedFunction\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport shallowEqual from 'shallowequal';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, menuAllProps, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n\n return arr.every(function (c) {\n return !!c.props.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n var state = store.getState();\n store.setState({\n activeKey: _objectSpread(_objectSpread({}, state.activeKey), {}, _defineProperty({}, menuId, activeKey))\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function getActiveKey(props, originalActiveKey) {\n var activeKey = originalActiveKey;\n var children = props.children,\n eventKey = props.eventKey;\n\n if (activeKey) {\n var found;\n loopMenuItem(children, function (c, i) {\n if (c && c.props && !c.props.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n\n if (found) {\n return activeKey;\n }\n }\n\n activeKey = null;\n\n if (props.defaultActiveFirst) {\n loopMenuItem(children, function (c, i) {\n if (!activeKey && c && !c.props.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n\n return activeKey;\n}\nexport function saveRef(c) {\n if (c) {\n var index = this.instanceArray.indexOf(c);\n\n if (index !== -1) {\n // update component if it's already inside instanceArray\n this.instanceArray[index] = c;\n } else {\n // add component if it's not in instanceArray yet;\n this.instanceArray.push(c);\n }\n }\n}\nexport var SubPopupMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubPopupMenu, _React$Component);\n\n var _super = _createSuper(SubPopupMenu);\n\n function SubPopupMenu(props) {\n var _this;\n\n _classCallCheck(this, SubPopupMenu);\n\n _this = _super.call(this, props);\n /**\n * all keyboard events callbacks run from here at first\n *\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n _this.onKeyDown = function (e, callback) {\n var keyCode = e.keyCode;\n var handled;\n\n _this.getFlatInstanceArray().forEach(function (obj) {\n if (obj && obj.props.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n\n if (handled) {\n return 1;\n }\n\n var activeItem = null;\n\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = _this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(_this.props.store, getEventKey(_this.props), activeItem.props.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n\n return undefined;\n };\n\n _this.onItemHover = function (e) {\n var key = e.key,\n hover = e.hover;\n updateActiveKey(_this.props.store, getEventKey(_this.props), hover ? key : null);\n };\n\n _this.onDeselect = function (selectInfo) {\n _this.props.onDeselect(selectInfo);\n };\n\n _this.onSelect = function (selectInfo) {\n _this.props.onSelect(selectInfo);\n };\n\n _this.onClick = function (e) {\n _this.props.onClick(e);\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onDestroy = function (key) {\n /* istanbul ignore next */\n _this.props.onDestroy(key);\n };\n\n _this.getFlatInstanceArray = function () {\n return _this.instanceArray;\n };\n\n _this.step = function (direction) {\n var children = _this.getFlatInstanceArray();\n\n var activeKey = _this.props.store.getState().activeKey[getEventKey(_this.props)];\n\n var len = children.length;\n\n if (!len) {\n return null;\n }\n\n if (direction < 0) {\n children = children.concat().reverse();\n } // find current activeIndex\n\n\n var activeIndex = -1;\n children.every(function (c, ci) {\n if (c && c.props.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n\n return true;\n });\n\n if (!_this.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {\n return undefined;\n }\n\n var start = (activeIndex + 1) % len;\n var i = start;\n\n do {\n var child = children[i];\n\n if (!child || child.props.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n };\n\n _this.renderCommonMenuItem = function (child, i, extraProps) {\n var state = _this.props.store.getState();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n var key = getKeyFromChildrenIndex(child, props.eventKey, i);\n var childProps = child.props; // https://github.com/ant-design/ant-design/issues/11517#issuecomment-477403055\n\n if (!childProps || typeof child.type === 'string') {\n return child;\n }\n\n var isActive = key === state.activeKey;\n\n var newChildProps = _objectSpread(_objectSpread({\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: _this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? undefined : createChainedFunction(child.ref, saveRef.bind(_assertThisInitialized(_this))),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n onClick: function onClick(e) {\n (childProps.onClick || noop)(e);\n\n _this.onClick(e);\n },\n onItemHover: _this.onItemHover,\n motion: props.motion,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n onOpenChange: _this.onOpenChange,\n onDeselect: _this.onDeselect,\n onSelect: _this.onSelect,\n builtinPlacements: props.builtinPlacements,\n itemIcon: childProps.itemIcon || _this.props.itemIcon,\n expandIcon: childProps.expandIcon || _this.props.expandIcon\n }, extraProps), {}, {\n direction: props.direction\n }); // ref: https://github.com/ant-design/ant-design/issues/13943\n\n\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.triggerSubMenuAction = 'click';\n }\n\n return React.cloneElement(child, _objectSpread(_objectSpread({}, newChildProps), {}, {\n key: key || i\n }));\n };\n\n _this.renderMenuItem = function (c, i, subMenuKey) {\n /* istanbul ignore if */\n if (!c) {\n return null;\n }\n\n var state = _this.props.store.getState();\n\n var extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: _this.props.triggerSubMenuAction,\n subMenuKey: subMenuKey\n };\n return _this.renderCommonMenuItem(c, i, extraProps);\n };\n\n props.store.setState({\n activeKey: _objectSpread(_objectSpread({}, props.store.getState().activeKey), {}, _defineProperty({}, props.eventKey, getActiveKey(props, props.activeKey)))\n });\n _this.instanceArray = [];\n return _this;\n }\n\n _createClass(SubPopupMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return this.props.visible || nextProps.visible || this.props.className !== nextProps.className || !shallowEqual(this.props.style, nextProps.style);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n var activeKey = getActiveKey(props, originalActiveKey);\n\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n var prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props);\n\n this.instanceArray = [];\n var className = classNames(props.prefixCls, props.className, \"\".concat(props.prefixCls, \"-\").concat(props.mode));\n var domProps = {\n className: className,\n // role could be 'select' and by default set to menu\n role: props.role || 'menu'\n };\n\n if (props.id) {\n domProps.id = props.id;\n }\n\n if (props.focusable) {\n domProps.tabIndex = 0;\n domProps.onKeyDown = this.onKeyDown;\n }\n\n var prefixCls = props.prefixCls,\n eventKey = props.eventKey,\n visible = props.visible,\n level = props.level,\n mode = props.mode,\n overflowedIndicator = props.overflowedIndicator,\n theme = props.theme;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Otherwise, the propagated click event will trigger another onClick\n\n delete props.onClick;\n return React.createElement(DOMWrap, Object.assign({}, props, {\n prefixCls: prefixCls,\n mode: mode,\n tag: \"ul\",\n level: level,\n theme: theme,\n visible: visible,\n overflowedIndicator: overflowedIndicator\n }, domProps), toArray(props.children).map(function (c, i) {\n return _this2.renderMenuItem(c, i, eventKey || '0-menu-');\n }));\n }\n }]);\n\n return SubPopupMenu;\n}(React.Component);\nSubPopupMenu.defaultProps = {\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n style: {},\n manualRef: noop\n};\nvar connected = connect()(SubPopupMenu);\nexport default connected;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nexport function getMotion(_ref, _ref2, menuMode) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n _ref$defaultMotions = _ref.defaultMotions,\n defaultMotions = _ref$defaultMotions === void 0 ? {} : _ref$defaultMotions,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName;\n var switchingModeFromInline = _ref2.switchingModeFromInline;\n\n if (motion) {\n return motion;\n }\n\n if (_typeof(openAnimation) === 'object' && openAnimation) {\n warning(false, 'Object type of `openAnimation` is removed. Please use `motion` instead.');\n } else if (typeof openAnimation === 'string') {\n return {\n motionName: \"\".concat(prefixCls, \"-open-\").concat(openAnimation)\n };\n }\n\n if (openTransitionName) {\n return {\n motionName: openTransitionName\n };\n } // Default logic\n\n\n var defaultMotion = defaultMotions[menuMode];\n\n if (defaultMotion) {\n return defaultMotion;\n } // When mode switch from inline\n // submenu should hide without animation\n\n\n return switchingModeFromInline ? null : defaultMotions.other;\n}","import _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 * as React from 'react';\nimport { Provider, create } from 'mini-store';\nimport omit from 'omit.js';\nimport SubPopupMenu, { getActiveKey } from './SubPopupMenu';\nimport { noop } from './util';\nimport { getMotion } from './utils/legacyUtil';\n\nvar Menu = /*#__PURE__*/function (_React$Component) {\n _inherits(Menu, _React$Component);\n\n var _super = _createSuper(Menu);\n\n function Menu(props) {\n var _this;\n\n _classCallCheck(this, Menu);\n\n _this = _super.call(this, props);\n\n _this.onSelect = function (selectInfo) {\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n if (props.selectable) {\n // root menu\n var _this$store$getState = _this.store.getState(),\n _selectedKeys = _this$store$getState.selectedKeys;\n\n var selectedKey = selectInfo.key;\n\n if (props.multiple) {\n _selectedKeys = _selectedKeys.concat([selectedKey]);\n } else {\n _selectedKeys = [selectedKey];\n }\n\n if (!('selectedKeys' in props)) {\n _this.store.setState({\n selectedKeys: _selectedKeys\n });\n }\n\n props.onSelect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n selectedKeys: _selectedKeys\n }));\n }\n };\n\n _this.onClick = function (e) {\n var mode = _this.getRealMenuMode();\n\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n store = _assertThisInitialize2.store,\n onOpenChange = _assertThisInitialize2.props.onOpenChange;\n\n if (mode !== 'inline' && !('openKeys' in _this.props)) {\n // closing vertical popup submenu after click it\n store.setState({\n openKeys: []\n });\n onOpenChange([]);\n }\n\n _this.props.onClick(e);\n }; // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n _this.onKeyDown = function (e, callback) {\n _this.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n _this.onOpenChange = function (event) {\n var _assertThisInitialize3 = _assertThisInitialized(_this),\n props = _assertThisInitialize3.props;\n\n var openKeys = _this.store.getState().openKeys.concat();\n\n var changed = false;\n\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n\n changed = changed || oneChanged;\n };\n\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n\n if (changed) {\n if (!('openKeys' in _this.props)) {\n _this.store.setState({\n openKeys: openKeys\n });\n }\n\n props.onOpenChange(openKeys);\n }\n };\n\n _this.onDeselect = function (selectInfo) {\n var _assertThisInitialize4 = _assertThisInitialized(_this),\n props = _assertThisInitialize4.props;\n\n if (props.selectable) {\n var _selectedKeys2 = _this.store.getState().selectedKeys.concat();\n\n var selectedKey = selectInfo.key;\n\n var index = _selectedKeys2.indexOf(selectedKey);\n\n if (index !== -1) {\n _selectedKeys2.splice(index, 1);\n }\n\n if (!('selectedKeys' in props)) {\n _this.store.setState({\n selectedKeys: _selectedKeys2\n });\n }\n\n props.onDeselect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n selectedKeys: _selectedKeys2\n }));\n }\n }; // Restore vertical mode when menu is collapsed responsively when mounted\n // https://github.com/ant-design/ant-design/issues/13104\n // TODO: not a perfect solution,\n // looking a new way to avoid setting switchingModeFromInline in this situation\n\n\n _this.onMouseEnter = function (e) {\n _this.restoreModeVerticalFromInline();\n\n var onMouseEnter = _this.props.onMouseEnter;\n\n if (onMouseEnter) {\n onMouseEnter(e);\n }\n };\n\n _this.onTransitionEnd = function (e) {\n // when inlineCollapsed menu width animation finished\n // https://github.com/ant-design/ant-design/issues/12864\n var widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget; // Fix SVGElement e.target.className.indexOf is not a function\n // https://github.com/ant-design/ant-design/issues/15699\n\n var className = e.target.className; // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal,\n // unless during an animation.\n\n var classNameValue = Object.prototype.toString.call(className) === '[object SVGAnimatedString]' ? className.animVal : className; // Fix for ,\n // the width transition won't trigger when menu is collapsed\n // https://github.com/ant-design/ant-design-pro/issues/2783\n\n var iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;\n\n if (widthCollapsed || iconScaled) {\n _this.restoreModeVerticalFromInline();\n }\n };\n\n _this.setInnerMenu = function (node) {\n _this.innerMenu = node;\n };\n\n _this.isRootMenu = true;\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = create({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: {\n '0-menu-': getActiveKey(props, props.activeKey)\n }\n });\n _this.state = {\n switchingModeFromInline: false,\n prevProps: props,\n inlineOpenKeys: [],\n store: _this.store\n };\n return _this;\n }\n\n _createClass(Menu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateMiniStore();\n this.updateMenuDisplay();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n siderCollapsed = _this$props.siderCollapsed,\n inlineCollapsed = _this$props.inlineCollapsed,\n onOpenChange = _this$props.onOpenChange;\n\n if (!prevProps.inlineCollapsed && inlineCollapsed || !prevProps.siderCollapsed && siderCollapsed) {\n onOpenChange([]);\n }\n\n this.updateMiniStore();\n this.updateMenuDisplay();\n }\n }, {\n key: \"updateMenuDisplay\",\n value: function updateMenuDisplay() {\n var collapsedWidth = this.props.collapsedWidth,\n store = this.store,\n prevOpenKeys = this.prevOpenKeys; // https://github.com/ant-design/ant-design/issues/8587\n\n var hideMenu = this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');\n\n if (hideMenu) {\n this.prevOpenKeys = store.getState().openKeys.concat();\n this.store.setState({\n openKeys: []\n });\n } else if (prevOpenKeys) {\n this.store.setState({\n openKeys: prevOpenKeys\n });\n this.prevOpenKeys = null;\n }\n }\n }, {\n key: \"getRealMenuMode\",\n value: function getRealMenuMode() {\n var mode = this.props.mode;\n var switchingModeFromInline = this.state.switchingModeFromInline;\n var inlineCollapsed = this.getInlineCollapsed();\n\n if (switchingModeFromInline && inlineCollapsed) {\n return 'inline';\n }\n\n return inlineCollapsed ? 'vertical' : mode;\n }\n }, {\n key: \"getInlineCollapsed\",\n value: function getInlineCollapsed() {\n var _this$props2 = this.props,\n inlineCollapsed = _this$props2.inlineCollapsed,\n siderCollapsed = _this$props2.siderCollapsed;\n\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n\n return inlineCollapsed;\n }\n }, {\n key: \"restoreModeVerticalFromInline\",\n value: function restoreModeVerticalFromInline() {\n var switchingModeFromInline = this.state.switchingModeFromInline;\n\n if (switchingModeFromInline) {\n this.setState({\n switchingModeFromInline: false\n });\n }\n }\n }, {\n key: \"updateMiniStore\",\n value: function updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var props = _objectSpread({}, omit(this.props, ['collapsedWidth', 'siderCollapsed', 'defaultMotions']));\n\n var mode = this.getRealMenuMode();\n props.className += \" \".concat(props.prefixCls, \"-root\");\n\n if (props.direction === 'rtl') {\n props.className += \" \".concat(props.prefixCls, \"-rtl\");\n }\n\n props = _objectSpread(_objectSpread({}, props), {}, {\n mode: mode,\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n onMouseEnter: this.onMouseEnter,\n onTransitionEnd: this.onTransitionEnd,\n parentMenu: this,\n motion: getMotion(this.props, this.state, mode)\n });\n delete props.openAnimation;\n delete props.openTransitionName;\n return React.createElement(Provider, {\n store: this.store\n }, React.createElement(SubPopupMenu, Object.assign({}, props, {\n ref: this.setInnerMenu\n }), this.props.children));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var prevProps = prevState.prevProps,\n store = prevState.store;\n var prevStoreState = store.getState();\n var newStoreState = {};\n var newState = {\n prevProps: nextProps\n };\n\n if (prevProps.mode === 'inline' && nextProps.mode !== 'inline') {\n newState.switchingModeFromInline = true;\n }\n\n if ('openKeys' in nextProps) {\n newStoreState.openKeys = nextProps.openKeys;\n } else {\n // [Legacy] Old code will return after `openKeys` changed.\n // Not sure the reason, we should keep this logic still.\n if (nextProps.inlineCollapsed && !prevProps.inlineCollapsed || nextProps.siderCollapsed && !prevProps.siderCollapsed) {\n newState.switchingModeFromInline = true;\n newState.inlineOpenKeys = prevStoreState.openKeys;\n newStoreState.openKeys = [];\n }\n\n if (!nextProps.inlineCollapsed && prevProps.inlineCollapsed || !nextProps.siderCollapsed && prevProps.siderCollapsed) {\n newStoreState.openKeys = prevState.inlineOpenKeys;\n newState.inlineOpenKeys = [];\n }\n }\n\n if (Object.keys(newStoreState).length) {\n store.setState(newStoreState);\n }\n\n return newState;\n }\n }]);\n\n return Menu;\n}(React.Component);\n\nMenu.defaultProps = {\n selectable: true,\n onClick: noop,\n onSelect: noop,\n onOpenChange: noop,\n onDeselect: noop,\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: React.createElement(\"span\", null, \"\\xB7\\xB7\\xB7\")\n};\nexport default Menu;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\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 * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { connect } from 'mini-store';\nimport { noop, menuAllProps } from './util';\nexport var MenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItem, _React$Component);\n\n var _super = _createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n _classCallCheck(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n\n if (keyCode === KeyCode.ENTER) {\n _this.onClick(e);\n\n return true;\n }\n\n return undefined;\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props = _this.props,\n eventKey = _this$props.eventKey,\n onItemHover = _this$props.onItemHover,\n onMouseLeave = _this$props.onMouseLeave;\n onItemHover({\n key: eventKey,\n hover: false\n });\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props2 = _this.props,\n eventKey = _this$props2.eventKey,\n onItemHover = _this$props2.onItemHover,\n onMouseEnter = _this$props2.onMouseEnter;\n onItemHover({\n key: eventKey,\n hover: true\n });\n onMouseEnter({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onClick = function (e) {\n var _this$props3 = _this.props,\n eventKey = _this$props3.eventKey,\n multiple = _this$props3.multiple,\n onClick = _this$props3.onClick,\n onSelect = _this$props3.onSelect,\n onDeselect = _this$props3.onDeselect,\n isSelected = _this$props3.isSelected;\n var info = {\n key: eventKey,\n keyPath: [eventKey],\n item: _assertThisInitialized(_this),\n domEvent: e\n };\n onClick(info);\n\n if (multiple) {\n if (isSelected) {\n onDeselect(info);\n } else {\n onSelect(info);\n }\n } else if (!isSelected) {\n onSelect(info);\n }\n };\n\n _this.saveNode = function (node) {\n _this.node = node;\n };\n\n return _this;\n }\n\n _createClass(MenuItem, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n this.callRef();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.callRef();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var props = this.props;\n\n if (props.onDestroy) {\n props.onDestroy(props.eventKey);\n }\n }\n }, {\n key: \"getPrefixCls\",\n value: function getPrefixCls() {\n return \"\".concat(this.props.rootPrefixCls, \"-item\");\n }\n }, {\n key: \"getActiveClassName\",\n value: function getActiveClassName() {\n return \"\".concat(this.getPrefixCls(), \"-active\");\n }\n }, {\n key: \"getSelectedClassName\",\n value: function getSelectedClassName() {\n return \"\".concat(this.getPrefixCls(), \"-selected\");\n }\n }, {\n key: \"getDisabledClassName\",\n value: function getDisabledClassName() {\n return \"\".concat(this.getPrefixCls(), \"-disabled\");\n }\n }, {\n key: \"callRef\",\n value: function callRef() {\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var props = _objectSpread({}, this.props);\n\n var className = classNames(this.getPrefixCls(), props.className, (_classNames = {}, _defineProperty(_classNames, this.getActiveClassName(), !props.disabled && props.active), _defineProperty(_classNames, this.getSelectedClassName(), props.isSelected), _defineProperty(_classNames, this.getDisabledClassName(), props.disabled), _classNames));\n\n var attrs = _objectSpread(_objectSpread({}, props.attribute), {}, {\n title: typeof props.title === 'string' ? props.title : undefined,\n className: className,\n // set to menuitem by default\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled\n });\n\n if (props.role === 'option') {\n // overwrite to option\n attrs = _objectSpread(_objectSpread({}, attrs), {}, {\n role: 'option',\n 'aria-selected': props.isSelected\n });\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside
  • element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n } // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n\n\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n\n var style = _objectSpread({}, props.style);\n\n if (props.mode === 'inline') {\n if (props.direction === 'rtl') {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n delete props.direction;\n var icon = this.props.itemIcon;\n\n if (typeof this.props.itemIcon === 'function') {\n // TODO: This is a bug which should fixed after TS refactor\n icon = React.createElement(this.props.itemIcon, this.props);\n }\n\n return React.createElement(\"li\", Object.assign({}, omit(props, ['onClick', 'onMouseEnter', 'onMouseLeave', 'onSelect']), attrs, mouseEvent, {\n style: style,\n ref: this.saveNode\n }), props.children, icon);\n }\n }]);\n\n return MenuItem;\n}(React.Component);\nMenuItem.isMenuItem = true;\nMenuItem.defaultProps = {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n manualRef: noop\n};\nvar connected = connect(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\nexport default connected;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _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';\nimport { menuAllProps } from './util';\n\nvar MenuItemGroup = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItemGroup, _React$Component);\n\n var _super = _createSuper(MenuItemGroup);\n\n function MenuItemGroup() {\n var _this;\n\n _classCallCheck(this, MenuItemGroup);\n\n _this = _super.apply(this, arguments);\n\n _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n return renderMenuItem(item, index, _this.props.subMenuKey);\n };\n\n return _this;\n }\n\n _createClass(MenuItemGroup, [{\n key: \"render\",\n value: function render() {\n var props = _extends({}, this.props);\n\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n var titleClassName = \"\".concat(rootPrefixCls, \"-item-group-title\");\n var listClassName = \"\".concat(rootPrefixCls, \"-item-group-list\");\n var title = props.title,\n children = props.children;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n delete props.direction;\n return React.createElement(\"li\", Object.assign({}, props, {\n className: \"\".concat(className, \" \").concat(rootPrefixCls, \"-item-group\")\n }), React.createElement(\"div\", {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n }, title), React.createElement(\"ul\", {\n className: listClassName\n }, React.Children.map(children, this.renderInnerMenuItem)));\n }\n }]);\n\n return MenuItemGroup;\n}(React.Component);\n\nMenuItemGroup.isMenuItemGroup = true;\nMenuItemGroup.defaultProps = {\n disabled: true\n};\nexport default MenuItemGroup;","import * as React from 'react';\n\nvar Divider = function Divider(_ref) {\n var className = _ref.className,\n rootPrefixCls = _ref.rootPrefixCls,\n style = _ref.style;\n return React.createElement(\"li\", {\n className: \"\".concat(className, \" \").concat(rootPrefixCls, \"-item-divider\"),\n style: style\n });\n};\n\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\nexport default Divider;","import Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider };\nexport default Menu;","import { createContext } from 'react';\nvar MenuContext = /*#__PURE__*/createContext({\n inlineCollapsed: false\n});\nexport default MenuContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport { SubMenu as RcSubMenu } from 'rc-menu';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport MenuContext from './MenuContext';\nimport { isValidElement } from '../_util/reactNode';\n\nvar SubMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubMenu, _React$Component);\n\n var _super = _createSuper(SubMenu);\n\n function SubMenu() {\n _classCallCheck(this, SubMenu);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SubMenu, [{\n key: \"renderTitle\",\n value: function renderTitle(inlineCollapsed) {\n var _this$props = this.props,\n icon = _this$props.icon,\n title = _this$props.title,\n level = _this$props.level,\n rootPrefixCls = _this$props.rootPrefixCls;\n\n if (!icon) {\n return inlineCollapsed && level === 1 && title && typeof title === 'string' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(rootPrefixCls, \"-inline-collapsed-noicon\")\n }, title.charAt(0)) : title;\n } // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n\n\n var titleIsSpan = isValidElement(title) && title.type === 'span';\n return /*#__PURE__*/React.createElement(React.Fragment, null, icon, titleIsSpan ? title : /*#__PURE__*/React.createElement(\"span\", null, title));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var _this$props2 = this.props,\n rootPrefixCls = _this$props2.rootPrefixCls,\n popupClassName = _this$props2.popupClassName;\n return /*#__PURE__*/React.createElement(MenuContext.Consumer, null, function (_ref) {\n var inlineCollapsed = _ref.inlineCollapsed,\n antdMenuTheme = _ref.antdMenuTheme;\n return /*#__PURE__*/React.createElement(RcSubMenu, _extends({}, omit(_this.props, ['icon']), {\n title: _this.renderTitle(inlineCollapsed),\n popupClassName: classNames(rootPrefixCls, \"\".concat(rootPrefixCls, \"-\").concat(antdMenuTheme), popupClassName)\n }));\n });\n }\n }]);\n\n return SubMenu;\n}(React.Component);\n\nSubMenu.contextType = MenuContext; // fix issue:https://github.com/ant-design/ant-design/issues/8666\n\nSubMenu.isSubMenu = 1;\nexport default SubMenu;","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';\n\nvar Content = function Content(props) {\n var overlay = props.overlay,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle;\n return React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof overlay === 'function' ? overlay() : overlay);\n};\n\nexport default Content;","import Tooltip from './Tooltip';\nexport default Tooltip;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { useRef, useImperativeHandle, forwardRef } from 'react';\nimport Trigger from 'rc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\n\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 _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 restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\"]);\n\n var domRef = useRef(null);\n useImperativeHandle(ref, function () {\n return domRef.current;\n });\n\n var extraProps = _objectSpread({}, restProps);\n\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n\n var getPopupElement = function getPopupElement() {\n var _props$arrowContent = props.arrowContent,\n arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,\n overlay = props.overlay,\n id = props.id;\n return [React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\"),\n key: \"arrow\"\n }, arrowContent), React.createElement(Content, {\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlay: overlay,\n overlayInnerStyle: overlayInnerStyle\n })];\n };\n\n var destroyTooltip = false;\n var autoDestroy = false;\n\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\n return React.createElement(Trigger, Object.assign({\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 defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip,\n autoDestroy: autoDestroy,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps), children);\n};\n\nexport default forwardRef(Tooltip);","import _extends from \"@babel/runtime/helpers/extends\";\nimport { placements } from \"rc-tooltip/es/placements\";\nvar autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nvar autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nvar targetOffset = [0, 0];\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n\n return _extends(_extends({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\nexport default function getPlacements(config) {\n var _config$arrowWidth = config.arrowWidth,\n arrowWidth = _config$arrowWidth === void 0 ? 5 : _config$arrowWidth,\n _config$horizontalArr = config.horizontalArrowShift,\n horizontalArrowShift = _config$horizontalArr === void 0 ? 16 : _config$horizontalArr,\n _config$verticalArrow = config.verticalArrowShift,\n verticalArrowShift = _config$verticalArrow === void 0 ? 8 : _config$verticalArrow,\n autoAdjustOverflow = config.autoAdjustOverflow;\n var placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(function (key) {\n placementMap[key] = config.arrowPointAtCenter ? _extends(_extends({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset: targetOffset\n }) : _extends(_extends({}, placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}","import { tuple } from './type';\nexport var PresetStatusColorTypes = tuple('success', 'processing', 'error', 'default', 'warning'); // eslint-disable-next-line import/prefer-default-export\n\nexport var PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport RcTooltip from 'rc-tooltip';\nimport classNames from 'classnames';\nimport getPlacements from './placements';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport { ConfigContext } from '../config-provider';\nimport { PresetColorTypes } from '../_util/colors';\n\nvar splitObject = function splitObject(obj, keys) {\n var picked = {};\n\n var omitted = _extends({}, obj);\n\n keys.forEach(function (key) {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked: picked,\n omitted: omitted\n };\n};\n\nvar PresetColorRegex = new RegExp(\"^(\".concat(PresetColorTypes.join('|'), \")(-inverse)?$\")); // Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\n\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n var elementType = element.type;\n\n if ((elementType.__ANT_BUTTON === true || elementType.__ANT_SWITCH === true || elementType.__ANT_CHECKBOX === true || element.type === 'button') && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),\n picked = _splitObject.picked,\n omitted = _splitObject.omitted;\n\n var spanStyle = _extends(_extends({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : null\n });\n\n var buttonStyle = _extends(_extends({}, omitted), {\n pointerEvents: 'none'\n });\n\n var child = cloneElement(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: classNames(element.props.className, \"\".concat(prefixCls, \"-disabled-compatible-wrapper\"))\n }, child);\n }\n\n return element;\n}\n\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames2;\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = React.useState(!!props.visible || !!props.defaultVisible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n React.useEffect(function () {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n\n var isNoTitle = function isNoTitle() {\n var title = props.title,\n overlay = props.overlay;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n var onVisibleChange = function onVisibleChange(vis) {\n if (!('visible' in props)) {\n setVisible(isNoTitle() ? false : vis);\n }\n\n if (props.onVisibleChange && !isNoTitle()) {\n props.onVisibleChange(vis);\n }\n };\n\n var getTooltipPlacements = function getTooltipPlacements() {\n var builtinPlacements = props.builtinPlacements,\n arrowPointAtCenter = props.arrowPointAtCenter,\n autoAdjustOverflow = props.autoAdjustOverflow;\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: arrowPointAtCenter,\n autoAdjustOverflow: autoAdjustOverflow\n });\n }; // 动态设置动画点\n\n\n var onPopupAlign = function onPopupAlign(domNode, align) {\n var placements = getTooltipPlacements(); // 当前返回的位置\n\n var placement = Object.keys(placements).filter(function (key) {\n return placements[key].points[0] === align.points[0] && placements[key].points[1] === align.points[1];\n })[0];\n\n if (!placement) {\n return;\n } // 根据当前坐标设置动画点\n\n\n var rect = domNode.getBoundingClientRect();\n var transformOrigin = {\n top: '50%',\n left: '50%'\n };\n\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = \"\".concat(rect.height - align.offset[1], \"px\");\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = \"\".concat(-align.offset[1], \"px\");\n }\n\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = \"\".concat(rect.width - align.offset[0], \"px\");\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = \"\".concat(-align.offset[0], \"px\");\n }\n\n domNode.style.transformOrigin = \"\".concat(transformOrigin.left, \" \").concat(transformOrigin.top);\n };\n\n var getOverlay = function getOverlay() {\n var title = props.title,\n overlay = props.overlay;\n\n if (title === 0) {\n return title;\n }\n\n return overlay || title || '';\n };\n\n var customizePrefixCls = props.prefixCls,\n openClassName = props.openClassName,\n getPopupContainer = props.getPopupContainer,\n getTooltipContainer = props.getTooltipContainer,\n overlayClassName = props.overlayClassName,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle,\n children = props.children;\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var tempVisible = visible; // Hide tooltip when there is no title\n\n if (!('visible' in props) && isNoTitle()) {\n tempVisible = false;\n }\n\n var child = getDisabledCompatibleChildren(isValidElement(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n var childProps = child.props;\n var childCls = classNames(childProps.className, _defineProperty({}, openClassName || \"\".concat(prefixCls, \"-open\"), true));\n var customOverlayClassName = classNames(overlayClassName, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-\").concat(color), color && PresetColorRegex.test(color)), _classNames2));\n var formattedOverlayInnerStyle = overlayInnerStyle;\n var arrowContentStyle;\n\n if (color && !PresetColorRegex.test(color)) {\n formattedOverlayInnerStyle = _extends(_extends({}, overlayInnerStyle), {\n background: color\n });\n arrowContentStyle = {\n background: color\n };\n }\n\n return /*#__PURE__*/React.createElement(RcTooltip, _extends({}, props, {\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: ref,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempVisible,\n onVisibleChange: onVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-arrow-content\"),\n style: arrowContentStyle\n })\n }), tempVisible ? cloneElement(child, {\n className: childCls\n }) : child);\n});\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n placement: 'top',\n transitionName: 'zoom-big-fast',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n};\nexport default Tooltip;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { Item } from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport classNames from 'classnames';\nimport MenuContext from './MenuContext';\nimport Tooltip from '../tooltip';\nimport { SiderContext } from '../layout/Sider';\nimport { isValidElement, cloneElement } from '../_util/reactNode';\n\nvar MenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItem, _React$Component);\n\n var _super = _createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n _classCallCheck(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.renderItem = function (_ref) {\n var siderCollapsed = _ref.siderCollapsed;\n var _this$props = _this.props,\n level = _this$props.level,\n className = _this$props.className,\n children = _this$props.children,\n rootPrefixCls = _this$props.rootPrefixCls;\n\n var _a = _this.props,\n title = _a.title,\n icon = _a.icon,\n danger = _a.danger,\n rest = __rest(_a, [\"title\", \"icon\", \"danger\"]);\n\n return /*#__PURE__*/React.createElement(MenuContext.Consumer, null, function (_ref2) {\n var _classNames;\n\n var inlineCollapsed = _ref2.inlineCollapsed,\n direction = _ref2.direction;\n\n var _a;\n\n var tooltipTitle = title;\n\n if (typeof title === 'undefined') {\n tooltipTitle = level === 1 ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n\n var tooltipProps = {\n title: tooltipTitle\n };\n\n if (!siderCollapsed && !inlineCollapsed) {\n tooltipProps.title = null; // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n\n tooltipProps.visible = false;\n }\n\n var childrenLength = toArray(children).length;\n return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: \"\".concat(rootPrefixCls, \"-inline-collapsed-tooltip\")\n }), /*#__PURE__*/React.createElement(Item, _extends({}, rest, {\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-item-danger\"), danger), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-item-only-child\"), (icon ? childrenLength + 1 : childrenLength) === 1), _classNames), className),\n title: title\n }), cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', \"\".concat(rootPrefixCls, \"-item-icon\"))\n }), _this.renderItemChildren(inlineCollapsed)));\n });\n };\n\n return _this;\n }\n\n _createClass(MenuItem, [{\n key: \"renderItemChildren\",\n value: function renderItemChildren(inlineCollapsed) {\n var _this$props2 = this.props,\n icon = _this$props2.icon,\n children = _this$props2.children,\n level = _this$props2.level,\n rootPrefixCls = _this$props2.rootPrefixCls; // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n\n if (!icon || isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed && level === 1 && typeof children === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(rootPrefixCls, \"-inline-collapsed-noicon\")\n }, children.charAt(0));\n }\n\n return children;\n }\n\n return /*#__PURE__*/React.createElement(\"span\", null, children);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(SiderContext.Consumer, null, this.renderItem);\n }\n }]);\n\n return MenuItem;\n}(React.Component);\n\nexport { MenuItem as default };\nMenuItem.isMenuItem = true;","// ================== Collapse Motion ==================\nvar getCollapsedHeight = function getCollapsedHeight() {\n return {\n height: 0,\n opacity: 0\n };\n};\n\nvar getRealHeight = function getRealHeight(node) {\n return {\n height: node.scrollHeight,\n opacity: 1\n };\n};\n\nvar getCurrentHeight = function getCurrentHeight(node) {\n return {\n height: node.offsetHeight\n };\n};\n\nvar skipOpacityTransition = function skipOpacityTransition(_, event) {\n return event.propertyName === 'height';\n};\n\nvar collapseMotion = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n};\nexport default collapseMotion;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport RcMenu, { Divider, ItemGroup } from 'rc-menu';\nimport classNames from 'classnames';\nimport SubMenu from './SubMenu';\nimport Item from './MenuItem';\nimport { ConfigConsumer } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport { SiderContext } from '../layout/Sider';\nimport collapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\n\nvar InternalMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalMenu, _React$Component);\n\n var _super = _createSuper(InternalMenu);\n\n function InternalMenu(props) {\n var _this;\n\n _classCallCheck(this, InternalMenu);\n\n _this = _super.call(this, props);\n\n _this.renderMenu = function (_ref) {\n var getPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n className = _this$props.className,\n theme = _this$props.theme,\n expandIcon = _this$props.expandIcon;\n var defaultMotions = {\n horizontal: {\n motionName: 'slide-up'\n },\n inline: collapseMotion,\n other: {\n motionName: 'zoom-big'\n }\n };\n var prefixCls = getPrefixCls('menu', customizePrefixCls);\n var menuClassName = classNames(\"\".concat(prefixCls, \"-\").concat(theme), _defineProperty({}, \"\".concat(prefixCls, \"-inline-collapsed\"), _this.getInlineCollapsed()), className);\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: {\n inlineCollapsed: _this.getInlineCollapsed() || false,\n antdMenuTheme: theme,\n direction: direction\n }\n }, /*#__PURE__*/React.createElement(RcMenu, _extends({\n getPopupContainer: getPopupContainer\n }, _this.props, {\n className: menuClassName,\n prefixCls: prefixCls,\n direction: direction,\n defaultMotions: defaultMotions,\n expandIcon: cloneElement(expandIcon, {\n className: \"\".concat(prefixCls, \"-submenu-expand-icon\")\n })\n })));\n };\n\n devWarning(!('inlineCollapsed' in props && props.mode !== 'inline'), 'Menu', '`inlineCollapsed` should only be used when `mode` is inline.');\n devWarning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'Menu', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.');\n return _this;\n }\n\n _createClass(InternalMenu, [{\n key: \"getInlineCollapsed\",\n value: function getInlineCollapsed() {\n var _this$props2 = this.props,\n inlineCollapsed = _this$props2.inlineCollapsed,\n siderCollapsed = _this$props2.siderCollapsed;\n\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n\n return inlineCollapsed;\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderMenu);\n }\n }]);\n\n return InternalMenu;\n}(React.Component);\n\nInternalMenu.defaultProps = {\n className: '',\n theme: 'light',\n focusable: false\n}; // We should keep this as ref-able\n\nvar Menu = /*#__PURE__*/function (_React$Component2) {\n _inherits(Menu, _React$Component2);\n\n var _super2 = _createSuper(Menu);\n\n function Menu() {\n _classCallCheck(this, Menu);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(Menu, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/React.createElement(SiderContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalMenu, _extends({}, _this2.props, context));\n });\n }\n }]);\n\n return Menu;\n}(React.Component);\n\nexport { Menu as default };\nMenu.Divider = Divider;\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.ItemGroup = ItemGroup;","import React from 'react'\r\nimport {Link} from 'gatsby'\r\n\r\nconst MenuCompleto = ({english}) => {\r\n\r\n return (\r\n
      \r\n
    • \r\n {english? 'HOME' : 'Inicio'}\r\n
    • \r\n
    • \r\n {english? 'MASTER PLAN' : 'Plan maestro'} \r\n
    • \r\n
    • \r\n {english? 'PROJECTS' : 'Proyectos'} \r\n
    • \r\n
    • \r\n {english? 'LOCATION' : 'Ubicación'} \r\n
    • \r\n
    • \r\n {english? 'CONTACT' : 'Contacto'} \r\n
    • \r\n
    \r\n )\r\n}\r\n\r\nexport default MenuCompleto","// This icon file is generated automatically.\nvar MenuOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z\"\n }\n }]\n },\n \"name\": \"menu\",\n \"theme\": \"outlined\"\n};\nexport default MenuOutlined;","import \"core-js/modules/es.array.reduce.js\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { insertCss } from 'insert-css';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nvar cssInjectedFlag = false;\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n useEffect(function () {\n if (!cssInjectedFlag) {\n insertCss(styleStr, {\n prepend: true\n });\n cssInjectedFlag = true;\n }\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"]);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"]);\n\n var classString = classNames('anticon', _defineProperty({}, \"anticon-\".concat(icon.name), Boolean(icon.name)), {\n 'anticon-spin': !!spin || icon.name === 'loading'\n }, className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", Object.assign({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MenuOutlinedSvg from \"@ant-design/icons-svg/es/asn/MenuOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar MenuOutlined = function MenuOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: MenuOutlinedSvg\n }));\n};\n\nMenuOutlined.displayName = 'MenuOutlined';\nexport default /*#__PURE__*/React.forwardRef(MenuOutlined);","import React from 'react'\r\n\r\nimport { \r\n Dropdown,\r\n Menu,\r\n} from 'antd'\r\n\r\nimport { \r\n MenuOutlined,\r\n} from '@ant-design/icons'\r\nimport {Link} from 'gatsby'\r\n\r\nconst MenuResponsive = ({english}) => { \r\n const menu = (\r\n \r\n \r\n {english? 'Master plan' : 'Plan maestro'} \r\n \r\n \r\n {english? 'Projects' : 'Proyectos'} \r\n \r\n \r\n {english? 'Location' : 'Ubicación'}\r\n \r\n \r\n {english? 'Contact' : 'Contacto'} \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default MenuResponsive","// This icon file is generated automatically.\nvar CaretDownOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"0 0 1024 1024\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\"\n }\n }]\n },\n \"name\": \"caret-down\",\n \"theme\": \"outlined\"\n};\nexport default CaretDownOutlined;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\n\nCaretDownOutlined.displayName = 'CaretDownOutlined';\nexport default /*#__PURE__*/React.forwardRef(CaretDownOutlined);","import React, {useState} from 'react'\r\n\r\nimport '../../../styles/barra-navegacion.css'\r\nimport MenuCompleto from './MenuCompleto'\r\nimport MenuResponsive from './MenuResponsive'\r\n\r\nimport { \r\n Dropdown,\r\n Menu,\r\n} from 'antd'\r\n\r\nimport { \r\n CaretDownOutlined,\r\n} from '@ant-design/icons'\r\nimport {Link} from 'gatsby'\r\n\r\nconst NavBar = ({english}) => {\r\n\r\n const [idioma, setIdioma] = useState(english ? 'English' : 'Español')\r\n\r\n const goHome = e => {\r\n window.location = english ? '/en' : '/'\r\n }\r\n\r\n const menu = (\r\n \r\n \r\n setIdioma('Español')} \r\n href=\"/\"\r\n >Español\r\n \r\n \r\n setIdioma('English')} \r\n href=\"/en\"\r\n >English\r\n \r\n \r\n );\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n \r\n

    {idioma}

    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default NavBar","import React from 'react'\r\n\r\nimport {Link} from 'gatsby'\r\n\r\nconst MenuSecundario = ({english}) => {\r\n return (\r\n
      \r\n
    • \r\n {english? 'HOME' : 'Inicio'}\r\n
    • \r\n
    • \r\n {english? 'MASTER PLAN' : 'Plan maestro'} \r\n
    • \r\n
    • \r\n {english? 'PROJECTS' : 'Proyectos'} \r\n
    • \r\n
    • \r\n {english? 'LOCATION' : 'Ubicación'} \r\n
    • \r\n
    • \r\n {english? 'CONTACT' : 'Contacto'} \r\n
    • \r\n
    \r\n )\r\n}\r\n\r\nexport default MenuSecundario","import React from 'react'\r\n\r\nconst RedesSociales = () => {\r\n\r\n return (\r\n
    \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default RedesSociales","import React from 'react'\r\n\r\nconst RedesSociales = () => {\r\n let redes = [\r\n { imagen: '/images/banyan-tree.jpg', enlace: \"https://banyantree.gmd.mx/\"},\r\n { imagen: '/images/marina-cabo-marques.jpg', enlace: \"https://marinacabomarques.gmd.mx/\"},\r\n { imagen: '/images/los-riscos-cabo-marques.jpg', enlace: \"https://cabomarques.gmd.mx/proyectos/los-riscos/\"},\r\n { imagen: '/images/gmd-grupo-mexicano-de-desarrolllo.jpg', enlace: \"https://www.gmd.mx/\"},\r\n { imagen: '/images/gmd-resorts.jpg', enlace: \"https://www.gmd.mx/gmd-resorts.html\"},\r\n ] \r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n redes.map((red, index) => (\r\n \r\n \"\"\r\n \r\n ))\r\n } \r\n
    \r\n
    \r\n

    \r\n *Imágenes con fines ilustrativos, características pueden cambiar sin previo aviso.\r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default RedesSociales","import React from 'react'\r\n\r\nimport MenuSecundario from './MenuSecundario'\r\nimport RedesSociales from './RedesSociales'\r\nimport SitiosRelacionados from './SitiosRelacionados'\r\n\r\nimport '../../../styles/pie-pagina.css'\r\nimport { Row } from 'antd'\r\n\r\n/*import { UserOutlined } from '@ant-design/icons'*/\r\n\r\nconst PieDePagina = ({english}) => {\r\n return(\r\n
    \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default PieDePagina","import React from 'react'\r\n\r\nimport { Layout } from 'antd'\r\nimport NavBar from './navbar/NavBar'\r\nimport PieDePagina from './footer/PieDePagina'\r\nimport { AiOutlineWhatsApp } from \"react-icons/ai\";\r\n\r\nimport '../../styles/layout.css'\r\n\r\nconst Plantilla = ({children, english}) => {\r\n\r\n const { Header, Content, Footer} = Layout\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {children}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Plantilla","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import '../../style/index.css'; // style dependencies\n// deps-lint-skip: grid\n\nimport '../../grid/style/css';","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar EllipsisOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\"\n }\n }]\n },\n \"name\": \"ellipsis\",\n \"theme\": \"outlined\"\n};\nexports.default = EllipsisOutlined;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _twoTonePrimaryColor = require(\"./twoTonePrimaryColor\");\n\nvar _utils = require(\"../utils\"); // Initial setting\n// should move it to antd main repo?\n\n\n(0, _twoTonePrimaryColor.setTwoToneColor)('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = (0, _objectWithoutProperties2.default)(props, [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"]);\n var classString = (0, _classnames.default)('anticon', (0, _defineProperty2.default)({}, \"anticon-\".concat(icon.name), Boolean(icon.name)), {\n 'anticon-spin': !!spin || icon.name === 'loading'\n }, className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", Object.assign({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(_IconBase.default, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = _twoTonePrimaryColor.getTwoToneColor;\nIcon.setTwoToneColor = _twoTonePrimaryColor.setTwoToneColor;\nvar _default = Icon;\nexports.default = _default;","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\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}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import '../../style/index.css';\nimport './index.css';","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;","export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n}, {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}];","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function elem(conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export 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}","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar BarsOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"0 0 1024 1024\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z\"\n }\n }]\n },\n \"name\": \"bars\",\n \"theme\": \"outlined\"\n};\nexports.default = BarsOutlined;","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 containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2; // [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\n\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _BarsOutlined = _interopRequireDefault(require('./lib/icons/BarsOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _BarsOutlined;\nexports.default = _default;\nmodule.exports = _default;","'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 Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","import locale from '../locale/default';\nexport default locale;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport defaultLocaleData from './default';\nimport LocaleContext from './context';\n\nvar LocaleReceiver = /*#__PURE__*/function (_React$Component) {\n _inherits(LocaleReceiver, _React$Component);\n\n var _super = _createSuper(LocaleReceiver);\n\n function LocaleReceiver() {\n _classCallCheck(this, LocaleReceiver);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LocaleReceiver, [{\n key: \"getLocale\",\n value: function getLocale() {\n var _this$props = this.props,\n componentName = _this$props.componentName,\n defaultLocale = _this$props.defaultLocale;\n var locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n var antLocale = this.context;\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return _extends(_extends({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }\n }, {\n key: \"getLocaleCode\",\n value: function getLocaleCode() {\n var antLocale = this.context;\n var localeCode = antLocale && antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n\n return localeCode;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children(this.getLocale(), this.getLocaleCode(), this.context);\n }\n }]);\n\n return LocaleReceiver;\n}(React.Component);\n\nexport { LocaleReceiver as default };\nLocaleReceiver.defaultProps = {\n componentName: 'global'\n};\nLocaleReceiver.contextType = LocaleContext;\nexport function useLocaleReceiver(componentName, defaultLocale) {\n var antLocale = React.useContext(LocaleContext);\n var componentLocale = React.useMemo(function () {\n var locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return _extends(_extends({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [componentLocale];\n}","import { createContext } from 'react';\nvar LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\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\nmodule.exports = _unsupportedIterableToArray;","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages'\n};","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","var locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import _extends from \"@babel/runtime/helpers/extends\";\nimport CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US'; // Merge into a locale object\n\nvar locale = {\n lang: _extends({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: _extends({}, TimePickerLocale)\n}; // All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nimport Calendar from '../calendar/locale/en_US';\nvar typeTemplate = '${label} is not a valid ${type}';\nvar localeValues = {\n locale: 'en',\n Pagination: Pagination,\n DatePicker: DatePicker,\n TimePicker: TimePicker,\n Calendar: Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n }\n};\nexport default localeValues;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LoadingOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _LoadingOutlined.default\n }));\n};\n\nLoadingOutlined.displayName = 'LoadingOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(LoadingOutlined);\n\nexports.default = _default;","import \"core-js/modules/es.array.reduce.js\";\n\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 */\n\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\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 */\n\n\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n\n return false;\n });\n return result;\n }\n\n return (\n /** @class */\n function () {\n function class_1() {\n this.__entries__ = [];\n }\n\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n return class_1;\n }()\n );\n}();\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; // Returns global object of a current environment.\n\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n } // eslint-disable-next-line no-new-func\n\n\n return Function('return this')();\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 */\n\n\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}(); // Defines minimum timeout before adding a trailing call.\n\n\nvar trailingTimeout = 2;\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 */\n\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\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 */\n\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\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 */\n\n\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n\n\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n } // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n\n\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n} // Minimum delay before invoking the update of observers.\n\n\nvar REFRESH_DELAY = 20; // A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\n\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; // Check if MutationObserver is available.\n\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\n\nvar ResizeObserverController =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\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 */\n\n\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n } // Add listeners if they haven't been added yet.\n\n\n if (!this.connected_) {\n this.connect_();\n }\n };\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 */\n\n\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer); // Remove observer if it's present in registry.\n\n if (~index) {\n observers.splice(index, 1);\n } // Remove listeners if controller has no connected observers.\n\n\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\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 */\n\n\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_(); // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n\n if (changesDetected) {\n this.refresh();\n }\n };\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 */\n\n\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n }); // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n } // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n\n\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b; // Detect whether transition may affect dimensions of an element.\n\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\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 */\n\n\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\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 */\n\n\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local global object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || global$1;\n}; // Placeholder of an empty content rectangle.\n\n\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\n\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\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 */\n\n\nfunction getBordersSize(styles) {\n var positions = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\n\n\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\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 */\n\n\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\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 */\n\n\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight; // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom; // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n\n var width = toFloat(styles.width),\n height = toFloat(styles.height); // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n } // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n\n\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight; // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\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 */\n\n\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n } // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n\n\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\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 */\n\n\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\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 */\n\n\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\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 */\n\n\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height; // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype); // Rectangle's properties are not writable and non-enumerable.\n\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\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 */\n\n\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\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 */\n\n\nvar ResizeObservation =\n/** @class */\nfunction () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\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 */\n\n\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\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 */\n\n\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n\n return ResizeObservation;\n}();\n\nvar ResizeObserverEntry =\n/** @class */\nfunction () {\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 */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit); // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n\n return ResizeObserverEntry;\n}();\n\nvar ResizeObserverSPI =\n/** @class */\nfunction () {\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 */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\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 */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is already being observed.\n\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this); // Force the update of observations.\n\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is not being observed.\n\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\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 */\n\n\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\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 */\n\n\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_; // Create ResizeObserverEntry instance for every active observation.\n\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n\n return ResizeObserverSPI;\n}(); // Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\n\n\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\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 */\n\nvar ResizeObserver =\n/** @class */\nfunction () {\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 */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n\n return ResizeObserver;\n}(); // Expose public methods of ResizeObserver.\n\n\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\n\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n}();\n\nexport default index;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nimport { isMemo } from 'react-is';\nexport 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 * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _EllipsisOutlined = _interopRequireDefault(require('./lib/icons/EllipsisOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _EllipsisOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.note = note;\nexports.resetWarned = resetWarned;\nexports.call = call;\nexports.warningOnce = warningOnce;\nexports.noteOnce = noteOnce;\nexports.default = void 0;\n/* eslint-disable no-console */\n\nvar warned = {};\n\nfunction warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\n\nfunction note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\n\nfunction resetWarned() {\n warned = {};\n}\n\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nvar _default = warningOnce;\n/* eslint-enable */\n\nexports.default = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _RightOutlined = _interopRequireDefault(require('./lib/icons/RightOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _RightOutlined;\nexports.default = _default;\nmodule.exports = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _LoadingOutlined = _interopRequireDefault(require('./lib/icons/LoadingOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _LoadingOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _EllipsisOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/EllipsisOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _EllipsisOutlined.default\n }));\n};\n\nEllipsisOutlined.displayName = 'EllipsisOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(EllipsisOutlined);\n\nexports.default = _default;","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","module.exports = require(\"regenerator-runtime\");\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LoadingOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"0 0 1024 1024\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\"\n }\n }]\n },\n \"name\": \"loading\",\n \"theme\": \"outlined\"\n};\nexports.default = LoadingOutlined;","import devWarning, { resetWarned } from \"rc-util/es/warning\";\nexport { resetWarned };\nexport default (function (valid, component, message) {\n devWarning(valid, \"[antd: \".concat(component, \"] \").concat(message));\n});","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce.js\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.isIconDefinition = isIconDefinition;\nexports.normalizeAttrs = normalizeAttrs;\nexports.generate = generate;\nexports.getSecondaryColor = getSecondaryColor;\nexports.normalizeTwoToneColors = normalizeTwoToneColors;\nexports.useInsertStyles = exports.iconStyles = exports.svgBaseProps = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _colors = require(\"@ant-design/colors\");\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/warning\"));\n\nvar _insertCss = require(\"insert-css\");\n\nfunction warning(valid, message) {\n (0, _warning.default)(valid, \"[@ant-design/icons] \".concat(message));\n}\n\nfunction isIconDefinition(target) {\n return (0, _typeof2.default)(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && ((0, _typeof2.default)(target.icon) === 'object' || typeof target.icon === 'function');\n}\n\nfunction normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\n\nfunction generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)((0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\n\nfunction getSecondaryColor(primaryColor) {\n // choose the second color\n return (0, _colors.generate)(primaryColor)[0];\n}\n\nfunction normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\n\nvar svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexports.svgBaseProps = svgBaseProps;\nvar iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexports.iconStyles = iconStyles;\nvar cssInjectedFlag = false;\n\nvar useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n (0, _react.useEffect)(function () {\n if (!cssInjectedFlag) {\n (0, _insertCss.insertCss)(styleStr, {\n prepend: true\n });\n cssInjectedFlag = true;\n }\n }, []);\n};\n\nexports.useInsertStyles = useInsertStyles;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nexport default function wrapperRaf(callback) {\n return raf(callback);\n}\nwrapperRaf.cancel = caf;","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LeftOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\"\n }\n }]\n },\n \"name\": \"left\",\n \"theme\": \"outlined\"\n};\nexports.default = LeftOutlined;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _BarsOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/BarsOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar BarsOutlined = function BarsOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _BarsOutlined.default\n }));\n};\n\nBarsOutlined.displayName = 'BarsOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(BarsOutlined);\n\nexports.default = _default;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\n\nvar UnreachableException = function UnreachableException(value) {\n _classCallCheck(this, UnreachableException);\n\n return new Error(\"unreachable case: \".concat(JSON.stringify(value)));\n};\n\nexport { UnreachableException as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\nimport UnreachableException from '../_util/unreachableException';\n\nvar ButtonGroup = function ButtonGroup(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var customizePrefixCls = props.prefixCls,\n size = props.size,\n className = props.className,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n\n var prefixCls = getPrefixCls('btn-group', customizePrefixCls); // large => lg\n // small => sm\n\n var sizeCls = '';\n\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n\n case 'small':\n sizeCls = 'sm';\n break;\n\n case 'middle':\n case undefined:\n break;\n\n default:\n // eslint-disable-next-line no-console\n console.warn(new UnreachableException(size));\n }\n\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(sizeCls), sizeCls), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes\n }));\n });\n};\n\nexport default ButtonGroup;","import raf from \"rc-util/es/raf\";\nvar id = 0;\nvar ids = {}; // Support call raf with delay specified frame\n\nexport default function wrapperRaf(callback) {\n var delayFrames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var myId = id++;\n var restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n return myId;\n}\n\nwrapperRaf.cancel = function cancel(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\n\nwrapperRaf.ids = ids; // export this for test usage","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport { supportRef, composeRef } from \"rc-util/es/ref\";\nimport raf from './raf';\nimport { ConfigConsumer, ConfigContext } from '../config-provider';\nimport { cloneElement } from './reactNode';\nvar styleForPseudo; // Where el is the DOM element you'd like to test for visibility\n\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n\n return !element || element.offsetParent === null || element.hidden;\n}\n\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n var match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n\n return true;\n}\n\nvar Wave = /*#__PURE__*/function (_React$Component) {\n _inherits(Wave, _React$Component);\n\n var _super = _createSuper(Wave);\n\n function Wave() {\n var _this;\n\n _classCallCheck(this, Wave);\n\n _this = _super.apply(this, arguments);\n _this.containerRef = /*#__PURE__*/React.createRef();\n _this.animationStart = false;\n _this.destroyed = false;\n\n _this.onClick = function (node, waveColor) {\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n\n var insertExtraNode = _this.props.insertExtraNode;\n _this.extraNode = document.createElement('div');\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n extraNode = _assertThisInitialize.extraNode;\n\n var getPrefixCls = _this.context.getPrefixCls;\n extraNode.className = \"\".concat(getPrefixCls(''), \"-click-animating-node\");\n\n var attributeName = _this.getAttributeName();\n\n node.setAttribute(attributeName, 'true'); // Not white or transparent or grey\n\n styleForPseudo = styleForPseudo || document.createElement('style');\n\n if (waveColor && waveColor !== '#ffffff' && waveColor !== 'rgb(255, 255, 255)' && isNotGrey(waveColor) && !/rgba\\((?:\\d*, ){3}0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent') {\n // Add nonce if CSP exist\n if (_this.csp && _this.csp.nonce) {\n styleForPseudo.nonce = _this.csp.nonce;\n }\n\n extraNode.style.borderColor = waveColor;\n styleForPseudo.innerHTML = \"\\n [\".concat(getPrefixCls(''), \"-click-animating-without-extra-node='true']::after, .\").concat(getPrefixCls(''), \"-click-animating-node {\\n --antd-wave-shadow-color: \").concat(waveColor, \";\\n }\");\n\n if (!document.body.contains(styleForPseudo)) {\n document.body.appendChild(styleForPseudo);\n }\n }\n\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n\n ['transition', 'animation'].forEach(function (name) {\n node.addEventListener(\"\".concat(name, \"start\"), _this.onTransitionStart);\n node.addEventListener(\"\".concat(name, \"end\"), _this.onTransitionEnd);\n });\n };\n\n _this.onTransitionStart = function (e) {\n if (_this.destroyed) {\n return;\n }\n\n var node = _this.containerRef.current;\n\n if (!e || e.target !== node || _this.animationStart) {\n return;\n }\n\n _this.resetEffect(node);\n };\n\n _this.onTransitionEnd = function (e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n\n _this.resetEffect(e.target);\n };\n\n _this.bindAnimationEvent = function (node) {\n if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) {\n return;\n }\n\n var onClick = function onClick(e) {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n\n _this.resetEffect(node); // Get wave color from target\n\n\n var waveColor = getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') || getComputedStyle(node).getPropertyValue('background-color');\n _this.clickWaveTimeoutId = window.setTimeout(function () {\n return _this.onClick(node, waveColor);\n }, 0);\n raf.cancel(_this.animationStartId);\n _this.animationStart = true; // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n\n _this.animationStartId = raf(function () {\n _this.animationStart = false;\n }, 10);\n };\n\n node.addEventListener('click', onClick, true);\n return {\n cancel: function cancel() {\n node.removeEventListener('click', onClick, true);\n }\n };\n };\n\n _this.renderWave = function (_ref) {\n var csp = _ref.csp;\n var children = _this.props.children;\n _this.csp = csp;\n if (! /*#__PURE__*/React.isValidElement(children)) return children;\n var ref = _this.containerRef;\n\n if (supportRef(children)) {\n ref = composeRef(children.ref, _this.containerRef);\n }\n\n return cloneElement(children, {\n ref: ref\n });\n };\n\n return _this;\n }\n\n _createClass(Wave, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var node = this.containerRef.current;\n\n if (!node || node.nodeType !== 1) {\n return;\n }\n\n this.instance = this.bindAnimationEvent(node);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.instance) {\n this.instance.cancel();\n }\n\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n\n this.destroyed = true;\n }\n }, {\n key: \"getAttributeName\",\n value: function getAttributeName() {\n var getPrefixCls = this.context.getPrefixCls;\n var insertExtraNode = this.props.insertExtraNode;\n return insertExtraNode ? \"\".concat(getPrefixCls(''), \"-click-animating\") : \"\".concat(getPrefixCls(''), \"-click-animating-without-extra-node\");\n }\n }, {\n key: \"resetEffect\",\n value: function resetEffect(node) {\n var _this2 = this;\n\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n\n var insertExtraNode = this.props.insertExtraNode;\n var attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n\n if (styleForPseudo) {\n styleForPseudo.innerHTML = '';\n }\n\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n\n ['transition', 'animation'].forEach(function (name) {\n node.removeEventListener(\"\".concat(name, \"start\"), _this2.onTransitionStart);\n node.removeEventListener(\"\".concat(name, \"end\"), _this2.onTransitionEnd);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderWave);\n }\n }]);\n\n return Wave;\n}(React.Component);\n\nexport { Wave as default };\nWave.contextType = ConfigContext;","import React from 'react';\nimport CSSMotion from 'rc-motion';\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\n\nvar getCollapsedWidth = function getCollapsedWidth() {\n return {\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n };\n};\n\nvar getRealWidth = function getRealWidth(node) {\n return {\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n };\n};\n\nvar LoadingIcon = function LoadingIcon(_ref) {\n var prefixCls = _ref.prefixCls,\n loading = _ref.loading,\n existIcon = _ref.existIcon;\n var visible = !!loading;\n\n if (existIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-loading-icon\")\n }, /*#__PURE__*/React.createElement(LoadingOutlined, null));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible // We do not really use this motionName\n ,\n motionName: \"\".concat(prefixCls, \"-loading-icon-motion\"),\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, function (_ref2, ref) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-loading-icon\"),\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: className\n }));\n });\n};\n\nexport default LoadingIcon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\n\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport Group from './button-group';\nimport { ConfigContext } from '../config-provider';\nimport Wave from '../_util/wave';\nimport { tuple } from '../_util/type';\nimport devWarning from '../_util/devWarning';\nimport SizeContext from '../config-provider/SizeContext';\nimport LoadingIcon from './LoadingIcon';\nimport { cloneElement } from '../_util/reactNode';\nvar rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nvar isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\n\nfunction isString(str) {\n return typeof str === 'string';\n}\n\nfunction isUnborderedButtonType(type) {\n return type === 'text' || type === 'link';\n} // Insert one space between two chinese characters automatically.\n\n\nfunction insertSpace(child, needInserted) {\n // Check the child if is undefined or null.\n if (child == null) {\n return;\n }\n\n var SPACE = needInserted ? ' ' : ''; // strictNullChecks oops.\n\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n\n if (typeof child === 'string') {\n if (isTwoCNChar(child)) {\n child = child.split('').join(SPACE);\n }\n\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n\n return child;\n}\n\nfunction spaceChildren(children, needInserted) {\n var isPrevChildPure = false;\n var childList = [];\n React.Children.forEach(children, function (child) {\n var type = _typeof(child);\n\n var isCurrentChildPure = type === 'string' || type === 'number';\n\n if (isPrevChildPure && isCurrentChildPure) {\n var lastIndex = childList.length - 1;\n var lastChild = childList[lastIndex];\n childList[lastIndex] = \"\".concat(lastChild).concat(child);\n } else {\n childList.push(child);\n }\n\n isPrevChildPure = isCurrentChildPure;\n }); // Pass to React.Children.map to auto fill key\n\n return React.Children.map(childList, function (child) {\n return insertSpace(child, needInserted);\n });\n}\n\nvar ButtonTypes = tuple('default', 'primary', 'ghost', 'dashed', 'link', 'text');\nvar ButtonShapes = tuple('circle', 'round');\nvar ButtonHTMLTypes = tuple('submit', 'button', 'reset');\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n\n return {\n type: type\n };\n}\n\nvar InternalButton = function InternalButton(props, ref) {\n var _classNames;\n\n var _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n customizePrefixCls = props.prefixCls,\n type = props.type,\n danger = props.danger,\n shape = props.shape,\n customizeSize = props.size,\n className = props.className,\n children = props.children,\n icon = props.icon,\n _props$ghost = props.ghost,\n ghost = _props$ghost === void 0 ? false : _props$ghost,\n _props$block = props.block,\n block = _props$block === void 0 ? false : _props$block,\n _props$htmlType = props.htmlType,\n htmlType = _props$htmlType === void 0 ? 'button' : _props$htmlType,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"className\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\"]);\n\n var size = React.useContext(SizeContext);\n\n var _React$useState = React.useState(!!loading),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerLoading = _React$useState2[0],\n setLoading = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n hasTwoCNChar = _React$useState4[0],\n setHasTwoCNChar = _React$useState4[1];\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n autoInsertSpaceInButton = _React$useContext.autoInsertSpaceInButton,\n direction = _React$useContext.direction;\n\n var buttonRef = ref || /*#__PURE__*/React.createRef();\n var delayTimeoutRef = React.useRef();\n\n var isNeedInserted = function isNeedInserted() {\n return React.Children.count(children) === 1 && !icon && !isUnborderedButtonType(type);\n };\n\n var fixTwoCNChar = function fixTwoCNChar() {\n // Fix for HOC usage like \n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n\n var buttonText = buttonRef.current.textContent;\n\n if (isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }; // =============== Update Loading ===============\n\n\n var loadingOrDelay;\n\n if (_typeof(loading) === 'object' && loading.delay) {\n loadingOrDelay = loading.delay || true;\n } else {\n loadingOrDelay = !!loading;\n }\n\n React.useEffect(function () {\n clearTimeout(delayTimeoutRef.current);\n\n if (typeof loadingOrDelay === 'number') {\n delayTimeoutRef.current = window.setTimeout(function () {\n setLoading(loadingOrDelay);\n }, loadingOrDelay);\n } else {\n setLoading(loadingOrDelay);\n }\n }, [loadingOrDelay]);\n React.useEffect(fixTwoCNChar, [buttonRef]);\n\n var handleClick = function handleClick(e) {\n var onClick = props.onClick;\n\n if (innerLoading) {\n return;\n }\n\n if (onClick) {\n onClick(e);\n }\n };\n\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Button', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\"));\n devWarning(!(ghost && isUnborderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\");\n var prefixCls = getPrefixCls('btn', customizePrefixCls);\n var autoInsertSpace = autoInsertSpaceInButton !== false; // large => lg\n // small => sm\n\n var sizeCls = '';\n\n switch (customizeSize || size) {\n case 'large':\n sizeCls = 'lg';\n break;\n\n case 'small':\n sizeCls = 'sm';\n break;\n\n default:\n break;\n }\n\n var iconType = innerLoading ? 'loading' : icon;\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(type), type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(shape), shape), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(sizeCls), sizeCls), _defineProperty(_classNames, \"\".concat(prefixCls, \"-icon-only\"), !children && children !== 0 && iconType), _defineProperty(_classNames, \"\".concat(prefixCls, \"-background-ghost\"), ghost && !isUnborderedButtonType(type)), _defineProperty(_classNames, \"\".concat(prefixCls, \"-loading\"), innerLoading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-two-chinese-chars\"), hasTwoCNChar && autoInsertSpace), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dangerous\"), !!danger), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n var iconNode = icon && !innerLoading ? icon : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n var kids = children || children === 0 ? spaceChildren(children, isNeedInserted() && autoInsertSpace) : null;\n var linkButtonRestProps = omit(rest, ['navigate']);\n\n if (linkButtonRestProps.href !== undefined) {\n return /*#__PURE__*/React.createElement(\"a\", _extends({}, linkButtonRestProps, {\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids);\n }\n\n var buttonNode = /*#__PURE__*/React.createElement(\"button\", _extends({}, rest, {\n type: htmlType,\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids);\n\n if (isUnborderedButtonType(type)) {\n return buttonNode;\n }\n\n return /*#__PURE__*/React.createElement(Wave, null, buttonNode);\n};\n\nvar Button = /*#__PURE__*/React.forwardRef(InternalButton);\nButton.displayName = 'Button';\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;"],"sourceRoot":""}